开发与工程 ✓ Microsoft · 官方 open-telemetryotlpspan-instrumentationtelemetry-metricscopilot-chattrace-propagationagent-monitoring

Copilot Chat OpenTelemetry 埋点指南

为 Copilot Chat 统一设计和维护 OpenTelemetry 埋点。

FollowSkills 评估 · FSRS-2.0
谨慎使用
60/ 100 五分制 3.0 / 5
信任安全19 / 25 · 3.8/5

文档明确要求通过 IOTelService、内容截断、captureContent 门控、敏感标识哈希及 Debug Panel/OTLP 隔离来降低数据暴露,并记录进程环境变量和 SDK 内部访问风险;但未规定逐次用户确认、明确回滚流程或依赖安全审计,因此未满分。

可靠稳定9 / 20 · 2.3/5

内容包含架构映射、操作模式、异常降级要求、配置同步清单、单元测试建议和诊断命令;但本次仅静态阅读,且关键引用文件和测试结果未在材料中完整提供,无法证明可运行性和异常路径,故限制在静态上限内。

适用触发10 / 15 · 3.3/5

目标用户、适用场景、四类 agent 路径、触发条件和若干不应采用的反模式都较清楚;但非适用范围、输入输出契约及中文文档支持不足。核心功能不完全依赖海外服务,但示例所涉外部监控后端可能存在网络可达性差异,因此扣分。

规范维护10 / 15 · 3.3/5

采用分层章节、表格、代码示例和检查清单,明确 MIT 许可及 Microsoft 官方仓库来源;但技能自身没有版本号、变更日志、独立维护责任或明确更新路径,安装和故障排查说明也不完整。

有效结果7 / 15 · 2.3/5

对新增或修改 OTel 埋点提供了可直接参考的架构、命名、数据处理和验证步骤,能覆盖核心开发任务;但依赖未提供的源代码与监控文档,且未见实际输出或端到端验证证据,静态评估按上限给分。

证据核验5 / 10 · 2.5/5

技能引用了具体源码路径、测试路径、CI 验证命令和已知风险,具备一定可审计性;但材料未包含这些测试的实际结果或多源复核,静态评估不能超过 5 分。

证据充分度: 评估于 2026年7月20日 审查版本 5b3e1be7be9e
使用前请注意
  • 本评估未执行 TypeScript 检查、单元测试或 Aspire/Agent Debug Log 端到端验证。
  • 实施前应核对文档中引用的源码路径、导出器过滤规则、内容捕获设置和 SDK 内部字段是否与该修订版一致。
  • 遥测可能包含用户提示、工具参数、会话标识或模型响应;应确认 captureContent、截断、哈希和导出后端策略符合组织隐私要求。
  • 若监控后端或依赖海外网络,需为中国大陆环境准备可达性、代理或离线替代方案。
查看完整评分方法 →

它能做什么 & 适用场景

该技能专门指导 Visual Studio Code 仓库中 Copilot Chat 扩展的 OpenTelemetry 埋点工作。它覆盖前台代理、进程内 Copilot CLI、终端版 Copilot CLI 和 Claude Code 四条执行路径,以及 IOTelService、跨度、指标、事件和跨进程传播约定。修改实现时,必须同步更新用户监控文档、架构文档和相关测试。它适合需要在该代码库中新增或审查遥测的开发者,而不是通用的 OpenTelemetry 教程或独立运行时组件。

要求使用者先阅读 extensions/copilot/docs/monitoring/agent_monitoring.md 和 agent_monitoring_arch.md,并在代码变更的同一修改中维护文档。它规定通过 IOTelService 创建 invoke_agent、chat、execute_tool 和 execute_hook 等跨度,使用 genAiAttributes.ts 中的常量,并根据内容敏感度决定截断或由 captureContent 控制。它说明如何维护 Copilot CLI 的 Bridge SpanProcessor、Claude SDK 消息到 GenAI 跨度的合成、子代理上下文传播,以及 OTLP、文件和 SQLite 导出边界。它还要求更新设置注册、环境变量转换、导出操作名称和单元测试,并提供 tsc 编译检查、OTel/Bridge 测试及手动调试面板验证命令。

  1. 维护 Copilot Chat 前台代理的 invoke_agent、工具和钩子跨度时,开发者需要遵循统一的命名、属性和错误状态约定。
  2. 接入或修改进程内 Copilot CLI 时,开发者需要维护 Bridge SpanProcessor、跨度层级、traceparent 和钩子上下文。
  3. 调整 Claude Code 子进程遥测时,开发者需要根据 SDK 消息合成跨度,并通过本地语言模型服务器记录 chat 跨度。
  4. 新增指标、事件、属性或 OTel 配置时,开发者需要同步更新公开导出、监控文档和对应测试。
  5. 排查 Agent Debug Log 与 OTLP 或 SQLite 导出差异时,维护者需要确认 EXPORTABLE_OPERATION_NAMES 和调试面板隔离规则。

优缺点一览

优点
  • 针对 VS Code 仓库中的 Copilot Chat 扩展,给出了具体文件、类、属性命名空间和测试位置。
  • 覆盖四种代理执行模型,并明确区分直接埋点、CLI 桥接、环境变量转发和 Claude 消息合成。
  • 同时考虑调试面板、OTLP、文件和 SQLite 导出,包含旧属性的双写和内容捕获规则。
  • 提供配置变更、跨边界传播、桥接修改和验证流程的检查清单。
