监控与分析
Claude Code OpenTelemetry、analytics dashboard、usage/cost 事件、traceparent、隐私开关、团队指标和 Passion8 网关观测边界。
Claude Code 有两类观测能力:本地/企业可配置的 OpenTelemetry 导出,以及 Anthropic 组织侧的 analytics dashboard。它们解决的问题不同。
| 能力 | 适合 |
|---|---|
| OpenTelemetry | 企业把 usage、成本、工具调用、trace 发到自己的观测系统 |
| Analytics dashboard | Team/Enterprise 或 API 组织看 adoption、活跃用户、接受行数、花费 |
/usage、/cost、status line | 单个开发者看当前会话和计划窗口 |
| Passion8 控制台 | 看网关余额、模型请求和实际扣费 |
接入 Passion8 后,Claude Code 本地仍能产生 OTel 数据,但 Anthropic 的平台 analytics 不一定能完整反映第三方网关账单。实际余额和扣费以 Passion8 为准。
#OpenTelemetry 快速开始
export CLAUDE_CODE_ENABLE_TELEMETRY=1
export OTEL_METRICS_EXPORTER=otlp
export OTEL_LOGS_EXPORTER=otlp
export OTEL_EXPORTER_OTLP_PROTOCOL=grpc
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer your-token"
claude调试时可以缩短导出周期:
export OTEL_METRIC_EXPORT_INTERVAL=10000
export OTEL_LOGS_EXPORT_INTERVAL=5000生产环境不要把 interval 设得太短,否则观测系统和本机都会增加负担。
#管理员下发
组织可以通过 managed settings 强制启用:
{
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_LOGS_EXPORTER": "otlp",
"OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",
"OTEL_EXPORTER_OTLP_ENDPOINT": "http://collector.example.com:4317",
"OTEL_EXPORTER_OTLP_HEADERS": "Authorization=Bearer example-token"
}
}Managed settings 里的环境变量优先级高,普通用户不能覆盖。注意 Claude Code 不会把 OTEL_* 自动传给 Bash、Hooks、MCP servers 或 language servers。如果这些子进程也要导出 telemetry,需要单独配置。
#常用环境变量
| 变量 | 作用 |
|---|---|
CLAUDE_CODE_ENABLE_TELEMETRY | 启用 telemetry |
OTEL_METRICS_EXPORTER | otlp、prometheus、console、none |
OTEL_LOGS_EXPORTER | otlp、console、none |
OTEL_EXPORTER_OTLP_PROTOCOL | grpc、http/json、http/protobuf |
OTEL_EXPORTER_OTLP_ENDPOINT | OTLP collector 地址 |
OTEL_EXPORTER_OTLP_HEADERS | 静态认证 header |
OTEL_METRIC_EXPORT_INTERVAL | metrics 导出间隔 |
OTEL_LOGS_EXPORT_INTERVAL | logs 导出间隔 |
OTEL_LOG_USER_PROMPTS | 是否记录用户 prompt 原文 |
OTEL_LOG_ASSISTANT_RESPONSES | 是否记录 assistant 回复文本 |
OTEL_LOG_TOOL_DETAILS | 是否记录工具参数、命令、MCP 名称 |
OTEL_LOG_TOOL_CONTENT | tracing 中记录工具输入输出内容 |
OTEL_LOG_RAW_API_BODIES | 记录完整 Messages API 请求/响应,风险最高 |
CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS | 动态 header helper 刷新间隔 |
默认不要打开 OTEL_LOG_RAW_API_BODIES。它可能包含完整对话历史、文件片段、工具输入输出和密钥。只有在隔离环境排查协议问题时短期开启。
#Metrics cardinality
高基数字段会让监控存储变贵。官方提供这些开关:
| 变量 | 默认 | 作用 |
|---|---|---|
OTEL_METRICS_INCLUDE_SESSION_ID | true | 是否把 session.id 放入 metrics |
OTEL_METRICS_INCLUDE_VERSION | false | 是否带 Claude Code 版本 |
OTEL_METRICS_INCLUDE_ACCOUNT_UUID | true | 是否带账号标识 |
OTEL_METRICS_INCLUDE_ENTRYPOINT | false | 是否带入口来源 |
OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES | true | 是否把 resource attributes 作为 datapoint labels |
团队维度可以用:
export OTEL_RESOURCE_ATTRIBUTES="department=engineering,team.id=platform,cost_center=eng-123"不要在这里放空格或高基数随机值。
#Traces
Tracing 需要额外打开 beta 开关:
export CLAUDE_CODE_ENABLE_TELEMETRY=1
export CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1
export OTEL_TRACES_EXPORTER=otlp每个用户 prompt 会形成 claude_code.interaction root span,下面挂 API 请求、工具调用和 Hook 执行。子代理的 API 和工具 span 会挂在父级 Agent tool span 下。
claude_code.interaction
├── claude_code.llm_request
├── claude_code.hook
└── claude_code.tool
├── claude_code.tool.blocked_on_user
├── claude_code.tool.execution
└── subagent claude_code.llm_request / claude_code.tool当 tracing 打开时,Bash 和 PowerShell 子进程会收到 TRACEPARENT。如果你通过自定义 ANTHROPIC_BASE_URL 代理模型请求,默认不会把 traceparent 发给第三方 provider。确实要传播时设置:
export CLAUDE_CODE_PROPAGATE_TRACEPARENT=1#Analytics dashboard
| 计划 | 地址 | 内容 |
|---|---|---|
| Claude Team / Enterprise | https://claude.ai/analytics/claude-code | 使用量、贡献指标、leaderboard、CSV 导出 |
| Claude Console API | https://platform.claude.com/claude-code | 使用量、花费、团队 insight |
Team/Enterprise 的贡献指标需要 GitHub app 和组织设置。它会统计 Claude Code 辅助的 PR、代码行、接受率和活跃用户。Zero Data Retention 组织只能看 usage metrics,不能看贡献指标。
API 用户的 Console dashboard 主要显示 accepted lines、suggestion accept rate、activity、spend 和 per-user insights。Spend 是 analytics 估算,实际账单以 billing 为准。
#和缓存、成本的关系
| 行为 | 对 5m / 1h 缓存的影响 |
|---|---|
| 开启 OTel metrics/logs | 不改变模型 prompt,通常不影响缓存 |
| 开启 tracing | 不改变 prompt,但可能增加本机导出开销 |
| 打开 prompt/tool/raw body 记录 | 不影响缓存,但显著增加隐私和日志成本风险 |
/usage、/cost | 本地/账号用量展示,不改变 prompt 前缀 |
| status line 展示成本 | 本地脚本,不调用模型 |
如果要优化 Passion8 账单,优先看 Prompt 缓存、成本优化 和 Passion8 控制台,不要只看 Anthropic dashboard。
#官方参考
Support / 支持
Need help? / 需要帮助?
接入、计费与模型异常可邮件联系;服务可用性以状态页为准。
For setup, billing, or model issues, email us. Check the status page for uptime.
也可使用右下角微信 / QQ 客服 · WeChat / QQ support is available at the bottom right

