google-adk: instrument `Workflow` nodes and workflow tool calls
維護者通常 1 天內回覆
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 55/100
- Issue 類型
- 功能
- 描述清晰度
- 基本清楚
- 活躍度
- 活躍
- 技術堆疊
- python
研究方向
Start in py/src/braintrust/integrations/adk/ and read the ADK integration plus test_adk.py; the issue identifies BaseNode.run and _ToolNode._run_impl as candidate patch targets. Add cassette-backed coverage for workflow spans and workflow tool-call spans, checking compatibility with ADK 1.14.1 as well as 2.10 and 2.11. Done when the tests confirm both spans are recorded and the existing version still works.
由索引模型根據 Issue 內容生成。
描述
ADK 2.x Workflow is a BaseNode, not a BaseAgent, and _ToolNode calls self.tool.run_async directly, bypassing flows/llm_flows/tools/_caller._call_tool_async. As a result:
- Workflow tool calls get no tool span (except MCP tools, via
McpToolPatcher). - Workflows get no span between the Runner and agent spans.
ADK now marks SequentialAgent / ParallelAgent as deprecated in favor of Workflow, so this gap will grow. 2.11.0 also made workflow tool nodes pause for confirmation and run plugin callbacks (_ToolNode._run_tool_with_plugin_callbacks). This predates the 2.11.0 bump.
Proposal
- Candidate patch targets in
py/src/braintrust/integrations/adk/:google.adk.workflow._base_node.BaseNode.run(workflow/node spans) andgoogle.adk.workflow._tool_node._ToolNode._run_impl(tool spans). Both exist in 2.10 and 2.11; gate them so 1.14.1 keeps working. test_adk.pyhas noWorkflowcoverage; add cassette-backed tests.- Related, lower value:
ModelConsultTool's advisor callsBaseLlm.generate_content_asyncdirectly, so it gets no ADK LLM span (the google-genai integration still traces the underlying call).
Parent: #858 (found while reviewing the 2026-10-05 weekly dependency update, #849).
🤖 Generated with Claude Code
- 主要語言
- Python
- 星號
- 22
- 分支
- 27
- 平均合併
- 11 小時 46 分鐘
- 30 天內合併 PR
- 137
環境準備
- 提供 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
braintrustdata/braintrust-sdk-python 的其他 Issue
-
Temporal: add `workflow.Info.original_execution_run_id` to workflow span metadata可能已有人在做 @Ehsan-hash 於 6 天前認領。 未關閉feature python
難度 2/5 1-3 小時 新手友好度 76/100
braintrustdata/braintrust-sdk-python#868 ·
維護者通常 1 天內回覆
-
python
難度 5/5 一週以上 新手友好度 20/100
braintrustdata/braintrust-sdk-python#957 ·
維護者通常 1 天內回覆
-
python
難度 5/5 一週以上 新手友好度 35/100
braintrustdata/braintrust-sdk-python#956 ·
維護者通常 1 天內回覆
-
python
braintrustdata/braintrust-sdk-python#839 ·
維護者通常 1 天內回覆
-
new-integration
難度 4/5 3-5 天 新手友好度 68/100
braintrustdata/braintrust-sdk-python#808 ·
維護者通常 1 天內回覆
查看 braintrustdata/braintrust-sdk-python 的全部 Issue
相似的 Issue
-
[Bug]: Revit selector reads process ids 2000-2099 as years (flaky AgentClientTests.AYearOrAProcessIdSelectsTheHost)可能已有人在做 @Wurschdhaud 今天認領。 未關閉
難度 2/5 1-3 小時 新手友好度 83/100
pyrevitlabs/pyRevit#3817 ·
維護者通常 1 天內回覆
-
難度 1/5 1 小時以內 新手友好度 85/100
521xueweihan/HelloGitHub#4074 ·
-
follow-up
難度 2/5 1-3 小時 新手友好度 62/100
維護者通常 1 天內回覆
-
Helm chart: allow setting ingressClassName on the Ingress可能已有人在做 @commarla 今天認領。 未關閉
難度 2/5 1-3 小時 新手友好度 85/100
pgadmin-org/pgadmin4#10658 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 72/100