feat(closes OPEN-8261): enhance Google ADK tracing with callback support #555
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request
Summary
Enhanced the Google ADK (Agent Development Kit) tracer with comprehensive callback support, token usage capture, and Google Cloud Trace coexistence. This enables full observability of ADK agents in Openlayer while allowing users to simultaneously send telemetry data to Google Cloud.
Changes
prompt_tokens,completion_tokens, andtotal_tokensfrom LLM responsesbefore_agent,after_agent,before_model,after_model,before_tool,after_toolbefore_modelappears BEFORE LLM Call,after_modelappears AFTERbefore_tool,after_tool) are properly nested as siblings of Tool steps within LLM callsstart_timeto ensure correct chronological displayContext
Users reported that the Openlayer ADK tracer was not capturing:
before_model_callback,after_model_callback,before_tool_callback,after_tool_callback)Additionally, users wanted to use both Google Cloud telemetry (Cloud Trace, Cloud Monitoring) AND Openlayer simultaneously, but the original implementation disabled ADK's OpenTelemetry.
Reference: https://google.github.io/adk-docs/callbacks/
Testing