From befa39dc80fcd54afbbc36e91ced2f0adc3281b0 Mon Sep 17 00:00:00 2001 From: Abhijeet Prasad Date: Mon, 16 Jan 2023 12:19:21 +0100 Subject: [PATCH] fix(otel): Make sure we handle when sentry-trace is an empty array --- packages/opentelemetry-node/src/propagator.ts | 2 +- packages/opentelemetry-node/test/propagator.test.ts | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/opentelemetry-node/src/propagator.ts b/packages/opentelemetry-node/src/propagator.ts index 913e1ac218df..f38df0d36291 100644 --- a/packages/opentelemetry-node/src/propagator.ts +++ b/packages/opentelemetry-node/src/propagator.ts @@ -59,7 +59,7 @@ export class SentryPropagator extends W3CBaggagePropagator { const maybeSentryTraceHeader: string | string[] | undefined = getter.get(carrier, SENTRY_TRACE_HEADER); if (maybeSentryTraceHeader) { const header = Array.isArray(maybeSentryTraceHeader) ? maybeSentryTraceHeader[0] : maybeSentryTraceHeader; - const traceparentData = extractTraceparentData(header); + const traceparentData = extractTraceparentData(header || ''); newContext = newContext.setValue(SENTRY_TRACE_PARENT_CONTEXT_KEY, traceparentData); if (traceparentData) { const spanContext = { diff --git a/packages/opentelemetry-node/test/propagator.test.ts b/packages/opentelemetry-node/test/propagator.test.ts index 27c633e61c06..f795d7233d34 100644 --- a/packages/opentelemetry-node/test/propagator.test.ts +++ b/packages/opentelemetry-node/test/propagator.test.ts @@ -239,5 +239,11 @@ describe('SentryPropagator', () => { const context = propagator.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter); expect(context.getValue(SENTRY_DYNAMIC_SAMPLING_CONTEXT_KEY)).toEqual(undefined); }); + + it('handles when sentry-trace is an empty array', () => { + carrier[SENTRY_TRACE_HEADER] = []; + const context = propagator.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter); + expect(context.getValue(SENTRY_TRACE_PARENT_CONTEXT_KEY)).toEqual(undefined); + }); }); });