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

Copilot Chat OpenTelemetry 埋点指南

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

FollowSkills 评估 · FSRS-2.0
推荐
60/ 100 五分制 3.0 / 5
1 2 3 4 5 6
1信任安全19 / 25 · 3.8/5

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

2可靠稳定9 / 20 · 2.3/5

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

3适用触发10 / 15 · 3.3/5

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

4规范维护10 / 15 · 3.3/5

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

5有效结果7 / 15 · 2.3/5

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

6证据核验5 / 10 · 2.5/5

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

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

这个 Skill 能做什么,适合哪些场景?

该技能专门指导 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 和调试面板隔离规则。

这个 Skill 有哪些优点和局限?

优点
  • 针对 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。

如何安装这个 Skill?

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

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

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

如何使用这个 Skill?

在支持 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 · 官方

Copilot 聊天故障排查

通过 Copilot Chat 调试日志解释代理行为、工具调用和加载失败。

开发与工程 ✓ Microsoft · 官方

VS Code Insiders 自动化技能

通过 Playwright 自动化 VS Code Insiders 与 Copilot Chat。

开发与工程 ✓ Microsoft · 官方

Agent Host 日志分析

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

开发与工程 ✓ Microsoft · 官方

VS Code 错误遥测修复指南

从错误遥测追溯无效数据源头,修复未处理错误而不是掩盖崩溃。

开发与工程 ✓ Microsoft · 官方

Copilot 会话故障诊断

基于会话日志解释 Copilot CLI 为何出现异常行为。

开发与工程 ✓ Microsoft · 官方

代码库初始化定制器

探索代码库并生成或更新帮助 AI 编程代理工作的定制文件。

开发与工程 ✓ Microsoft · 官方

自定义代理创建器

根据工作目标和对话上下文创建专用的 .agent.md 代理文件。

开发与工程 ✓ Microsoft · 官方

Agent 主机端到端测试助手

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

开发与工程 ✓ Microsoft · 官方

VS Code Agent 定制助手

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

开发与工程 ✓ Microsoft · 官方

VS Code Chat 性能实验室

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

开发与工程 ✓ Microsoft · 官方

VS Code 本地 Web 工作台

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

开发与工程 ✓ Microsoft · 官方

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

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

开发与工程 ✓ Microsoft · 官方

CPU 性能剖析分析器

从 V8 和 DevTools 性能文件中定位性能瓶颈。

开发与工程 ✓ Microsoft · 官方

Code OSS 开发日志查看器

快速定位并读取 Code OSS 开发运行日志。

开发与工程 ✓ Microsoft · 官方

项目指令创建器

把对话中的规则和偏好整理成项目指令文件。

开发与工程 ✓ Microsoft · 官方

工作流技能构建器

把对话中的工作方法整理成可复用的 SKILL.md。

开发与工程 ✓ Microsoft · 官方

VS Code 性能调查工作流

自动化复现 VS Code 场景并采集性能与内存证据。

自动化与运维 ✓ Microsoft · 官方

Azure Pipelines 验证助手

快速验证 VS Code 的 Azure DevOps 流水线变更。

自动化与运维 ✓ Microsoft · 官方

Hook 政策创建器

把代理行为要求转化为可执行的生命周期 Hook。

开发与工程 ✓ Microsoft · 官方

可复用提示词创建器

把重复任务整理成可复用的 .prompt.md 文件。

相关 Skills