Problem
Google ADK is listed as a first-class supported framework, but unlike LangChain and Strands it has:
- No zero-code example — only
examples/adk_example_sdk.py exists; no adk_example_zero_code.py
-
- No E2E test —
tests/test_e2e_live_agents.py covers only LangChain and Strands
ADK uses a completely different span attribute schema (gcp.vertex.agent.*) compared to the GenAI semconv path. Without an E2E test, regressions in the AdkExtractor will ship undetected.
What's Needed
1. Zero-code example (examples/adk_example_zero_code.py)
GOOGLE_API_KEY=... OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 \
opentelemetry-instrument python examples/adk_example_zero_code.py
Following the pattern of langchain_example_zero_code.py.
2. E2E test class in tests/test_e2e_live_agents.py
@pytest.mark.skipif(not os.getenv("GOOGLE_API_KEY"), reason="requires GOOGLE_API_KEY")
class TestADKGeminiAgent:
async def test_adk_agent_evaluation(self):
# Run the ADK example, verify gcp.vertex.agent.* spans are extracted,
# confirm evaluation pipeline produces valid results
...
Why This Matters
- Validates the
AdkExtractor code path end-to-end
-
- Demonstrates parity with LangChain/Strands coverage
-
-
- Provides a concrete integration reference for Vertex AI / Gemini users
Problem
Google ADK is listed as a first-class supported framework, but unlike LangChain and Strands it has:
examples/adk_example_sdk.pyexists; noadk_example_zero_code.pytests/test_e2e_live_agents.pycovers only LangChain and StrandsADK uses a completely different span attribute schema (
gcp.vertex.agent.*) compared to the GenAI semconv path. Without an E2E test, regressions in theAdkExtractorwill ship undetected.What's Needed
1. Zero-code example (
examples/adk_example_zero_code.py)Following the pattern of
langchain_example_zero_code.py.2. E2E test class in
tests/test_e2e_live_agents.pyWhy This Matters
AdkExtractorcode path end-to-end