Skip to content

feat(runtime): correlate request traces and execution timing - #188

Draft
ustccjw001 wants to merge 25 commits into
volcengine:mainfrom
ustccjw001:codex/performance-diagnostics
Draft

ustccjw001 wants to merge 25 commits into
volcengine:mainfrom
ustccjw001:codex/performance-diagnostics

Conversation

@ustccjw001

@ustccjw001 ustccjw001 commented Oct 10, 2026 •

Copy link
Copy Markdown

Runtime 请求缺少上游关联及阶段计时;MCP 复用会话时,多次工具调用也可能错误归入会话 Trace。本改动补齐标准 SDK、独立 A2A、LangGraph 和 MCP 的执行观测,保留原生 invocation、协议 Task、恢复、取消及鉴权语义。

  • 请求 Span 提取 W3C 父上下文,记录独立诊断 Run、Runtime、部署 Revision 与公开配置指纹;业务版本与部署版本分开解释。
  • A2A 有界读取诊断元数据后原样传递请求,通过既有 TaskStore 记录协议状态;不将协议 Task 当作跨轮业务 Task。LangGraph 保留原生执行阶段并标记 error 帧。
  • 请求头按白名单采集;SimpleApp、MCP 和独立 A2A 遵循正文开关,显式 false 或非法值不采集正常输入输出,缺省行为不变。异常消息、业务日志和第三方 exporter 按各自规则处理。
  • MCP 失败保留原始异常且仅记录一次。逐次调用从请求 _meta.traceparent/tracestate 建立工具 Span 父级,以 Link 保留服务端传输关联;无效或缺失时保留原父级,不复制其它元数据或 baggage。非法 tracestate 先过滤,避免原文进入解析警告。

验证:

  • MCP 关联修复 f659ca5:四种同步/异步工具组合在真实内存协议中先复现错误关联;修复后应用入口与 MCP 类型回归 380 项通过,变更文件 pre-commit 通过。全仓检查存在既有 runner 测试 E402 和无关格式差异,未混入本次修改。
  • 隔离 V24:真实 VeADK 调用同一 MCP 会话两次,服务端工具 Span 在 APMPlus 均对应调用方 Trace ID 和直接父 Span ID;另五次原生调用的四种失败各保留一条 ValueError,正常调用无错误且正常正文未采集。进程四个模块摘要、实际开关及调用前后 29 项 Runtime 配置一致。
  • 既有标准 SDK、独立/挂载 A2A、原生 LangGraph 已完成隔离模型调用与 APMPlus 回查,Run、Runtime/Revision 和模型父链匹配。保留早期正文开关与 MCP 重复异常的失败证据,具体修复与版本见 docs/content/4.runtime/2.performance_diagnostics.md。

MCP 连接/工具准备分段、动态凭据检索、Sandbox 内部分段和共享接收链路的 Links 持久化仍分别验收;本次不证明这些能力已覆盖。独立 A2A 入站父标识在 SDK 前已变化,上游环节仍待回查。控制面自动下发、前端计时入库与 Run 自动定位仍待联调。默认分支无 PR 测试工作流,不将本地结果写成 CI 通过。保持草稿,不合入或部署生产。

chenjiawei added 25 commits October 10, 2026 09:51

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant