Skip to content

Commit

Permalink
fix(node-otel): Suppress tracing for generated sentry spans (#9142)
Browse files Browse the repository at this point in the history
This should ensure that
#9127 is fully
fixed, and no otel instrumentation picks anything up (hopefully) for
closed spans.
  • Loading branch information
mydea authored Oct 2, 2023
1 parent f112204 commit 1bcca84
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions packages/opentelemetry-node/src/spanprocessor.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { Context } from '@opentelemetry/api';
import { SpanKind, trace } from '@opentelemetry/api';
import { context, SpanKind, trace } from '@opentelemetry/api';
import { suppressTracing } from '@opentelemetry/core';
import type { Span as OtelSpan, SpanProcessor as OtelSpanProcessor } from '@opentelemetry/sdk-trace-base';
import { addGlobalEventProcessor, addTracingExtensions, getCurrentHub, Transaction } from '@sentry/core';
import type { DynamicSamplingContext, Span as SentrySpan, TraceparentData, TransactionContext } from '@sentry/types';
Expand Down Expand Up @@ -121,7 +122,10 @@ export class SentrySpanProcessor implements OtelSpanProcessor {
updateSpanWithOtelData(sentrySpan, otelSpan);
}

sentrySpan.finish(convertOtelTimeToSeconds(otelSpan.endTime));
// Ensure we do not capture any OTEL spans for finishing (and sending) this
context.with(suppressTracing(context.active()), () => {
sentrySpan.finish(convertOtelTimeToSeconds(otelSpan.endTime));
});

clearSpan(otelSpanId);
}
Expand Down

0 comments on commit 1bcca84

Please sign in to comment.