UNPKG

pm2

Version:

Production process manager for Node.JS applications with a built-in load balancer.

44 lines (37 loc) 952 B
'use strict' const inspector = require('inspector') const Debug = require('debug') class InspectorService { constructor () { this.session = null this.logger = Debug('axm:services:inspector') } init () { this.logger('Creating new inspector session') this.session = new inspector.Session() this.session.connect() this.logger('Connected to inspector') this.session.post('Profiler.enable') this.session.post('HeapProfiler.enable') return this.session } getSession () { if (this.session === null) { this.session = this.init() return this.session } else { return this.session } } destroy () { if (this.session !== null) { this.session.post('Profiler.disable') this.session.post('HeapProfiler.disable') this.session.disconnect() this.session = null } else { this.logger('No open session') } } } module.exports = InspectorService