快速开始
使用环境变量配置 OpenTelemetry:默认导出间隔为指标 60 秒和日志 5 秒。在设置期间,您可能希望使用更短的间隔用于调试目的。请记住为生产使用重置这些值。
管理员配置
管理员可以通过 托管设置文件 为所有用户配置 OpenTelemetry 设置。这允许在整个组织中集中控制遥测设置。有关设置如何应用的更多信息,请参阅 设置优先级。 示例托管设置配置:托管设置可以通过 MDM(移动设备管理)或其他设备管理解决方案分发。在托管设置文件中定义的环境变量具有高优先级,用户无法覆盖。
配置详情
常见配置变量
指标基数控制
以下环境变量控制指标中包含哪些属性以管理基数:
这些变量有助于控制指标的基数,这会影响指标后端中的存储要求和查询性能。较低的基数通常意味着更好的性能和更低的存储成本,但分析的数据粒度较低。
动态标头
对于需要动态身份验证的企业环境,您可以配置脚本来动态生成标头:设置配置
添加到您的.claude/settings.json:
脚本要求
脚本必须输出有效的 JSON,其中包含表示 HTTP 标头的字符串键值对:刷新行为
标头助手脚本在启动时运行,之后定期运行以支持令牌刷新。默认情况下,脚本每 29 分钟运行一次。使用CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS 环境变量自定义间隔。
多团队组织支持
具有多个团队或部门的组织可以使用OTEL_RESOURCE_ATTRIBUTES 环境变量添加自定义属性以区分不同的组:
- 按团队或部门过滤指标
- 按成本中心跟踪成本
- 创建特定于团队的仪表板
- 为特定团队设置警报
示例配置
可用的指标和事件
标准属性
所有指标和事件共享这些标准属性:指标
Claude Code 导出以下指标:指标详情
会话计数器
在每个会话开始时递增。 属性:- 所有 标准属性
代码行计数器
当添加或删除代码时递增。 属性:- 所有 标准属性
type:("added"、"removed")
拉取请求计数器
通过 Claude Code 创建拉取请求时递增。 属性:- 所有 标准属性
提交计数器
通过 Claude Code 创建 git 提交时递增。 属性:- 所有 标准属性
成本计数器
在每个 API 请求后递增。 属性:- 所有 标准属性
model:模型标识符(例如,“claude-sonnet-4-5-20250929”)
令牌计数器
在每个 API 请求后递增。 属性:- 所有 标准属性
type:("input"、"output"、"cacheRead"、"cacheCreation")model:模型标识符(例如,“claude-sonnet-4-5-20250929”)
代码编辑工具决策计数器
当用户接受或拒绝 Edit、Write 或 NotebookEdit 工具使用时递增。 属性:- 所有 标准属性
tool:工具名称("Edit"、"Write"、"NotebookEdit")decision:用户决策("accept"、"reject")language:编辑文件的编程语言(例如,"TypeScript"、"Python"、"JavaScript"、"Markdown")。对于无法识别的文件扩展名,返回"unknown"。
活跃时间计数器
跟踪实际花费在积极使用 Claude Code 上的时间(不是空闲时间)。此指标在用户交互期间递增,例如输入提示或接收响应。 属性:- 所有 标准属性
事件
Claude Code 通过 OpenTelemetry 日志/事件导出以下事件(当配置了OTEL_LOGS_EXPORTER 时):
用户提示事件
当用户提交提示时记录。 事件名称:claude_code.user_prompt
属性:
- 所有 标准属性
event.name:"user_prompt"event.timestamp:ISO 8601 时间戳prompt_length:提示的长度prompt:提示内容(默认为已编辑,使用OTEL_LOG_USER_PROMPTS=1启用)
工具结果事件
当工具完成执行时记录。 事件名称:claude_code.tool_result
属性:
- 所有 标准属性
event.name:"tool_result"event.timestamp:ISO 8601 时间戳tool_name:工具的名称success:"true"或"false"duration_ms:执行时间(毫秒)error:错误消息(如果失败)decision:"accept"或"reject"source:决策来源 -"config"、"user_permanent"、"user_temporary"、"user_abort"或"user_reject"tool_parameters:包含工具特定参数的 JSON 字符串(如果可用)- 对于 Bash 工具:包括
bash_command、full_command、timeout、description、sandbox
- 对于 Bash 工具:包括
API 请求事件
为每个对 Claude 的 API 请求记录。 事件名称:claude_code.api_request
属性:
- 所有 标准属性
event.name:"api_request"event.timestamp:ISO 8601 时间戳model:使用的模型(例如,“claude-sonnet-4-5-20250929”)cost_usd:USD 估计成本duration_ms:请求持续时间(毫秒)input_tokens:输入令牌数output_tokens:输出令牌数cache_read_tokens:从缓存读取的令牌数cache_creation_tokens:用于缓存创建的令牌数
API 错误事件
当对 Claude 的 API 请求失败时记录。 事件名称:claude_code.api_error
属性:
- 所有 标准属性
event.name:"api_error"event.timestamp:ISO 8601 时间戳model:使用的模型(例如,“claude-sonnet-4-5-20250929”)error:错误消息status_code:HTTP 状态代码(如果适用)duration_ms:请求持续时间(毫秒)attempt:尝试次数(对于重试的请求)
工具决策事件
当做出工具权限决策(接受/拒绝)时记录。 事件名称:claude_code.tool_decision
属性:
- 所有 标准属性
event.name:"tool_decision"event.timestamp:ISO 8601 时间戳tool_name:工具的名称(例如,“Read”、“Edit”、“Write”、“NotebookEdit”)decision:"accept"或"reject"source:决策来源 -"config"、"user_permanent"、"user_temporary"、"user_abort"或"user_reject"
解释指标和事件数据
Claude Code 导出的指标提供了对使用模式和生产力的宝贵见解。以下是您可以创建的一些常见可视化和分析:使用情况监控
成本监控
claude_code.cost.usage 指标有助于:
- 跟踪团队或个人的使用趋势
- 识别高使用会话以进行优化
成本指标是近似值。有关官方计费数据,请参阅您的 API 提供商(Claude 控制台、AWS Bedrock 或 Google Cloud Vertex)。
警报和分段
要考虑的常见警报:- 成本激增
- 异常的令牌消耗
- 来自特定用户的高会话量
user.account_uuid、organization.id、session.id、model 和 app.version 进行分段。
事件分析
事件数据提供了对 Claude Code 交互的详细见解: 工具使用模式:分析工具结果事件以识别:- 最常用的工具
- 工具成功率
- 平均工具执行时间
- 按工具类型的错误模式
后端考虑事项
您选择的指标和日志后端决定了您可以执行的分析类型:对于指标
- 时间序列数据库(例如,Prometheus):速率计算、聚合指标
- 列式存储(例如,ClickHouse):复杂查询、唯一用户分析
- 全功能可观测性平台(例如,Honeycomb、Datadog):高级查询、可视化、警报
对于事件/日志
- 日志聚合系统(例如,Elasticsearch、Loki):全文搜索、日志分析
- 列式存储(例如,ClickHouse):结构化事件分析
- 全功能可观测性平台(例如,Honeycomb、Datadog):指标和事件之间的关联
服务信息
所有指标和事件都使用以下资源属性导出:service.name:claude-codeservice.version:当前 Claude Code 版本os.type:操作系统类型(例如,linux、darwin、windows)os.version:操作系统版本字符串host.arch:主机架构(例如,amd64、arm64)wsl.version:WSL 版本号(仅在 Windows Subsystem for Linux 上运行时出现)- 仪表名称:
com.anthropic.claude_code
ROI 测量资源
有关测量 Claude Code 投资回报率的综合指南,包括遥测设置、成本分析、生产力指标和自动化报告,请参阅 Claude Code ROI 测量指南。此存储库提供了现成的 Docker Compose 配置、Prometheus 和 OpenTelemetry 设置,以及用于生成与 Linear 等工具集成的生产力报告的模板。安全/隐私考虑事项
- 遥测是可选的,需要显式配置
- 敏感信息(如 API 密钥或文件内容)永远不会包含在指标或事件中
- 用户提示内容默认为已编辑 - 仅记录提示长度。要启用用户提示日志记录,请设置
OTEL_LOG_USER_PROMPTS=1