ADK Java OTel spans do not expose tool-call execution correctly in Langfuse/OpenInference
@hemasekhar-p がすでに取り組んでいます。
2026年5月29日 から。
評価
この issue はまだ評価されていません。
説明
🔴 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%
- 主要言語
- Java
- スター
- 1.7k
- フォーク
- 421
- 平均マージ
- 3日 10時間
- マージ済み PR(30日)
- 34
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
google/adk-java のほかの issue
-
needs review
-
needs review
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
-
needs review
-
needs review
-
needs review
google/adk-java の issue をすべて見る
似ている issue
-
area-deployment area-integrations triage:bot-seen
難易度 2/5 半日 初心者へのやさしさ 86/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
apache/flink-agents#1156 ·
-
[source-shopify] FAILED bulk operation without partialDataUrl is silently treated as successful オープンarea/connectors autoteam community connectors/source/shopify needs-triage team/use type/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100