UNPKG

@zerosuxx/opentelemetry-nestjs

Version:

OpenTelemetry module for Nestjs with auto instrumentation and resource detection. Initially forked from https://github.com/overbit/opentelemetry-nestjs.git

72 lines 2.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TracingDefaultConfig = exports.NodeAutoInstrumentationsDefaultConfig = void 0; const context_async_hooks_1 = require("@opentelemetry/context-async-hooks"); const resources_1 = require("@opentelemetry/resources"); const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node"); const core_1 = require("@opentelemetry/core"); const propagator_jaeger_1 = require("@opentelemetry/propagator-jaeger"); const propagator_b3_1 = require("@opentelemetry/propagator-b3"); const resource_detector_container_1 = require("@opentelemetry/resource-detector-container"); exports.NodeAutoInstrumentationsDefaultConfig = { '@opentelemetry/instrumentation-fs': { requireParentSpan: true, enabled: true, createHook: (_, { args }) => { return !args[0].toString().indexOf('node_modules'); }, endHook: (_, { args, span }) => { span.setAttribute('file', args[0].toString()); }, }, '@opentelemetry/instrumentation-http': { requireParentforOutgoingSpans: true, requestHook: (span, request) => { span.updateName(`${request.method} ${request.url}`); }, enabled: true, ignoreIncomingRequestHook: (request) => { return (['/health', '/_health', '/healthz', 'healthcheck'].includes(request.url) || request.method === 'OPTIONS'); }, }, '@opentelemetry/instrumentation-graphql': { enabled: true, mergeItems: true, ignoreResolveSpans: true, ignoreTrivialResolveSpans: true, }, '@opentelemetry/instrumentation-net': { enabled: false, }, '@opentelemetry/instrumentation-nestjs-core': { enabled: false, }, '@opentelemetry/instrumentation-dns': { enabled: false, }, '@opentelemetry/instrumentation-express': { enabled: false, }, }; exports.TracingDefaultConfig = { serviceName: 'UNKNOWN', autoDetectResources: false, resourceDetectors: [resource_detector_container_1.containerDetector], contextManager: new context_async_hooks_1.AsyncLocalStorageContextManager(), resource: (0, resources_1.resourceFromAttributes)({ lib: '@overbit/opentelemetry-nestjs', }), instrumentations: [], spanProcessors: [new sdk_trace_node_1.NoopSpanProcessor()], textMapPropagator: new core_1.CompositePropagator({ propagators: [ new propagator_jaeger_1.JaegerPropagator(), new core_1.W3CTraceContextPropagator(), new propagator_b3_1.B3Propagator(), new propagator_b3_1.B3Propagator({ injectEncoding: propagator_b3_1.B3InjectEncoding.MULTI_HEADER, }), ], }), }; //# sourceMappingURL=TracingConfigDefault.js.map