Monitoraggio dell'utilizzo
Monitora l’utilizzo di Claude Code con le metriche OpenTelemetry
Il supporto OpenTelemetry è attualmente in beta e i dettagli sono soggetti a modifiche.
OpenTelemetry in Claude Code
Claude Code supporta le metriche OpenTelemetry (OTel) per il monitoraggio e l’osservabilità. Questo documento spiega come abilitare e configurare OTel per Claude Code.
Tutti i dati metrici sono serie temporali esportate tramite il protocollo standard di metriche di OpenTelemetry. È responsabilità dell’utente assicurarsi che il proprio backend di metriche sia configurato correttamente e che la granularità di aggregazione soddisfi i requisiti di monitoraggio.
Avvio Rapido
Configura OpenTelemetry utilizzando le variabili d’ambiente:
L’intervallo di esportazione predefinito è di 10 minuti. Durante la configurazione, potresti voler utilizzare un intervallo più breve per scopi di debug. Ricorda di reimpostarlo per l’uso in produzione.
Per le opzioni di configurazione complete, consulta la specifica OpenTelemetry.
Configurazione dell’Amministratore
Gli amministratori possono configurare le impostazioni OpenTelemetry per tutti gli utenti attraverso il file delle impostazioni gestite. Questo permette un controllo centralizzato delle impostazioni di telemetria in tutta l’organizzazione. Consulta la gerarchia di configurazione per maggiori informazioni su come vengono applicate le impostazioni.
Il file delle impostazioni gestite si trova in:
- macOS:
/Library/Application Support/ClaudeCode/managed-settings.json
- Linux:
/etc/claude-code/managed-settings.json
Esempio di configurazione delle impostazioni gestite:
Le impostazioni gestite possono essere distribuite tramite MDM (Mobile Device Management) o altre soluzioni di gestione dei dispositivi. Le variabili d’ambiente definite nel file delle impostazioni gestite hanno un’alta precedenza e non possono essere sovrascritte dagli utenti.
Dettagli di Configurazione
Variabili di Configurazione Comuni
Variabile d’Ambiente | Descrizione | Valori di Esempio |
---|---|---|
CLAUDE_CODE_ENABLE_TELEMETRY | Abilita la raccolta di telemetria (richiesto) | 1 |
OTEL_METRICS_EXPORTER | Tipo/i di esportatore da utilizzare (separati da virgola) | console , otlp , prometheus |
OTEL_EXPORTER_OTLP_PROTOCOL | Protocollo per l’esportatore OTLP | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_ENDPOINT | Endpoint del collettore OTLP | http://localhost:4317 |
OTEL_EXPORTER_OTLP_HEADERS | Header di autenticazione per OTLP | Authorization=Bearer token |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY | Chiave client per l’autenticazione mTLS | Percorso al file della chiave client |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE | Certificato client per l’autenticazione mTLS | Percorso al file del certificato client |
OTEL_METRIC_EXPORT_INTERVAL | Intervallo di esportazione in millisecondi (predefinito: 10000) | 5000 , 60000 |
Controllo della Cardinalità delle Metriche
Le seguenti variabili d’ambiente controllano quali attributi sono inclusi nelle metriche per gestire la cardinalità:
Variabile d’Ambiente | Descrizione | Valore Predefinito | Esempio per Disabilitare |
---|---|---|---|
OTEL_METRICS_INCLUDE_SESSION_ID | Includi l’attributo session.id nelle metriche | true | false |
OTEL_METRICS_INCLUDE_VERSION | Includi l’attributo app.version nelle metriche | false | true |
OTEL_METRICS_INCLUDE_ACCOUNT_UUID | Includi l’attributo user.account_uuid nelle metriche | true | false |
Queste variabili aiutano a controllare la cardinalità delle metriche, che influisce sui requisiti di archiviazione e sulle prestazioni delle query nel backend delle metriche. Una cardinalità inferiore generalmente significa migliori prestazioni e costi di archiviazione più bassi, ma dati meno granulari per l’analisi.
Configurazioni di Esempio
Metriche Disponibili
Claude Code esporta le seguenti metriche:
Nome Metrica | Descrizione | Unità |
---|---|---|
claude_code.session.count | Conteggio delle sessioni CLI avviate | conteggio |
claude_code.lines_of_code.count | Conteggio delle righe di codice modificate | conteggio |
claude_code.pull_request.count | Numero di pull request create | conteggio |
claude_code.commit.count | Numero di commit git creati | conteggio |
claude_code.cost.usage | Costo della sessione Claude Code | USD |
claude_code.token.usage | Numero di token utilizzati | token |
Dettagli delle Metriche
Tutte le metriche condividono questi attributi standard:
session.id
: Identificatore univoco della sessione (controllato daOTEL_METRICS_INCLUDE_SESSION_ID
)app.version
: Versione corrente di Claude Code (controllato daOTEL_METRICS_INCLUDE_VERSION
)organization.id
: UUID dell’organizzazione (quando autenticato)user.account_uuid
: UUID dell’account (quando autenticato, controllato daOTEL_METRICS_INCLUDE_ACCOUNT_UUID
)
1. Contatore di Sessione
Emesso all’inizio di ogni sessione.
2. Contatore di Righe di Codice
Emesso quando il codice viene aggiunto o rimosso.
- Attributo aggiuntivo:
type
("added"
o"removed"
)
3. Contatore di Pull Request
Emesso quando si creano pull request tramite Claude Code.
4. Contatore di Commit
Emesso quando si creano commit git tramite Claude Code.
5. Contatore di Costi
Emesso dopo ogni richiesta API.
- Attributo aggiuntivo:
model
6. Contatore di Token
Emesso dopo ogni richiesta API.
- Attributi aggiuntivi:
type
("input"
,"output"
,"cacheRead"
,"cacheCreation"
) emodel
Interpretazione dei Dati Metrici
Queste metriche forniscono informazioni sui modelli di utilizzo, sulla produttività e sui costi:
Monitoraggio dell’Utilizzo
Metrica | Opportunità di Analisi |
---|---|
claude_code.token.usage | Suddivisione per type (input/output), utente, team o modello |
claude_code.session.count | Traccia l’adozione e il coinvolgimento nel tempo |
claude_code.lines_of_code.count | Misura la produttività tracciando aggiunte/rimozioni di codice |
claude_code.commit.count & claude_code.pull_request.count | Comprendi l’impatto sui flussi di lavoro di sviluppo |
Monitoraggio dei Costi
La metrica claude_code.cost.usage
aiuta con:
- Tracciamento delle tendenze di utilizzo tra team o individui
- Identificazione di sessioni ad alto utilizzo per l’ottimizzazione
Le metriche dei costi sono approssimazioni. Per i dati di fatturazione ufficiali, fai riferimento al tuo provider API (Anthropic Console, AWS Bedrock o Google Cloud Vertex).
Avvisi e Segmentazione
Avvisi comuni da considerare:
- Picchi di costo
- Consumo insolito di token
- Alto volume di sessioni da utenti specifici
Tutte le metriche possono essere segmentate per user.account_uuid
, organization.id
, session.id
, model
e app.version
.
Considerazioni sul Backend
Tipo di Backend | Migliore Per |
---|---|
Database di serie temporali (Prometheus) | Calcoli di frequenza, metriche aggregate |
Archivi colonnari (ClickHouse) | Query complesse, analisi di utenti unici |
Piattaforme di osservabilità (Honeycomb, Datadog) | Query avanzate, visualizzazione, avvisi |
Per le metriche DAU/WAU/MAU, scegli backend che supportano query efficienti di valori unici.
Informazioni sul Servizio
Tutte le metriche vengono esportate con:
- Nome del Servizio:
claude-code
- Versione del Servizio: Versione corrente di Claude Code
- Nome del Meter:
com.anthropic.claude_code
Considerazioni sulla Sicurezza
- La telemetria è opt-in e richiede una configurazione esplicita
- Informazioni sensibili come chiavi API o contenuti di file non sono mai inclusi nelle metriche