Current File : //lib/node_modules/pm2/node_modules/@pm2/io/build/main/src/features/entrypoint.js |
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const debug_1 = require("debug");
const pmx_1 = require("../pmx");
const debug = debug_1.default('PM2-IO-APM');
const IO_KEY = Symbol.for('@pm2/io');
class Entrypoint extends pmx_1.default {
constructor() {
super();
this.defaultConf = {
metrics: {
eventLoopActive: true,
eventLoopDelay: true,
network: {
traffic: false,
ports: false
},
transaction: {
http: true,
tracing: false
},
deepMetrics: false,
v8: false
},
actions: {
eventLoopDump: false,
profilingCpu: true,
profilingHeap: true
}
};
try {
this.io = global[IO_KEY].init(this.conf());
this.onStart(err => {
if (err) {
debug(err);
}
this.sensors();
this.events();
this.actuators();
this.io.onExit((code, signal) => {
this.onStop(err, () => {
this.io.destroy();
}, code, signal);
});
if (process && process.send)
process.send('ready');
});
}
catch (e) {
// properly exit in case onStart/onStop method has not been override
if (this.io) {
this.io.destroy();
}
throw (e);
}
}
events() {
debug('No events !');
}
sensors() {
debug('No metrics !');
}
actuators() {
debug('No metrics !');
}
onStart(cb) {
throw new Error('Entrypoint onStart() not specified');
}
onStop(err, cb, code, signal) {
cb(); // by default only execute callback
}
conf() {
return this.defaultConf;
}
}
exports.default = Entrypoint;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnlwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mZWF0dXJlcy9lbnRyeXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaUNBQXlCO0FBQ3pCLGdDQUF3QjtBQUN4QixNQUFNLEtBQUssR0FBRyxlQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7QUFDakMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUVwQyxnQkFBZ0MsU0FBUSxhQUFHO0lBK0J6QztRQUNFLEtBQUssRUFBRSxDQUFBO1FBOUJGLGdCQUFXLEdBQUc7WUFDbkIsT0FBTyxFQUFFO2dCQUNQLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixjQUFjLEVBQUUsSUFBSTtnQkFFcEIsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxLQUFLO29CQUNkLEtBQUssRUFBRSxLQUFLO2lCQUNiO2dCQUVELFdBQVcsRUFBRTtvQkFDWCxJQUFJLEVBQUUsSUFBSTtvQkFDVixPQUFPLEVBQUUsS0FBSztpQkFDZjtnQkFFRCxXQUFXLEVBQUUsS0FBSztnQkFFbEIsRUFBRSxFQUFFLEtBQUs7YUFDVjtZQUVELE9BQU8sRUFBRTtnQkFDUCxhQUFhLEVBQUUsS0FBSztnQkFDcEIsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLGFBQWEsRUFBRSxJQUFJO2FBQ3BCO1NBQ0YsQ0FBQTtRQU9DLElBQUk7WUFDRixJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7WUFFMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDakIsSUFBSSxHQUFHLEVBQUU7b0JBQ1AsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2lCQUNYO2dCQUVELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtnQkFDZCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7Z0JBQ2IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO2dCQUVoQixJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO3dCQUNwQixJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFBO29CQUNuQixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUNsQixDQUFDLENBQUMsQ0FBQTtnQkFFRixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSTtvQkFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ3BELENBQUMsQ0FBQyxDQUFBO1NBQ0g7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLG9FQUFvRTtZQUNwRSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQTthQUNsQjtZQUVELE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUNWO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixLQUFLLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDdEIsQ0FBQztJQUVELE9BQU87UUFDTCxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDdkIsQ0FBQztJQUVELFNBQVM7UUFDUCxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDdkIsQ0FBQztJQUVELE9BQU8sQ0FBRSxFQUFZO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBRUQsTUFBTSxDQUFFLEdBQVUsRUFBRSxFQUFZLEVBQUUsSUFBWSxFQUFFLE1BQWM7UUFDNUQsRUFBRSxFQUFFLENBQUEsQ0FBQyxtQ0FBbUM7SUFDMUMsQ0FBQztJQUVELElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUE7SUFDekIsQ0FBQztDQUNGO0FBdkZELDZCQXVGQyJ9