newrelic-nestjs-instrumentation
Version:
Comprehensive New Relic instrumentation for NestJS applications - SQS, Kafka, HTTP/2, cron jobs and custom protocols
20 lines • 1.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.startNewrelicTransactionIfAbsent = startNewrelicTransactionIfAbsent;
const start_unhandled_newrelic_transaction_1 = require("./start-unhandled-newrelic-transaction");
const get_transaction_name_1 = require("./internal/get-transaction-name");
const accept_nestjs_distributed_tracing_factory_1 = require("./accept-nestjs-distributed-tracing-factory");
const internal_1 = require("./internal");
function startNewrelicTransactionIfAbsent(context) {
let transactionId;
const transactionName = (0, get_transaction_name_1.getTransactionName)(context);
try {
const result = (0, start_unhandled_newrelic_transaction_1.startUnhandledNewrelicTransaction)(transactionName, 'web', (0, accept_nestjs_distributed_tracing_factory_1.acceptNestjsDistributedTracingFactory)(context));
transactionId = result.transactionId;
internal_1.newrelicInstrumentationEmitter.emit('transactionStarted', transactionId);
}
catch (error) {
internal_1.newrelicInstrumentationEmitter.emit('transactionStartFailed', transactionId, error);
}
}
//# sourceMappingURL=start-newrelic-transaction-if-absent.js.map