fix(otel): attach fan-out on fallback provider

This commit is contained in:
Yucheng He 2026-09-05 03:03:03 -07:00
parent 63a5b1cbd8
commit 836d31babc
2 changed files with 6 additions and 2 deletions

View file

@ -939,7 +939,10 @@ def fan_out_provider() -> ApiTracerProvider:
if published is not None:
return published
logger: Final = _registered_v2_logger()
return logger.tracer_provider if logger is not None else get_tracer_provider()
if logger is not None:
attach_tenant_fan_out(logger.tracer_provider, logger.config)
return logger.tracer_provider
return get_tracer_provider()
@contextmanager

View file

@ -706,7 +706,7 @@ class TestProviderWiring:
assert fan_out_provider() is v2.tracer_provider
assert deliverable_destinations((LANGFUSE_DEST,), fan_out_provider()) == (LANGFUSE_DEST,)
def test_without_a_publish_anchoring_uses_a_registered_v2_logger(self, monkeypatch):
def test_without_a_publish_anchoring_attaches_fan_out_to_registered_v2_logger(self, monkeypatch):
from litellm.proxy import proxy_server
config = OpenTelemetryV2Config(exporters=[ExporterSpec(kind="in_memory", owner=ExporterOwner.LANGFUSE_OTEL)])
@ -714,6 +714,7 @@ class TestProviderWiring:
monkeypatch.setattr(proxy_server, "open_telemetry_logger", logger)
assert fan_out_provider() is logger.tracer_provider
assert deliverable_destinations((LANGFUSE_DEST,), fan_out_provider()) == (LANGFUSE_DEST,)
def test_without_a_publish_anchoring_falls_back_to_the_otel_global(self, monkeypatch):
from opentelemetry import trace