Pular para o conteúdo

Exportação OpenTelemetry

O agentistics exporta métricas de uso por OpenTelemetry (OTLP/HTTP). Funciona com Grafana, Datadog, New Relic, Honeycomb e qualquer coletor compatível com OTLP.

Defina o endpoint antes de subir o servidor:

Janela do terminal
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 agentop server

O daemon de OpenTelemetry já roda dentro do agentop server. Numa máquina sem interface, rode só o daemon:

Janela do terminal
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 agentop watch

Para deixar o daemon ligado com o sistema:

Janela do terminal
agentop autostart watch enable
Variável Padrão Descrição
OTEL_EXPORTER_OTLP_ENDPOINT nenhum (exportação desligada) endpoint do coletor OTLP
OTEL_EXPORTER_OTLP_HEADERS nenhum cabeçalhos extras, por exemplo Authorization=Bearer token
OTEL_SERVICE_NAME agentistics nome do serviço nas métricas
CLAUDE_STATS_WATCH_INTERVAL 30 intervalo de leitura em segundos (mínimo 5)

O daemon observa os dados do Claude Code em ~/.claude/, recalcula as métricas a cada mudança (com um intervalo de 2 segundos para juntar mudanças em sequência), lê de novo a cada CLAUDE_STATS_WATCH_INTERVAL segundos para não perder nada e envia tudo ao endpoint.

Todas usam o prefixo claude_stats:

Métrica Tipo Unidade
claude_stats.messages.total Counter mensagens
claude_stats.sessions.total Counter sessões
claude_stats.tool_calls.total Counter chamadas
claude_stats.tokens.input Counter tokens
claude_stats.tokens.output Counter tokens
claude_stats.cost.usd Counter USD (estimado)
claude_stats.git.commits Counter commits
claude_stats.git.lines_added Counter linhas
claude_stats.git.lines_removed Counter linhas
claude_stats.git.files_modified Counter arquivos
claude_stats.streak Gauge dias
claude_stats.longest_session Gauge minutos
claude_stats.active_projects Gauge projetos
claude_stats.tokens.by_model.input Counter tokens por modelo
claude_stats.tokens.by_model.output Counter tokens por modelo
claude_stats.tool_calls.by_tool Counter chamadas por ferramenta
otel-config.yaml
receivers:
otlp:
protocols:
http:
endpoint: 0.0.0.0:4318
exporters:
prometheus:
endpoint: "0.0.0.0:8889"
service:
pipelines:
metrics:
receivers: [otlp]
exporters: [prometheus]

No Grafana, adicione uma fonte Prometheus apontando para o coletor (porta 8889) e use as métricas claude_stats.*.

A pasta grafana/ do repositório traz uma pilha local pronta, com Docker Compose: o coletor OTel na porta 4318, o Prometheus na 9090 e o Grafana na 3000, já com a fonte de dados e um painel do agentistics configurados.