inceptum
Version:
hipages take on the foundational library for enterprise-grade apps written in NodeJS
39 lines • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const LogManager_1 = require("../log/LogManager");
const NewrelicUtil_1 = require("./NewrelicUtil");
const logger = LogManager_1.LogManager.getLogger(__filename);
class NewrelicPlugin {
constructor() {
this.name = 'NewrelicPlugin';
this.CONTEXT_APP_KEY = 'NewrelicPlugin/newrelic';
}
willStart(app, pluginContext) {
if (NewrelicUtil_1.NewrelicUtil.isNewrelicAvailable()) {
// pluginContext.set(this.CONTEXT_APP_KEY, NewrelicUtil.getNewrelicIfAvailable());
logger.info('Started newrelic plugin');
}
else {
logger.info('newrelic is not present. Ignoring');
}
}
didStop(app, pluginContext) {
const newrelic = NewrelicUtil_1.NewrelicUtil.getNewrelicIfAvailable();
if (newrelic) {
return new Promise((resolve, reject) => {
logger.info('Shutting down newrelic');
return newrelic.shutdown({ collectPendingData: true, timeout: 5000 }, (err) => {
if (err) {
reject(err);
}
else {
resolve();
}
});
});
}
return Promise.resolve();
}
}
exports.default = NewrelicPlugin;
//# sourceMappingURL=NewrelicPlugin.js.map