Erfahren Sie, wie Sie OpenTelemetry für Claude Code aktivieren und konfigurieren.
/Library/Application Support/ClaudeCode/managed-settings.json
/etc/claude-code/managed-settings.json
C:\ProgramData\ClaudeCode\managed-settings.json
Umgebungsvariable | Beschreibung | Beispielwerte |
---|---|---|
CLAUDE_CODE_ENABLE_TELEMETRY | Aktiviert Telemetrie-Sammlung (erforderlich) | 1 |
OTEL_METRICS_EXPORTER | Metriken-Exporter-Typ(en) (kommagetrennt) | console , otlp , prometheus |
OTEL_LOGS_EXPORTER | Logs/Events-Exporter-Typ(en) (kommagetrennt) | console , otlp |
OTEL_EXPORTER_OTLP_PROTOCOL | Protokoll für OTLP-Exporter (alle Signale) | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_ENDPOINT | OTLP-Collector-Endpunkt (alle Signale) | http://localhost:4317 |
OTEL_EXPORTER_OTLP_METRICS_PROTOCOL | Protokoll für Metriken (überschreibt allgemein) | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT | OTLP-Metriken-Endpunkt (überschreibt allgemein) | http://localhost:4318/v1/metrics |
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL | Protokoll für Logs (überschreibt allgemein) | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT | OTLP-Logs-Endpunkt (überschreibt allgemein) | http://localhost:4318/v1/logs |
OTEL_EXPORTER_OTLP_HEADERS | Authentifizierungs-Header für OTLP | Authorization=Bearer token |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY | Client-Schlüssel für mTLS-Authentifizierung | Pfad zur Client-Schlüsseldatei |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE | Client-Zertifikat für mTLS-Authentifizierung | Pfad zur Client-Zertifikatsdatei |
OTEL_METRIC_EXPORT_INTERVAL | Export-Intervall in Millisekunden (Standard: 60000) | 5000 , 60000 |
OTEL_LOGS_EXPORT_INTERVAL | Logs-Export-Intervall in Millisekunden (Standard: 5000) | 1000 , 10000 |
OTEL_LOG_USER_PROMPTS | Aktiviert Protokollierung von Benutzer-Prompt-Inhalten (Standard: deaktiviert) | 1 zum Aktivieren |
Umgebungsvariable | Beschreibung | Standardwert | Beispiel zum Deaktivieren |
---|---|---|---|
OTEL_METRICS_INCLUDE_SESSION_ID | session.id-Attribut in Metriken einschließen | true | false |
OTEL_METRICS_INCLUDE_VERSION | app.version-Attribut in Metriken einschließen | false | true |
OTEL_METRICS_INCLUDE_ACCOUNT_UUID | user.account_uuid-Attribut in Metriken einschließen | true | false |
.claude/settings.json
hinzu:
OTEL_RESOURCE_ATTRIBUTES
verwenden:
OTEL_RESOURCE_ATTRIBUTES
folgt der W3C Baggage-Spezifikation, die strenge Formatierungsanforderungen hat:user.organizationName=My Company
ungültigkey1=value1,key2=value2
"key=value with spaces"
) wird von der OpenTelemetry-Spezifikation nicht unterstützt und führt dazu, dass Attribute mit Anführungszeichen vorangestellt werden.Attribut | Beschreibung | Kontrolliert durch |
---|---|---|
session.id | Eindeutige Sitzungskennung | OTEL_METRICS_INCLUDE_SESSION_ID (Standard: true) |
app.version | Aktuelle Claude Code-Version | OTEL_METRICS_INCLUDE_VERSION (Standard: false) |
organization.id | Organisations-UUID (wenn authentifiziert) | Immer enthalten wenn verfügbar |
user.account_uuid | Konto-UUID (wenn authentifiziert) | OTEL_METRICS_INCLUDE_ACCOUNT_UUID (Standard: true) |
terminal.type | Terminal-Typ (z.B. iTerm.app , vscode , cursor , tmux ) | Immer enthalten wenn erkannt |
Metrik-Name | Beschreibung | Einheit |
---|---|---|
claude_code.session.count | Anzahl der gestarteten CLI-Sitzungen | count |
claude_code.lines_of_code.count | Anzahl der geänderten Codezeilen | count |
claude_code.pull_request.count | Anzahl der erstellten Pull Requests | count |
claude_code.commit.count | Anzahl der erstellten Git-Commits | count |
claude_code.cost.usage | Kosten der Claude Code-Sitzung | USD |
claude_code.token.usage | Anzahl der verwendeten Token | tokens |
claude_code.code_edit_tool.decision | Anzahl der Code-Bearbeitungstool-Berechtigungsentscheidungen | count |
claude_code.active_time.total | Gesamte aktive Zeit in Sekunden | s |
type
: ("added"
, "removed"
)model
: Modell-Identifikator (z.B. “claude-3-5-sonnet-20241022”)type
: ("input"
, "output"
, "cacheRead"
, "cacheCreation"
)model
: Modell-Identifikator (z.B. “claude-3-5-sonnet-20241022”)tool
: Tool-Name ("Edit"
, "MultiEdit"
, "Write"
, "NotebookEdit"
)decision
: Benutzerentscheidung ("accept"
, "reject"
)language
: Programmiersprache der bearbeiteten Datei (z.B. "TypeScript"
, "Python"
, "JavaScript"
, "Markdown"
). Gibt "unknown"
für nicht erkannte Dateierweiterungen zurück.OTEL_LOGS_EXPORTER
konfiguriert ist):
claude_code.user_prompt
Attribute:
event.name
: "user_prompt"
event.timestamp
: ISO 8601-Zeitstempelprompt_length
: Länge des Promptsprompt
: Prompt-Inhalt (standardmäßig redigiert, aktivieren mit OTEL_LOG_USER_PROMPTS=1
)claude_code.tool_result
Attribute:
event.name
: "tool_result"
event.timestamp
: ISO 8601-Zeitstempeltool_name
: Name des Toolssuccess
: "true"
oder "false"
duration_ms
: Ausführungszeit in Millisekundenerror
: Fehlermeldung (bei Fehlschlag)decision
: Entweder "accept"
oder "reject"
source
: Entscheidungsquelle - "config"
, "user_permanent"
, "user_temporary"
, "user_abort"
oder "user_reject"
tool_parameters
: JSON-String mit tool-spezifischen Parametern (wenn verfügbar)
bash_command
, full_command
, timeout
, description
, sandbox
claude_code.api_request
Attribute:
event.name
: "api_request"
event.timestamp
: ISO 8601-Zeitstempelmodel
: Verwendetes Modell (z.B. “claude-3-5-sonnet-20241022”)cost_usd
: Geschätzte Kosten in USDduration_ms
: Anfragedauer in Millisekundeninput_tokens
: Anzahl der Eingabe-Tokenoutput_tokens
: Anzahl der Ausgabe-Tokencache_read_tokens
: Anzahl der aus dem Cache gelesenen Tokencache_creation_tokens
: Anzahl der für Cache-Erstellung verwendeten Tokenclaude_code.api_error
Attribute:
event.name
: "api_error"
event.timestamp
: ISO 8601-Zeitstempelmodel
: Verwendetes Modell (z.B. “claude-3-5-sonnet-20241022”)error
: Fehlermeldungstatus_code
: HTTP-Statuscode (falls zutreffend)duration_ms
: Anfragedauer in Millisekundenattempt
: Versuchsnummer (für wiederholte Anfragen)claude_code.tool_decision
Attribute:
event.name
: "tool_decision"
event.timestamp
: ISO 8601-Zeitstempeltool_name
: Name des Tools (z.B. “Read”, “Edit”, “MultiEdit”, “Write”, “NotebookEdit”, etc.)decision
: Entweder "accept"
oder "reject"
source
: Entscheidungsquelle - "config"
, "user_permanent"
, "user_temporary"
, "user_abort"
oder "user_reject"
Metrik | Analysemöglichkeit |
---|---|
claude_code.token.usage | Aufschlüsselung nach type (input/output), Benutzer, Team oder Modell |
claude_code.session.count | Adoption und Engagement über die Zeit verfolgen |
claude_code.lines_of_code.count | Produktivität messen durch Verfolgung von Code-Hinzufügungen/-Entfernungen |
claude_code.commit.count & claude_code.pull_request.count | Auswirkungen auf Entwicklungsworkflows verstehen |
claude_code.cost.usage
hilft bei:
user.account_uuid
, organization.id
, session.id
, model
und app.version
segmentiert werden.
service.name
: claude-code
service.version
: Aktuelle Claude Code-Versionos.type
: Betriebssystemtyp (z.B. linux
, darwin
, windows
)os.version
: Betriebssystem-Versionsstringhost.arch
: Host-Architektur (z.B. amd64
, arm64
)wsl.version
: WSL-Versionsnummer (nur vorhanden bei Ausführung auf Windows Subsystem for Linux)com.anthropic.claude_code
OTEL_LOG_USER_PROMPTS=1