Skip to content

Commit 8ffc57f

Browse files
authored
fix(otel): Make sure we handle when sentry-trace is an empty array (#6781)
When testing with a GRPC example I found that the carrier can return an empty array for some values. This checks for that, and adds a validation test.
1 parent 4d5f13e commit 8ffc57f

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

packages/opentelemetry-node/src/propagator.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export class SentryPropagator extends W3CBaggagePropagator {
5959
const maybeSentryTraceHeader: string | string[] | undefined = getter.get(carrier, SENTRY_TRACE_HEADER);
6060
if (maybeSentryTraceHeader) {
6161
const header = Array.isArray(maybeSentryTraceHeader) ? maybeSentryTraceHeader[0] : maybeSentryTraceHeader;
62-
const traceparentData = extractTraceparentData(header);
62+
const traceparentData = extractTraceparentData(header || '');
6363
newContext = newContext.setValue(SENTRY_TRACE_PARENT_CONTEXT_KEY, traceparentData);
6464
if (traceparentData) {
6565
const spanContext = {

packages/opentelemetry-node/test/propagator.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,5 +239,11 @@ describe('SentryPropagator', () => {
239239
const context = propagator.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter);
240240
expect(context.getValue(SENTRY_DYNAMIC_SAMPLING_CONTEXT_KEY)).toEqual(undefined);
241241
});
242+
243+
it('handles when sentry-trace is an empty array', () => {
244+
carrier[SENTRY_TRACE_HEADER] = [];
245+
const context = propagator.extract(ROOT_CONTEXT, carrier, defaultTextMapGetter);
246+
expect(context.getValue(SENTRY_TRACE_PARENT_CONTEXT_KEY)).toEqual(undefined);
247+
});
242248
});
243249
});

0 commit comments

Comments
 (0)