ADK Java OTel spans do not expose tool-call execution correctly in Langfuse/OpenInference
@hemasekhar-p ci sta già lavorando.
Dal 29/5/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
🔴 Required Information
Describe the Bug:
ADK Java traces exported to Langfuse via OTLP show call_llm spans, but tool-call execution is not represented correctly: tools appear as "not called", and execute_tool visibility/payload mapping is missing or inconsistent even when tools were actually invoked.
Steps to Reproduce:
- Create an ADK Java agent with MCP tools (for example,
list_premerge_failed_tests_by_jobandlist_unhealthy_tests). - Configure OpenTelemetry export to Langfuse using
OtlpHttpSpanExporter. - Run an agent prompt that should invoke those tools.
- Open the resulting trace in Langfuse UI and inspect the
call_llmobservation and tool section. - Observe that tools are displayed as "not called" and no reliable
execute_toolobservation/payload is shown.
Expected Behavior:
When tools execute, Langfuse should show them as called, include execute_tool observation visibility, and render tool request/response payloads correctly.
Observed Behavior:
call_llmis visible in timeline.- Tools are shown as "not called" in the same trace.
- Tool-call visibility/payload mapping is missing or inconsistent.
- No crash, but observability is incorrect/incomplete for tool execution.
Environment Details:
- ADK Library Version (see maven dependency):
com.google.adk:google-adk:1.2.0(google-adk-spring-ai:1.2.0) - OS: macOS
- TS Version (tsc --version): N/A (Java integration)
Model Information:
- Which model is being used:
qwen-3.5-122b
🟡 Optional Information
Regression:
Unknown.
Logs:
Langfuse UI observation:
- call_llm span present
- Tools section shows entries as "not called"
- Agent output text indicates tools were expected/executed in flow
Screenshots / Video:
Additional Context:
- ADK Java appears to emit ADK-specific attributes (e.g.
gcp.vertex.agent.tool_call_args,gcp.vertex.agent.tool_response,gcp.vertex.agent.llm_request,gcp.vertex.agent.llm_response). - Langfuse/OpenInference expects standard tool/IO mapping on spans (e.g.
input.value,output.value) for reliable rendering.
Minimal Reproduction Code:
// Pseudocode reproduction shape:
// 1) Build LlmAgent with MCP tools
// 2) Enable OTLP export to Langfuse
// 3) Trigger prompt that should call tools
// 4) Inspect Langfuse trace: call_llm visible, tools shown as "not called"
How often has this issue occurred?:
- 100%
- Lingua principale
- Java
- Stelle
- 1.7k
- Fork
- 421
- Merge medio
- 3g 8h
- PR unite (30g)
- 36
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di google/adk-java
-
needs review
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
needs review
-
needs review
-
needs review
-
needs review
Tutte le issue di google/adk-java
Issue simili
-
executions.Query — startDate and timeRange filters are sent with inverted comparison operators Apertaarea/plugin
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
kestra-io/plugin-kestra#190 ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
integra-team-red/meet-map#249 ·
-
[Studio][Bug] Cancelled create-user dialog keeps the password and admin switch for the next attempt Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
apache/rocketmq-dashboard#5064 ·