Monitoramento de uso
Monitore o uso do Claude Code com métricas OpenTelemetry
O suporte ao OpenTelemetry está atualmente em beta e os detalhes estão sujeitos a alterações.
OpenTelemetry no Claude Code
O Claude Code suporta métricas OpenTelemetry (OTel) para monitoramento e observabilidade. Este documento explica como habilitar e configurar o OTel para o Claude Code.
Todas as métricas são dados de séries temporais exportados através do protocolo padrão de métricas do OpenTelemetry. É responsabilidade do usuário garantir que seu backend de métricas esteja configurado adequadamente e que a granularidade de agregação atenda aos seus requisitos de monitoramento.
Início Rápido
Configure o OpenTelemetry usando variáveis de ambiente:
O intervalo de exportação padrão é de 10 minutos. Durante a configuração, você pode querer usar um intervalo mais curto para fins de depuração. Lembre-se de redefinir isso para uso em produção.
Para opções completas de configuração, consulte a especificação OpenTelemetry.
Configuração de Administrador
Os administradores podem configurar as definições do OpenTelemetry para todos os usuários através do arquivo de configurações gerenciadas. Isso permite um controle centralizado das configurações de telemetria em toda a organização. Consulte a hierarquia de configuração para mais informações sobre como as configurações são aplicadas.
O arquivo de configurações gerenciadas está localizado em:
- macOS:
/Library/Application Support/ClaudeCode/managed-settings.json
- Linux:
/etc/claude-code/managed-settings.json
Exemplo de configuração de configurações gerenciadas:
As configurações gerenciadas podem ser distribuídas via MDM (Mobile Device Management) ou outras soluções de gerenciamento de dispositivos. As variáveis de ambiente definidas no arquivo de configurações gerenciadas têm alta precedência e não podem ser substituídas pelos usuários.
Detalhes de Configuração
Variáveis de Configuração Comuns
Variável de Ambiente | Descrição | Valores de Exemplo |
---|---|---|
CLAUDE_CODE_ENABLE_TELEMETRY | Habilita a coleta de telemetria (obrigatório) | 1 |
OTEL_METRICS_EXPORTER | Tipo(s) de exportador a ser usado (separados por vírgula) | console , otlp , prometheus |
OTEL_EXPORTER_OTLP_PROTOCOL | Protocolo para exportador OTLP | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_ENDPOINT | Endpoint do coletor OTLP | http://localhost:4317 |
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 o arquivo de chave do cliente |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE | Certificado do cliente para autenticação mTLS | Caminho para o arquivo de certificado do cliente |
OTEL_METRIC_EXPORT_INTERVAL | Intervalo de exportação em milissegundos (padrão: 10000) | 5000 , 60000 |
Controle de Cardinalidade de Métricas
As seguintes variáveis de ambiente controlam quais atributos são incluídos nas métricas para gerenciar a cardinalidade:
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 |
Essas variáveis ajudam a controlar a cardinalidade das métricas, o que afeta os requisitos de armazenamento e o desempenho de consulta em seu backend de métricas. Menor cardinalidade geralmente significa melhor desempenho e custos de armazenamento mais baixos, mas dados menos granulares para análise.
Exemplos de Configurações
Métricas Disponíveis
O Claude Code exporta as seguintes métricas:
Nome da Métrica | Descrição | Unidade |
---|---|---|
claude_code.session.count | Contagem de sessões CLI iniciadas | contagem |
claude_code.lines_of_code.count | Contagem de linhas de código modificadas | contagem |
claude_code.pull_request.count | Número de pull requests criados | contagem |
claude_code.commit.count | Número de commits git criados | contagem |
claude_code.cost.usage | Custo da sessão do Claude Code | USD |
claude_code.token.usage | Número de tokens usados | tokens |
Detalhes das Métricas
Todas as métricas compartilham estes atributos padrão:
session.id
: Identificador único de sessão (controlado porOTEL_METRICS_INCLUDE_SESSION_ID
)app.version
: Versão atual do Claude Code (controlado porOTEL_METRICS_INCLUDE_VERSION
)organization.id
: UUID da organização (quando autenticado)user.account_uuid
: UUID da conta (quando autenticado, controlado porOTEL_METRICS_INCLUDE_ACCOUNT_UUID
)
1. Contador de Sessão
Emitido no início de cada sessão.
2. Contador de Linhas de Código
Emitido quando o código é adicionado ou removido.
- Atributo adicional:
type
("added"
ou"removed"
)
3. Contador de Pull Request
Emitido ao criar pull requests via Claude Code.
4. Contador de Commit
Emitido ao criar commits git via Claude Code.
5. Contador de Custo
Emitido após cada solicitação de API.
- Atributo adicional:
model
6. Contador de Token
Emitido após cada solicitação de API.
- Atributos adicionais:
type
("input"
,"output"
,"cacheRead"
,"cacheCreation"
) emodel
Interpretando Dados de Métricas
Essas métricas fornecem insights sobre padrões de uso, produtividade e custos:
Monitoramento de Uso
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 | Acompanhar 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 o impacto nos fluxos de trabalho de desenvolvimento |
Monitoramento de Custo
A métrica claude_code.cost.usage
ajuda com:
- Rastreamento de tendências de uso entre equipes ou indivíduos
- Identificação de sessões de alto uso para otimização
As métricas de custo são aproximações. Para dados oficiais de faturamento, consulte seu provedor de API (Anthropic Console, AWS Bedrock ou Google Cloud Vertex).
Alertas e Segmentação
Alertas comuns a considerar:
- Picos de custo
- Consumo incomum de tokens
- Alto volume de sessões de usuários específicos
Todas as métricas podem ser segmentadas por user.account_uuid
, organization.id
, session.id
, model
e app.version
.
Considerações sobre Backend
Tipo de Backend | Melhor Para |
---|---|
Bancos de dados de séries temporais (Prometheus) | Cálculos de taxa, métricas agregadas |
Armazenamentos colunares (ClickHouse) | Consultas complexas, análise de usuários únicos |
Plataformas de observabilidade (Honeycomb, Datadog) | Consultas avançadas, visualização, alertas |
Para métricas DAU/WAU/MAU, escolha backends que suportem consultas eficientes de valores únicos.
Informações de Serviço
Todas as métricas são exportadas com:
- Nome do Serviço:
claude-code
- Versão do Serviço: Versão atual do Claude Code
- Nome do Medidor:
com.anthropic.claude_code
Considerações de Segurança
- A telemetria é opt-in e requer configuração explícita
- Informações sensíveis como chaves de API ou conteúdo de arquivos nunca são incluídas nas métricas