You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: resolve circular import with lazy initialization of tracing processor
The circular import was caused by immediate instantiation of
AgentexTracingProcessorConfig at module load time, which triggered:
tracer.py → tracing_processor_manager → agentex_tracing_processor
→ adk.utils.client → adk.utils → adk.providers → tracer.py
Solution: Implement lazy initialization using the double-checked locking
pattern. The default Agentex tracing processor is now initialized on first
use (when get_sync_processors() or get_async_processors() is called) rather
than at module load time.
This breaks the circular dependency while maintaining the same functionality
and avoiding any need for commented-out code or workarounds.
Tests: Verified with test_function_tool.py - all 10 tests pass
0 commit comments