Skip to content

Commit 7fc8ef7

Browse files
committed
fix(resource-manager): flush custom tracer provider if provided
1 parent c048966 commit 7fc8ef7

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

langfuse/_client/resource_manager.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ def _initialize_instance(
173173
self.sample_rate = sample_rate
174174
self.blocked_instrumentation_scopes = blocked_instrumentation_scopes
175175
self.additional_headers = additional_headers
176-
self.tracer_provider = None
176+
self.tracer_provider: Optional[TracerProvider] = None
177177

178178
# OTEL Tracer
179179
if tracing_enabled:
@@ -399,9 +399,10 @@ def _stop_and_join_consumer_threads(self) -> None:
399399
)
400400

401401
def flush(self) -> None:
402-
tracer_provider = cast(TracerProvider, otel_trace_api.get_tracer_provider())
403-
if not isinstance(tracer_provider, otel_trace_api.ProxyTracerProvider):
404-
tracer_provider.force_flush()
402+
if self.tracer_provider is not None and not isinstance(
403+
self.tracer_provider, otel_trace_api.ProxyTracerProvider
404+
):
405+
self.tracer_provider.force_flush()
405406
langfuse_logger.debug("Successfully flushed OTEL tracer provider")
406407

407408
self._score_ingestion_queue.join()
@@ -414,9 +415,10 @@ def shutdown(self) -> None:
414415
# Unregister the atexit handler first
415416
atexit.unregister(self.shutdown)
416417

417-
tracer_provider = cast(TracerProvider, otel_trace_api.get_tracer_provider())
418-
if not isinstance(tracer_provider, otel_trace_api.ProxyTracerProvider):
419-
tracer_provider.force_flush()
418+
if self.tracer_provider is not None and not isinstance(
419+
self.tracer_provider, otel_trace_api.ProxyTracerProvider
420+
):
421+
self.tracer_provider.force_flush()
420422

421423
self._stop_and_join_consumer_threads()
422424

0 commit comments

Comments
 (0)