火山引擎 TLS 上线 DeepSeek Harness 可观测插件:EventLog 转 OpenTelemetry Trace,支持总览/Trace/Span/会话四层下钻
TLS for DeepSeek Harness 可观测实践:从系统总览到会话复盘
概述
TLS 上线面向 DSH 的可观测插件,把 DSH 会话中的模型请求与工具调用转换为 OpenTelemetry Trace 并上报 TLS,开发者无需改变原有使用方式即可从系统总览下钻到单次模型请求与工具调用。数据模型上定义三类核心 Span:agent.turn(一轮 Agent 执行)、llm.request(一次模型请求)、tool.call(一次工具调用);事件映射为 turn/step/start、tool/call、assistant/message、tool/result、llm/retry、turn/end 分别对应创建根 Span、创建 LLM/Tool Span、补充输出并结束 Span、记录重试、结束 Trace 并触发非阻塞刷新,插件不逐条上报流式 assistant/chunk,首包时间取第一个有效输出分片,Trace 上报失败不中断会话。接入方式为通过 DSH 官方 Profile 插件机制一键安装(npm exec @volcengine/tls-observer-dsh-install,需 Node.js ≥ 22.13、已创建 TLS DSH 可观测应用并提供 Region/Trace Topic ID 与 API Key 或 AK/SK),配置持久化到 $DSH_HOME/.env,支持 uninstall 卸载且不删除会话数据;前置需 --capture-content true 才会采集 Prompt、模型输出、System Instructions 与工具参数结果,关闭后仍保留层级、耗时、状态、模型、Provider、Token、Session 关系、重试与错误信息。分析路径包含总览大盘(请求详情、成本消耗、工具情况、模型性能四板块)、Trace 列表(按根 Span 的 GenAIInput/GenAIOutput 搜索定位)、Trace 调用树与耗时瀑布(格式化展示 gen_ai.input.messages / gen_ai.output.messages 及工具 name、arguments、command、path、pattern、Call ID)、会话分析(按 gen_ai.conversation.id 聚合并可按 Tokens、耗时、调用链数量排序)。文中示例环境近 7 天记录 5 个会话、6 轮对话、33 次模型请求、45 次工具调用,总 Tokens 约 119 万;单条「分析 DSH 源码」Trace 耗时约 5 分 57 秒、总 Tokens 1,045,634(输入 1,033,719),第二轮「简单总结」耗时 18.87 秒、消耗 107,422 Tokens。此外 TLS 还面向 Codex、Claude Code、OpenCode、TRAE、Cursor、Pi 等 Coding Agent 提供适配,统一采集后的 Session、Agent、LLM、Tool、Token、Error 模型与分析体验。