Skip to content

Commit 8805599

Browse files
committed
fix typing
1 parent 57d9345 commit 8805599

File tree

1 file changed

+11
-8
lines changed
  • packages/service-library/src/servicelib/fastapi

1 file changed

+11
-8
lines changed

packages/service-library/src/servicelib/fastapi/tracing.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
""" Adds fastapi middleware for tracing using opentelemetry instrumentation.
22
33
"""
4+
45
import logging
56

67
from fastapi import FastAPI
@@ -21,24 +22,27 @@
2122

2223
def setup_tracing(
2324
app: FastAPI, tracing_settings: TracingSettings, service_name: str
24-
) -> FastAPIInstrumentor | None:
25+
) -> None:
2526
if (
2627
not tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT
2728
and not tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_PORT
2829
):
2930
log.warning("Skipping opentelemetry tracing setup")
30-
return None
31+
return
3132
if (
3233
not tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT
3334
or not tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_PORT
3435
):
35-
raise RuntimeError(
36-
f"Variable opentelemetry_collector_endpoint [{tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}] or opentelemetry_collector_port [{tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_PORT}] unset. Tracing options incomplete."
36+
msg = (
37+
f"Variable opentelemetry_collector_endpoint [{tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}] "
38+
f"or opentelemetry_collector_port [{tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_PORT}] unset. Tracing options incomplete."
3739
)
40+
raise RuntimeError(msg)
3841
# Set up the tracer provider
3942
resource = Resource(attributes={"service.name": service_name})
4043
trace.set_tracer_provider(TracerProvider(resource=resource))
41-
tracer_provider = trace.get_tracer_provider()
44+
global_tracer_provider = trace.get_tracer_provider()
45+
assert isinstance(global_tracer_provider, TracerProvider) # nosec
4246
tracing_destination: str = f"{tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_ENDPOINT}:{tracing_settings.TRACING_OPENTELEMETRY_COLLECTOR_PORT}/v1/traces"
4347
log.info(
4448
"Trying to connect service %s to tracing collector at %s.",
@@ -48,7 +52,6 @@ def setup_tracing(
4852
# Configure OTLP exporter to send spans to the collector
4953
otlp_exporter = OTLPSpanExporterHTTP(endpoint=tracing_destination)
5054
span_processor = BatchSpanProcessor(otlp_exporter)
51-
# Mypy bug --> https://github.com/open-telemetry/opentelemetry-python/issues/3713
52-
tracer_provider.add_span_processor(span_processor) # type: ignore[attr-defined]
55+
global_tracer_provider.add_span_processor(span_processor)
5356
# Instrument FastAPI
54-
return FastAPIInstrumentor().instrument_app(app) # type: ignore[no-any-return]
57+
FastAPIInstrumentor().instrument_app(app)

0 commit comments

Comments
 (0)