Aprenda como habilitar e configurar OpenTelemetry para Claude Code.
/Library/Application Support/ClaudeCode/managed-settings.json
/etc/claude-code/managed-settings.json
C:\ProgramData\ClaudeCode\managed-settings.json
Variável de Ambiente | Descrição | Valores de Exemplo |
---|---|---|
CLAUDE_CODE_ENABLE_TELEMETRY | Habilita coleta de telemetria (obrigatório) | 1 |
OTEL_METRICS_EXPORTER | Tipo(s) de exportador de métricas (separados por vírgula) | console , otlp , prometheus |
OTEL_LOGS_EXPORTER | Tipo(s) de exportador de logs/eventos (separados por vírgula) | console , otlp |
OTEL_EXPORTER_OTLP_PROTOCOL | Protocolo para exportador OTLP (todos os sinais) | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_ENDPOINT | Endpoint do coletor OTLP (todos os sinais) | http://localhost:4317 |
OTEL_EXPORTER_OTLP_METRICS_PROTOCOL | Protocolo para métricas (substitui geral) | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT | Endpoint de métricas OTLP (substitui geral) | http://localhost:4318/v1/metrics |
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL | Protocolo para logs (substitui geral) | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT | Endpoint de logs OTLP (substitui geral) | http://localhost:4318/v1/logs |
OTEL_EXPORTER_OTLP_HEADERS | Cabeçalhos de autenticação para OTLP | Authorization=Bearer token |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY | Chave do cliente para autenticação mTLS | Caminho para arquivo de chave do cliente |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE | Certificado do cliente para autenticação mTLS | Caminho para arquivo de certificado do cliente |
OTEL_METRIC_EXPORT_INTERVAL | Intervalo de exportação em milissegundos (padrão: 60000) | 5000 , 60000 |
OTEL_LOGS_EXPORT_INTERVAL | Intervalo de exportação de logs em milissegundos (padrão: 5000) | 1000 , 10000 |
OTEL_LOG_USER_PROMPTS | Habilitar logging do conteúdo de prompts do usuário (padrão: desabilitado) | 1 para habilitar |
Variável de Ambiente | Descrição | Valor Padrão | Exemplo para Desabilitar |
---|---|---|---|
OTEL_METRICS_INCLUDE_SESSION_ID | Incluir atributo session.id nas métricas | true | false |
OTEL_METRICS_INCLUDE_VERSION | Incluir atributo app.version nas métricas | false | true |
OTEL_METRICS_INCLUDE_ACCOUNT_UUID | Incluir atributo user.account_uuid nas métricas | true | false |
.claude/settings.json
:
OTEL_RESOURCE_ATTRIBUTES
:
OTEL_RESOURCE_ATTRIBUTES
segue a especificação W3C Baggage, que tem requisitos de formatação rigorosos:user.organizationName=My Company
é inválidokey1=value1,key2=value2
"key=value with spaces"
) não é suportado pela especificação OpenTelemetry e resultará em atributos sendo prefixados com aspas.Atributo | Descrição | Controlado Por |
---|---|---|
session.id | Identificador único da sessão | OTEL_METRICS_INCLUDE_SESSION_ID (padrão: true) |
app.version | Versão atual do Claude Code | OTEL_METRICS_INCLUDE_VERSION (padrão: false) |
organization.id | UUID da organização (quando autenticado) | Sempre incluído quando disponível |
user.account_uuid | UUID da conta (quando autenticado) | OTEL_METRICS_INCLUDE_ACCOUNT_UUID (padrão: true) |
terminal.type | Tipo de terminal (por exemplo, iTerm.app , vscode , cursor , tmux ) | Sempre incluído quando detectado |
Nome da Métrica | Descrição | Unidade |
---|---|---|
claude_code.session.count | Contagem de sessões CLI iniciadas | count |
claude_code.lines_of_code.count | Contagem de linhas de código modificadas | count |
claude_code.pull_request.count | Número de pull requests criados | count |
claude_code.commit.count | Número de commits git criados | count |
claude_code.cost.usage | Custo da sessão Claude Code | USD |
claude_code.token.usage | Número de tokens usados | tokens |
claude_code.code_edit_tool.decision | Contagem de decisões de permissão da ferramenta de edição de código | count |
claude_code.active_time.total | Tempo ativo total em segundos | s |
type
: ("added"
, "removed"
)model
: Identificador do modelo (por exemplo, “claude-3-5-sonnet-20241022”)type
: ("input"
, "output"
, "cacheRead"
, "cacheCreation"
)model
: Identificador do modelo (por exemplo, “claude-3-5-sonnet-20241022”)tool
: Nome da ferramenta ("Edit"
, "MultiEdit"
, "Write"
, "NotebookEdit"
)decision
: Decisão do usuário ("accept"
, "reject"
)language
: Linguagem de programação do arquivo editado (por exemplo, "TypeScript"
, "Python"
, "JavaScript"
, "Markdown"
). Retorna "unknown"
para extensões de arquivo não reconhecidas.OTEL_LOGS_EXPORTER
está configurado):
claude_code.user_prompt
Atributos:
event.name
: "user_prompt"
event.timestamp
: Timestamp ISO 8601prompt_length
: Comprimento do promptprompt
: Conteúdo do prompt (censurado por padrão, habilite com OTEL_LOG_USER_PROMPTS=1
)claude_code.tool_result
Atributos:
event.name
: "tool_result"
event.timestamp
: Timestamp ISO 8601tool_name
: Nome da ferramentasuccess
: "true"
ou "false"
duration_ms
: Tempo de execução em milissegundoserror
: Mensagem de erro (se falhou)decision
: Ou "accept"
ou "reject"
source
: Fonte da decisão - "config"
, "user_permanent"
, "user_temporary"
, "user_abort"
, ou "user_reject"
tool_parameters
: String JSON contendo parâmetros específicos da ferramenta (quando disponível)
bash_command
, full_command
, timeout
, description
, sandbox
claude_code.api_request
Atributos:
event.name
: "api_request"
event.timestamp
: Timestamp ISO 8601model
: Modelo usado (por exemplo, “claude-3-5-sonnet-20241022”)cost_usd
: Custo estimado em USDduration_ms
: Duração da requisição em milissegundosinput_tokens
: Número de tokens de entradaoutput_tokens
: Número de tokens de saídacache_read_tokens
: Número de tokens lidos do cachecache_creation_tokens
: Número de tokens usados para criação de cacheclaude_code.api_error
Atributos:
event.name
: "api_error"
event.timestamp
: Timestamp ISO 8601model
: Modelo usado (por exemplo, “claude-3-5-sonnet-20241022”)error
: Mensagem de errostatus_code
: Código de status HTTP (se aplicável)duration_ms
: Duração da requisição em milissegundosattempt
: Número da tentativa (para requisições repetidas)claude_code.tool_decision
Atributos:
event.name
: "tool_decision"
event.timestamp
: Timestamp ISO 8601tool_name
: Nome da ferramenta (por exemplo, “Read”, “Edit”, “MultiEdit”, “Write”, “NotebookEdit”, etc.)decision
: Ou "accept"
ou "reject"
source
: Fonte da decisão - "config"
, "user_permanent"
, "user_temporary"
, "user_abort"
, ou "user_reject"
Métrica | Oportunidade de Análise |
---|---|
claude_code.token.usage | Detalhar por type (entrada/saída), usuário, equipe ou modelo |
claude_code.session.count | Rastrear adoção e engajamento ao longo do tempo |
claude_code.lines_of_code.count | Medir produtividade rastreando adições/remoções de código |
claude_code.commit.count & claude_code.pull_request.count | Entender impacto nos fluxos de trabalho de desenvolvimento |
claude_code.cost.usage
ajuda com:
user.account_uuid
, organization.id
, session.id
, model
e app.version
.
service.name
: claude-code
service.version
: Versão atual do Claude Codeos.type
: Tipo do sistema operacional (por exemplo, linux
, darwin
, windows
)os.version
: String da versão do sistema operacionalhost.arch
: Arquitetura do host (por exemplo, amd64
, arm64
)wsl.version
: Número da versão WSL (presente apenas quando executando no Windows Subsystem for Linux)com.anthropic.claude_code
OTEL_LOG_USER_PROMPTS=1