inspector.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. const inspector = require("inspector");
  4. const debug_1 = require("debug");
  5. class InspectorService {
  6. constructor() {
  7. this.session = null;
  8. this.logger = debug_1.default('axm:services:inspector');
  9. }
  10. init() {
  11. this.logger(`Creating new inspector session`);
  12. this.session = new inspector.Session();
  13. this.session.connect();
  14. this.logger('Connected to inspector');
  15. this.session.post('Profiler.enable');
  16. this.session.post('HeapProfiler.enable');
  17. return this.session;
  18. }
  19. getSession() {
  20. if (this.session === null) {
  21. this.session = this.init();
  22. return this.session;
  23. }
  24. else {
  25. return this.session;
  26. }
  27. }
  28. destroy() {
  29. if (this.session !== null) {
  30. this.session.post('Profiler.disable');
  31. this.session.post('HeapProfiler.disable');
  32. this.session.disconnect();
  33. this.session = null;
  34. }
  35. else {
  36. this.logger('No open session');
  37. }
  38. }
  39. }
  40. exports.InspectorService = InspectorService;
  41. module.exports = InspectorService;
  42. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2luc3BlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHVDQUFzQztBQUN0QyxpQ0FBeUI7QUFFekIsTUFBYSxnQkFBZ0I7SUFBN0I7UUFFVSxZQUFPLEdBQTZCLElBQUksQ0FBQTtRQUN4QyxXQUFNLEdBQWEsZUFBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7SUErQjVELENBQUM7SUE3QkMsSUFBSTtRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtRQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQTtRQUN4QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtTQUNwQjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUE7WUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtZQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFBO1lBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1NBQ3BCO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7U0FDL0I7SUFDSCxDQUFDO0NBQ0Y7QUFsQ0QsNENBa0NDO0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQSJ9