OpenTelemetry (OTel) 是一个开放源代码可观测性框架。 它提供一种标准方法,用于收集遥测事件和指标并将其导出到兼容的可观测性工具。 有关详细信息,请参阅 OTel 网站上的什么是 OpenTelemetry?
启用 OTel 监视时,可以将用户 Copilot 客户端中的数据发送到与 OTel 兼容的后端。 这样,便可以分析代理会话并了解企业中的代理使用情况。
Copilot 会发送哪些数据?
Copilot 发送三种类型的数据:
- 追踪展示代理会话的流程,并将各个步骤串联起来,包括模型调用和工具调用。 例如,跟踪可以显示某个代理调用模型、使用
readFile工具,然后再次调用模型以生成响应。 - 指标 是数值度量值,可帮助识别随时间推移的模式。 例如,令牌使用指标跟踪模型调用中使用的输入和输出令牌的数量。
- 事件 记录特定时间点的各个操作。 例如,编辑反馈事件记录用户是接受还是拒绝代理编辑。
默认情况下,数据不包括提示、响应或工具参数。 可以选择捕获此内容,但它可能包含敏感信息,例如代码、文件内容和用户提示。
启用 OpenTelemetry
从用户的 Copilot 客户端收集 OTel 数据:
- 配置可观测性后端。 选择支持 OpenTelemetry 协议(OTLP)的安全后端。 某些后端可以直接接收 OTLP 数据。 对于其他后端,请部署 OpenTelemetry 收集器 来接收、处理和转发数据。 有关示例,请参阅VS Code 文档中的与可观测性后端结合使用。
- 配置用户的客户端。 设置配置值以在每个客户端中启用 OTel,并通过配置终结点、标头和身份验证令牌将其配置为将数据发送到 OTLP 终结点。
- 解释数据。 使用收集的数据分析会话并确定趋势。 有关示例实现,请参阅 Microsoft 文档中使用 Grafana 监视 AI 编码代理。
配置用户的客户端
企业可以通过托管设置在受支持的客户端上强制执行 OTel 配置。 这些设置会在所有用户的客户端上统一生效,且无法被覆盖。 该 telemetry 属性包括用于启用和配置 OpenTelemetry 的密钥。
客户端文档
有关如何跨客户端使用 OpenTelemetry 的更多详细信息,请参阅: