Scopri come abilitare e configurare OpenTelemetry per Claude Code.
/Library/Application Support/ClaudeCode/managed-settings.json
/etc/claude-code/managed-settings.json
C:\ProgramData\ClaudeCode\managed-settings.json
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 delle metriche (separati da virgola) | console , otlp , prometheus |
OTEL_LOGS_EXPORTER | Tipo/i di esportatore dei log/eventi (separati da virgola) | console , otlp |
OTEL_EXPORTER_OTLP_PROTOCOL | Protocollo per l’esportatore OTLP (tutti i segnali) | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_ENDPOINT | Endpoint del collector OTLP (tutti i segnali) | http://localhost:4317 |
OTEL_EXPORTER_OTLP_METRICS_PROTOCOL | Protocollo per le metriche (sovrascrive quello generale) | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT | Endpoint delle metriche OTLP (sovrascrive quello generale) | http://localhost:4318/v1/metrics |
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL | Protocollo per i log (sovrascrive quello generale) | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT | Endpoint dei log OTLP (sovrascrive quello generale) | http://localhost:4318/v1/logs |
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: 60000) | 5000 , 60000 |
OTEL_LOGS_EXPORT_INTERVAL | Intervallo di esportazione dei log in millisecondi (predefinito: 5000) | 1000 , 10000 |
OTEL_LOG_USER_PROMPTS | Abilita il logging del contenuto dei prompt utente (predefinito: disabilitato) | 1 per abilitare |
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 |
.claude/settings.json
:
OTEL_RESOURCE_ATTRIBUTES
:
OTEL_RESOURCE_ATTRIBUTES
segue la specifica W3C Baggage, che ha requisiti di formattazione rigorosi:user.organizationName=My Company
non è validokey1=value1,key2=value2
"key=value with spaces"
) non è supportato dalla specifica OpenTelemetry e risulterà in attributi con prefisso di virgolette.Attributo | Descrizione | Controllato Da |
---|---|---|
session.id | Identificatore univoco della sessione | OTEL_METRICS_INCLUDE_SESSION_ID (predefinito: true) |
app.version | Versione corrente di Claude Code | OTEL_METRICS_INCLUDE_VERSION (predefinito: false) |
organization.id | UUID dell’organizzazione (quando autenticato) | Sempre incluso quando disponibile |
user.account_uuid | UUID dell’account (quando autenticato) | OTEL_METRICS_INCLUDE_ACCOUNT_UUID (predefinito: true) |
terminal.type | Tipo di terminale (ad es., iTerm.app , vscode , cursor , tmux ) | Sempre incluso quando rilevato |
Nome Metrica | Descrizione | Unità |
---|---|---|
claude_code.session.count | Conteggio delle sessioni CLI avviate | count |
claude_code.lines_of_code.count | Conteggio delle righe di codice modificate | count |
claude_code.pull_request.count | Numero di pull request create | count |
claude_code.commit.count | Numero di commit git creati | count |
claude_code.cost.usage | Costo della sessione Claude Code | USD |
claude_code.token.usage | Numero di token utilizzati | tokens |
claude_code.code_edit_tool.decision | Conteggio delle decisioni di autorizzazione dello strumento di modifica del codice | count |
claude_code.active_time.total | Tempo attivo totale in secondi | s |
type
: ("added"
, "removed"
)model
: Identificatore del modello (ad es., “claude-3-5-sonnet-20241022”)type
: ("input"
, "output"
, "cacheRead"
, "cacheCreation"
)model
: Identificatore del modello (ad es., “claude-3-5-sonnet-20241022”)tool
: Nome dello strumento ("Edit"
, "MultiEdit"
, "Write"
, "NotebookEdit"
)decision
: Decisione dell’utente ("accept"
, "reject"
)language
: Linguaggio di programmazione del file modificato (ad es., "TypeScript"
, "Python"
, "JavaScript"
, "Markdown"
). Restituisce "unknown"
per estensioni di file non riconosciute.OTEL_LOGS_EXPORTER
è configurato):
claude_code.user_prompt
Attributi:
event.name
: "user_prompt"
event.timestamp
: Timestamp ISO 8601prompt_length
: Lunghezza del promptprompt
: Contenuto del prompt (censurato per impostazione predefinita, abilita con OTEL_LOG_USER_PROMPTS=1
)claude_code.tool_result
Attributi:
event.name
: "tool_result"
event.timestamp
: Timestamp ISO 8601tool_name
: Nome dello strumentosuccess
: "true"
o "false"
duration_ms
: Tempo di esecuzione in millisecondierror
: Messaggio di errore (se fallito)decision
: Sia "accept"
che "reject"
source
: Fonte della decisione - "config"
, "user_permanent"
, "user_temporary"
, "user_abort"
, o "user_reject"
tool_parameters
: Stringa JSON contenente parametri specifici dello strumento (quando disponibile)
bash_command
, full_command
, timeout
, description
, sandbox
claude_code.api_request
Attributi:
event.name
: "api_request"
event.timestamp
: Timestamp ISO 8601model
: Modello utilizzato (ad es., “claude-3-5-sonnet-20241022”)cost_usd
: Costo stimato in USDduration_ms
: Durata della richiesta in millisecondiinput_tokens
: Numero di token di inputoutput_tokens
: Numero di token di outputcache_read_tokens
: Numero di token letti dalla cachecache_creation_tokens
: Numero di token utilizzati per la creazione della cacheclaude_code.api_error
Attributi:
event.name
: "api_error"
event.timestamp
: Timestamp ISO 8601model
: Modello utilizzato (ad es., “claude-3-5-sonnet-20241022”)error
: Messaggio di errorestatus_code
: Codice di stato HTTP (se applicabile)duration_ms
: Durata della richiesta in millisecondiattempt
: Numero del tentativo (per richieste ripetute)claude_code.tool_decision
Attributi:
event.name
: "tool_decision"
event.timestamp
: Timestamp ISO 8601tool_name
: Nome dello strumento (ad es., “Read”, “Edit”, “MultiEdit”, “Write”, “NotebookEdit”, ecc.)decision
: Sia "accept"
che "reject"
source
: Fonte della decisione - "config"
, "user_permanent"
, "user_temporary"
, "user_abort"
, o "user_reject"
Metrica | Opportunità di Analisi |
---|---|
claude_code.token.usage | Suddividi 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 |
claude_code.cost.usage
aiuta con:
user.account_uuid
, organization.id
, session.id
, model
e app.version
.
service.name
: claude-code
service.version
: Versione corrente di Claude Codeos.type
: Tipo di sistema operativo (ad es., linux
, darwin
, windows
)os.version
: Stringa della versione del sistema operativohost.arch
: Architettura dell’host (ad es., amd64
, arm64
)wsl.version
: Numero di versione WSL (presente solo quando in esecuzione su Windows Subsystem for Linux)com.anthropic.claude_code
OTEL_LOG_USER_PROMPTS=1