diff --git a/packages/opentelemetry-test-utils/src/instrumentations/otel-default-provider.ts b/packages/opentelemetry-test-utils/src/instrumentations/otel-default-provider.ts index 7882b72c9a..a6c4d1ddd9 100644 --- a/packages/opentelemetry-test-utils/src/instrumentations/otel-default-provider.ts +++ b/packages/opentelemetry-test-utils/src/instrumentations/otel-default-provider.ts @@ -30,19 +30,23 @@ import { export const registerInstrumentationTestingProvider = ( config?: NodeTracerConfig ): NodeTracerProvider => { - const otelTestingProvider = new NodeTracerProvider(config); + const spanProcessors = config?.spanProcessors + ? [...config.spanProcessors] + : []; setTestMemoryExporter(new InMemorySpanExporter()); - otelTestingProvider.addSpanProcessor( - new SimpleSpanProcessor(getTestMemoryExporter()!) - ); + + spanProcessors.push(new SimpleSpanProcessor(getTestMemoryExporter()!)); if (process.env.OTEL_EXPORTER_JAEGER_AGENT_HOST) { - otelTestingProvider.addSpanProcessor( - new SimpleSpanProcessor(new JaegerExporter()) - ); + spanProcessors.push(new SimpleSpanProcessor(new JaegerExporter())); } + const otelTestingProvider = new NodeTracerProvider({ + ...config, + spanProcessors, + }); + otelTestingProvider.register(); return otelTestingProvider; };