Skip to main content

用于代理监控的 OpenTelemetry

了解 Copilot 代理的表现,以及它们如何与模型和工具交互。

OpenTelemetry (OTel) 是一个开放源代码可观测性框架。 它提供一种标准方法,用于收集遥测事件和指标并将其导出到兼容的可观测性工具。 有关详细信息,请参阅 OTel 网站上的什么是 OpenTelemetry?

启用 OTel 监视时,可以将用户 Copilot 客户端中的数据发送到与 OTel 兼容的后端。 这样,便可以分析代理会话并了解企业中的代理使用情况。

Copilot 会发送哪些数据?

Copilot 发送三种类型的数据:

  • 追踪展示代理会话的流程,并将各个步骤串联起来,包括模型调用和工具调用。 例如,跟踪可以显示某个代理调用模型、使用 readFile 工具,然后再次调用模型以生成响应。
  • 指标 是数值度量值,可帮助识别随时间推移的模式。 例如,令牌使用指标跟踪模型调用中使用的输入和输出令牌的数量。
  • 事件 记录特定时间点的各个操作。 例如,编辑反馈事件记录用户是接受还是拒绝代理编辑。

默认情况下,数据不包括提示、响应或工具参数。 可以选择捕获此内容,但它可能包含敏感信息,例如代码、文件内容和用户提示。

启用 OpenTelemetry

从用户的 Copilot 客户端收集 OTel 数据:

  1. 配置可观测性后端。 选择支持 OpenTelemetry 协议(OTLP)的安全后端。 某些后端可以直接接收 OTLP 数据。 对于其他后端,请部署 OpenTelemetry 收集器 来接收、处理和转发数据。 有关示例,请参阅VS Code 文档中的与可观测性后端结合使用
  2. 配置用户的客户端。 设置配置值以在每个客户端中启用 OTel,并通过配置终结点、标头和身份验证令牌将其配置为将数据发送到 OTLP 终结点。
  3. 解释数据。 使用收集的数据分析会话并确定趋势。 有关示例实现,请参阅 Microsoft 文档中使用 Grafana 监视 AI 编码代理

配置用户的客户端

企业可以通过托管设置在受支持的客户端上强制执行 OTel 配置。 这些设置会在所有用户的客户端上统一生效,且无法被覆盖。 该 telemetry 属性包括用于启用和配置 OpenTelemetry 的密钥。

有关详细信息,请参阅 配置企业管理设置企业托管设置

客户端文档

有关如何跨客户端使用 OpenTelemetry 的更多详细信息,请参阅: