Skip to content

Commit 06a8cf3

Browse files
committed
.
1 parent 33b4030 commit 06a8cf3

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

sentry_sdk/opentelemetry/tracing.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,17 @@ def setup_sentry_tracing():
4343
tracer_provider = TracerProvider(sampler=SentrySampler())
4444
trace.set_tracer_provider(tracer_provider)
4545

46-
tracer_provider.add_span_processor(SentrySpanProcessor()) # type: ignore[attr-defined]
46+
try:
47+
existing_span_processors = (
48+
tracer_provider._active_span_processor._span_processors
49+
)
50+
except Exception:
51+
existing_span_processors = []
52+
53+
for span_processor in existing_span_processors:
54+
if isinstance(span_processor, SentrySpanProcessor):
55+
break
56+
else:
57+
tracer_provider.add_span_processor(SentrySpanProcessor()) # type: ignore[attr-defined]
58+
4759
set_global_textmap(SentryPropagator())

tests/conftest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def clean_scopes():
8080

8181

8282
@pytest.fixture(autouse=True)
83-
def clean_tracer():
83+
def clear_tracer_provider():
8484
"""Reset TracerProvider so that we can set it up from scratch."""
8585
if Once is not None:
8686
otel_trace._TRACER_PROVIDER_SET_ONCE = Once()

0 commit comments

Comments
 (0)