1515except ImportError as e :
1616 raise MissingDependencyException ("opentelemetry" ) from e
1717
18+ from opentelemetry import trace
1819from opentelemetry .instrumentation .asgi import OpenTelemetryMiddleware
20+ from opentelemetry .trace import Status , StatusCode
1921from opentelemetry .util .http import get_excluded_urls
2022
2123if TYPE_CHECKING :
22- from opentelemetry .trace import Status # noqa: F401
23-
2424 from litestar .plugins .opentelemetry import OpenTelemetryConfig
2525 from litestar .types import ASGIApp , Receive , Scope , Send
2626
@@ -33,7 +33,6 @@ class OpenTelemetryInstrumentationMiddleware(AbstractMiddleware):
3333 - Enhanced error status tracking on spans
3434 """
3535
36- __slots__ = ("config" , "open_telemetry_middleware" )
3736 __singleton_middleware__ : ClassVar [OpenTelemetryMiddleware | None ] = None
3837
3938 def __init__ (self , app : ASGIApp , config : OpenTelemetryConfig ) -> None :
@@ -69,8 +68,6 @@ def __init__(self, app: ASGIApp, config: OpenTelemetryConfig) -> None:
6968
7069 async def __call__ (self , scope : Scope , receive : Receive , send : Send ) -> None :
7170 # Import here to avoid circular dependency and ensure OTEL is optional
72- from opentelemetry import trace
73- from opentelemetry .trace import Status , StatusCode
7471
7572 try :
7673 await self .open_telemetry_middleware (scope , receive , send ) # type: ignore[arg-type] # pyright: ignore[reportGeneralTypeIssues]
0 commit comments