局限
  • 范围严格限定于 microsoft/vscode 中 `.github/skills/otel/SKILL.md` 描述的 Copilot Chat 扩展,不能直接视为通用 OpenTelemetry 方案。
  • 依赖对 VS Code 仓库目录结构和内部服务的了解,尤其是 IOTelService、NodeOTelService 和 Copilot CLI 桥接实现。
  • Copilot CLI 桥接访问 OpenTelemetry SDK v2 的内部 `_spanProcessors` 状态,SDK 结构变化可能造成风险。
  • 源材料没有提供独立安装流程、完整测试结果或其他平台的专门适配说明。
  • Claude SDK 不提供文件导出,CLI 运行时仅支持 `otlp-http`;CLI SDK 的单一 captureContent 设置同时影响调试面板和 OTLP。

如何安装

源材料未提供单独的安装器或客户端注册步骤。可检出仓库并定位该技能文件:

git clone https://github.com/microsoft/vscode.git
cd vscode
cat .github/skills/otel/SKILL.md

该技能位于 .github/skills/otel/;如何将它注册到具体 Agent Skills 客户端,源材料没有说明。

如何使用

在支持 Agent Skills 的客户端中,在需要修改 Copilot Chat OTel 时明确说明任务,例如:"请按照 .github/skills/otel/SKILL.md,为新的工具执行点添加 execute_tool 跨度,并同步更新 agent_monitoring.md、架构文档和测试。" 进行提交前,从 extensions/copilot/ 执行 npx tsc --noEmit --project tsconfig.json,再执行 npm test -- --grep "OTel\|Bridge";随后检查 Aspire Dashboard 和 VS Code Agent Debug Log。该技能没有定义独立命令、脚本或参数接口。

常见问题

这个技能会自动为任意项目添加 OpenTelemetry 吗?
不会。它是面向 microsoft/vscode 中 Copilot Chat 扩展的工程指导,规定应修改哪些实现、文档、配置和测试,并不声明提供独立的自动埋点工具。
使用它是否需要 OpenTelemetry 始终启用?
不需要。文档描述了 OTel 启用时使用 NodeOTelService,禁用时使用 InMemoryOTelService;后者仍可为 Agent Debug Log 保留内存中的跨度、指标和日志。
新增属性时可以直接写字符串键吗?
不可以。技能要求在 genAiAttributes.ts 中添加并使用常量,新的 Copilot 属性应优先使用 github.copilot.*,现有 copilot_chat.* 旧键在重命名场景下需要继续双写。
修改 Copilot CLI 桥接时最大的已知风险是什么?
桥接会访问 SDK 内部的 `_delegate._activeSpanProcessor._spanProcessors`。技能要求保留运行时保护,在访问结构变化时优雅降级,并同步更新架构文档和桥接单元测试。

同仓库的其他 Skills

均来自 microsoft/vscode

开发与工程 ✓ Microsoft · 官方

工具重命名兼容性检查

防止内置工具重命名破坏现有提示词与工具配置。

开发与工程 ✓ Microsoft · 官方

VS Code 配置策略维护助手

规范 VS Code 企业配置策略的注册、导出与验证。

设计与前端 ✓ Microsoft · 官方

VS Code 设计哲学

用价值、原则和设计动作,把“看起来不对”转化为可执行的界面改进。

开发与工程 ✓ Microsoft · 官方

Agent 主机端到端测试助手

用严格的回放夹具维护 VS Code Agent 主机端到端测试。

开发与工程 ✓ Microsoft · 官方

VS Code 集成浏览器架构指南

帮助开发者安全理解和修改 VS Code 集成浏览器的跨进程架构。

开发与工程 ✓ Microsoft · 官方

VS Code Agents 窗口会话架构

帮助代理安全实现和修复 VS Code Agents 窗口功能。

开发与工程 ✓ Microsoft · 官方

智能提交助手

根据仓库惯例生成提交信息并安全提交代码变更。

开发与工程 ✓ Microsoft · 官方

Agent Host 日志分析

定位 Agent Host 导出日志中的会话、传输与主机问题。

开发与工程 ✓ Microsoft · 官方

VS Code 单元测试助手

在 VS Code 源码仓库中按文件、测试名称或匹配模式运行单元测试。

开发与工程 ✓ Microsoft · 官方

VS Code Agent 定制助手

帮助创建、修复和排查 VS Code Agent 定制文件及其加载问题。

开发与工程 ✓ Microsoft · 官方

Code OSS 启动与调试

为 VS Code 源码构建提供隔离启动、Playwright 自动化和多进程调试端口。

开发与工程 ✓ Microsoft · 官方

VS Code 无障碍开发助手

为 VS Code 交互式功能提供可执行的无障碍实现规范。

设计与前端 ✓ Microsoft · 官方

VS Code CSS 布局规范

用 VS Code 规范构建稳健的 CSS 布局与文本截断体验

开发与工程 ✓ Microsoft · 官方

VS Code Chat 性能实验室

基准测试聊天渲染性能,并检测会话中的内存泄漏。

开发与工程 ✓ Microsoft · 官方

组件夹具与截图测试

帮助你为 VS Code 组件创建稳定、可主题化的截图测试夹具。

开发与工程 ✓ Microsoft · 官方

VS Code 冒烟测试助手

运行、筛选并调试 VS Code 端到端冒烟测试。

开发与工程 ✓ Microsoft · 官方

VS Code 崩溃转储符号化

将原生 VS Code 崩溃转储转换为带方法名的可读回溯。

开发与工程 ✓ Microsoft · 官方

VS Code 本地 Web 工作台

在本地 vscode.dev 中验证 VS Code 工作台和 Agents 窗口改动。

开发与工程 ✓ Microsoft · 官方

反馈执行器

读取当前会话反馈并落实对应代码修改。

开发与工程 ✓ Microsoft · 官方

VS Code 聊天定制编辑器开发技能

帮助开发者安全修改并测试 VS Code 的聊天定制管理界面。

相关 Skills