From 5a349436b162db14178be287f26acc112e320534 Mon Sep 17 00:00:00 2001 From: Ivana Kellyer Date: Tue, 6 Aug 2024 11:38:38 +0200 Subject: [PATCH] Fix circular imports --- sentry_sdk/integrations/opentelemetry/__init__.py | 13 ++++++------- .../integrations/opentelemetry/span_processor.py | 3 ++- sentry_sdk/integrations/opentelemetry/utils.py | 3 ++- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/sentry_sdk/integrations/opentelemetry/__init__.py b/sentry_sdk/integrations/opentelemetry/__init__.py index 43587f2e01..e0020204d5 100644 --- a/sentry_sdk/integrations/opentelemetry/__init__.py +++ b/sentry_sdk/integrations/opentelemetry/__init__.py @@ -1,8 +1,7 @@ -# TODO-neel-potel fix circular imports -# from sentry_sdk.integrations.opentelemetry.span_processor import ( # noqa: F401 -# SentrySpanProcessor, -# ) +from sentry_sdk.integrations.opentelemetry.span_processor import ( # noqa: F401 + SentrySpanProcessor, +) -# from sentry_sdk.integrations.opentelemetry.propagator import ( # noqa: F401 -# SentryPropagator, -# ) +from sentry_sdk.integrations.opentelemetry.propagator import ( # noqa: F401 + SentryPropagator, +) diff --git a/sentry_sdk/integrations/opentelemetry/span_processor.py b/sentry_sdk/integrations/opentelemetry/span_processor.py index 594ccbb71f..7671c798c8 100644 --- a/sentry_sdk/integrations/opentelemetry/span_processor.py +++ b/sentry_sdk/integrations/opentelemetry/span_processor.py @@ -13,7 +13,6 @@ INVALID_SPAN_ID, INVALID_TRACE_ID, ) -from sentry_sdk import get_client, start_transaction from sentry_sdk.integrations.opentelemetry.consts import ( SENTRY_BAGGAGE_KEY, SENTRY_TRACE_KEY, @@ -106,6 +105,8 @@ def _prune_old_spans(self): def on_start(self, otel_span, parent_context=None): # type: (OTelSpan, Optional[context_api.Context]) -> None + from sentry_sdk import get_client, start_transaction + client = get_client() if not client.dsn: diff --git a/sentry_sdk/integrations/opentelemetry/utils.py b/sentry_sdk/integrations/opentelemetry/utils.py index cb04dd8e1a..df668799cf 100644 --- a/sentry_sdk/integrations/opentelemetry/utils.py +++ b/sentry_sdk/integrations/opentelemetry/utils.py @@ -8,7 +8,6 @@ from sentry_sdk.tracing import get_span_status_from_http_code from urllib3.util import parse_url as urlparse -from sentry_sdk import get_client from sentry_sdk.utils import Dsn from sentry_sdk._types import TYPE_CHECKING @@ -43,6 +42,8 @@ def is_sentry_span(span): Break infinite loop: HTTP requests to Sentry are caught by OTel and send again to Sentry. """ + from sentry_sdk import get_client + if not span.attributes: return False