From f8c980a4abb23f735541718340c03a28722e2bad Mon Sep 17 00:00:00 2001 From: ggamsso Date: Thu, 13 Nov 2025 23:57:53 +0900 Subject: [PATCH 1/2] refactor to reuse TraceProvider --- src/google/adk/cli/adk_web_server.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/google/adk/cli/adk_web_server.py b/src/google/adk/cli/adk_web_server.py index 1b422fe335..f444df524e 100644 --- a/src/google/adk/cli/adk_web_server.py +++ b/src/google/adk/cli/adk_web_server.py @@ -294,11 +294,16 @@ def _setup_telemetry( ) else: # Old logic - to be removed when above leaves experimental. - tracer_provider = TracerProvider() + requires_set_trace_provider = False + tracer_provider = trace.get_tracer_provider() + if isinstance(tracer_provider, trace.ProxyTracerProvider): + requires_set_trace_provider = True + tracer_provider = TracerProvider() if internal_exporters is not None: for exporter in internal_exporters: tracer_provider.add_span_processor(exporter) - trace.set_tracer_provider(tracer_provider=tracer_provider) + if requires_set_trace_provider: + trace.set_tracer_provider(tracer_provider=tracer_provider) def _otel_env_vars_enabled() -> bool: From 9283d38ee00372a8c771269b7e2b439677e10498 Mon Sep 17 00:00:00 2001 From: ggamsso Date: Fri, 14 Nov 2025 15:05:24 +0900 Subject: [PATCH 2/2] Update adk_web_server.py --- src/google/adk/cli/adk_web_server.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/google/adk/cli/adk_web_server.py b/src/google/adk/cli/adk_web_server.py index f444df524e..d6ed441655 100644 --- a/src/google/adk/cli/adk_web_server.py +++ b/src/google/adk/cli/adk_web_server.py @@ -294,15 +294,14 @@ def _setup_telemetry( ) else: # Old logic - to be removed when above leaves experimental. - requires_set_trace_provider = False tracer_provider = trace.get_tracer_provider() - if isinstance(tracer_provider, trace.ProxyTracerProvider): - requires_set_trace_provider = True + is_proxy = isinstance(tracer_provider, trace.ProxyTracerProvider) + if is_proxy: tracer_provider = TracerProvider() if internal_exporters is not None: for exporter in internal_exporters: tracer_provider.add_span_processor(exporter) - if requires_set_trace_provider: + if is_proxy: trace.set_tracer_provider(tracer_provider=tracer_provider)