8 8
9Verfolgen Sie die Nutzung, Kosten und Toolaktivität von Claude Code in Ihrer Organisation, indem Sie Telemetriedaten über OpenTelemetry (OTel) exportieren. Claude Code exportiert Metriken als Zeitreihendaten über das Standard-Metriken-Protokoll, Ereignisse über das Logs/Events-Protokoll und optional verteilte Traces über das [Traces-Protokoll](#traces-beta). Konfigurieren Sie Ihre Metriken-, Logs- und Traces-Backends, um Ihre Überwachungsanforderungen zu erfüllen.9Verfolgen Sie die Nutzung, Kosten und Toolaktivität von Claude Code in Ihrer Organisation, indem Sie Telemetriedaten über OpenTelemetry (OTel) exportieren. Claude Code exportiert Metriken als Zeitreihendaten über das Standard-Metriken-Protokoll, Ereignisse über das Logs/Events-Protokoll und optional verteilte Traces über das [Traces-Protokoll](#traces-beta). Konfigurieren Sie Ihre Metriken-, Logs- und Traces-Backends, um Ihre Überwachungsanforderungen zu erfüllen.
10 10
11## Schnellstart11<h2 id="quick-start">
12 Schnellstart
13</h2>
12 14
13Konfigurieren Sie OpenTelemetry mit Umgebungsvariablen:15Konfigurieren Sie OpenTelemetry mit Umgebungsvariablen:
14 16
41 43
42Für vollständige Konfigurationsoptionen siehe die [OpenTelemetry-Spezifikation](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options).44Für vollständige Konfigurationsoptionen siehe die [OpenTelemetry-Spezifikation](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options).
43 45
44## Administratorkonfiguration46<h2 id="administrator-configuration">
47 Administratorkonfiguration
48</h2>
45 49
46Administratoren können OpenTelemetry-Einstellungen für alle Benutzer über die [verwaltete Einstellungsdatei](/de/settings#settings-files) konfigurieren. Dies ermöglicht eine zentrale Kontrolle der Telemetrie-Einstellungen in einer Organisation. Weitere Informationen zur Anwendung von Einstellungen finden Sie unter [Einstellungspriorität](/de/settings#settings-precedence).50Administratoren können OpenTelemetry-Einstellungen für alle Benutzer über die [verwaltete Einstellungsdatei](/de/settings#settings-files) konfigurieren. Dies ermöglicht eine zentrale Kontrolle der Telemetrie-Einstellungen in einer Organisation. Weitere Informationen zur Anwendung von Einstellungen finden Sie unter [Einstellungspriorität](/de/settings#settings-precedence).
47 51
66 70
67Claude Code übergibt `OTEL_*` Umgebungsvariablen nicht an die Subprozesse, die es erzeugt, einschließlich des Bash-Tools, Hooks, MCP-Server und Sprachserver. Eine OpenTelemetry-instrumentierte Anwendung, die Sie über das Bash-Tool ausführen, erbt nicht den Exporter-Endpunkt oder die Header von Claude Code, daher setzen Sie diese Variablen direkt im Befehl, wenn diese Anwendung ihre eigene Telemetrie exportieren muss.71Claude Code übergibt `OTEL_*` Umgebungsvariablen nicht an die Subprozesse, die es erzeugt, einschließlich des Bash-Tools, Hooks, MCP-Server und Sprachserver. Eine OpenTelemetry-instrumentierte Anwendung, die Sie über das Bash-Tool ausführen, erbt nicht den Exporter-Endpunkt oder die Header von Claude Code, daher setzen Sie diese Variablen direkt im Befehl, wenn diese Anwendung ihre eigene Telemetrie exportieren muss.
68 72
69## Konfigurationsdetails73<h2 id="configuration-details">
74 Konfigurationsdetails
75</h2>
70 76
71### Allgemeine Konfigurationsvariablen77<h3 id="common-configuration-variables">
78 Allgemeine Konfigurationsvariablen
79</h3>
72 80
73| Umgebungsvariable | Beschreibung | Beispielwerte |81| Umgebungsvariable | Beschreibung | Beispielwerte |
74| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |82| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
91| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Metriken-Temporalitätspräferenz (Standard: `delta`). Setzen Sie auf `cumulative`, wenn Ihr Backend kumulative Temporalität erwartet | `delta`, `cumulative` |99| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Metriken-Temporalitätspräferenz (Standard: `delta`). Setzen Sie auf `cumulative`, wenn Ihr Backend kumulative Temporalität erwartet | `delta`, `cumulative` |
92| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall zum Aktualisieren dynamischer Header (Standard: 1740000ms / 29 Minuten) | `900000` |100| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervall zum Aktualisieren dynamischer Header (Standard: 1740000ms / 29 Minuten) | `900000` |
93 101
94### mTLS-Authentifizierung102<h3 id="mtls-authentication">
103 mTLS-Authentifizierung
104</h3>
95 105
96Wie Sie Client-Zertifikate für den OTLP-Exporter konfigurieren, hängt vom OTLP-Protokoll ab, das für dieses Signal verwendet wird, das über `OTEL_EXPORTER_OTLP_PROTOCOL` oder die Pro-Signal-Überschreibung gesetzt wird. Die gleiche Konfiguration gilt für Metriken, Logs und Traces.106Wie Sie Client-Zertifikate für den OTLP-Exporter konfigurieren, hängt vom OTLP-Protokoll ab, das für dieses Signal verwendet wird, das über `OTEL_EXPORTER_OTLP_PROTOCOL` oder die Pro-Signal-Überschreibung gesetzt wird. Die gleiche Konfiguration gilt für Metriken, Logs und Traces.
97 107
102 112
103Für `grpc` liest das OpenTelemetry SDK die Standard-OTLP-Variablen direkt, daher funktionieren bestehende Konfigurationen, die die Pro-Signal-Metriken-Variablen setzen, weiterhin.113Für `grpc` liest das OpenTelemetry SDK die Standard-OTLP-Variablen direkt, daher funktionieren bestehende Konfigurationen, die die Pro-Signal-Metriken-Variablen setzen, weiterhin.
104 114
105### Metriken-Kardinalitätskontrolle115<h3 id="metrics-cardinality-control">
116 Metriken-Kardinalitätskontrolle
117</h3>
106 118
107Die folgenden Umgebungsvariablen steuern, welche Attribute in Metriken enthalten sind, um die Kardinalität zu verwalten:119Die folgenden Umgebungsvariablen steuern, welche Attribute in Metriken enthalten sind, um die Kardinalität zu verwalten:
108 120
116 128
117Diese Variablen helfen, die Kardinalität von Metriken zu kontrollieren, was sich auf die Speicheranforderungen und die Abfrageleistung in Ihrem Metriken-Backend auswirkt. Eine niedrigere Kardinalität bedeutet in der Regel bessere Leistung und niedrigere Speicherkosten, aber weniger granulare Daten für die Analyse.129Diese Variablen helfen, die Kardinalität von Metriken zu kontrollieren, was sich auf die Speicheranforderungen und die Abfrageleistung in Ihrem Metriken-Backend auswirkt. Eine niedrigere Kardinalität bedeutet in der Regel bessere Leistung und niedrigere Speicherkosten, aber weniger granulare Daten für die Analyse.
118 130
119### Traces (Beta)131<h3 id="traces-beta">
132 Traces (Beta)
133</h3>
120 134
121Verteiltes Tracing exportiert Spans, die jeden Benutzer-Prompt mit den API-Anfragen und Tool-Ausführungen verknüpfen, die er auslöst, sodass Sie eine vollständige Anfrage als einzelnen Trace in Ihrem Tracing-Backend anzeigen können.135Verteiltes Tracing exportiert Spans, die jeden Benutzer-Prompt mit den API-Anfragen und Tool-Ausführungen verknüpfen, die er auslöst, sodass Sie eine vollständige Anfrage als einzelnen Trace in Ihrem Tracing-Backend anzeigen können.
122 136
123Tracing ist standardmäßig deaktiviert. Um es zu aktivieren, setzen Sie sowohl `CLAUDE_CODE_ENABLE_TELEMETRY=1` als auch `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`, und setzen Sie dann `OTEL_TRACES_EXPORTER`, um auszuwählen, wohin Spans gesendet werden. Traces verwenden die [allgemeine OTLP-Konfiguration](#allgemeine-konfigurationsvariablen) für Endpunkt, Protokoll, Header und [mTLS](#mtls-authentifizierung) erneut.137Tracing ist standardmäßig deaktiviert. Um es zu aktivieren, setzen Sie sowohl `CLAUDE_CODE_ENABLE_TELEMETRY=1` als auch `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`, und setzen Sie dann `OTEL_TRACES_EXPORTER`, um auszuwählen, wohin Spans gesendet werden. Traces verwenden die [allgemeine OTLP-Konfiguration](#common-configuration-variables) für Endpunkt, Protokoll, Header und [mTLS](#mtls-authentication) erneut.
124 138
125| Umgebungsvariable | Beschreibung | Beispielwerte |139| Umgebungsvariable | Beschreibung | Beispielwerte |
126| ------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------ |140| ------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------ |
140 154
141In Agent SDK und nicht-interaktiven Sitzungen, die mit `-p` gestartet werden, liest Claude Code auch `TRACEPARENT` und `TRACESTATE` aus seiner eigenen Umgebung, wenn jeder Interaktions-Span gestartet wird. Dies ermöglicht einem Embedding-Prozess, seinen aktiven W3C-Trace-Kontext in den Subprozess zu übergeben, sodass Claude Code's Spans als untergeordnete Elemente des Aufrufers verteilter Trace erscheinen. Interaktive Sitzungen ignorieren eingehende `TRACEPARENT`, um zu vermeiden, dass versehentlich Umgebungswerte aus CI oder Container-Umgebungen geerbt werden.155In Agent SDK und nicht-interaktiven Sitzungen, die mit `-p` gestartet werden, liest Claude Code auch `TRACEPARENT` und `TRACESTATE` aus seiner eigenen Umgebung, wenn jeder Interaktions-Span gestartet wird. Dies ermöglicht einem Embedding-Prozess, seinen aktiven W3C-Trace-Kontext in den Subprozess zu übergeben, sodass Claude Code's Spans als untergeordnete Elemente des Aufrufers verteilter Trace erscheinen. Interaktive Sitzungen ignorieren eingehende `TRACEPARENT`, um zu vermeiden, dass versehentlich Umgebungswerte aus CI oder Container-Umgebungen geerbt werden.
142 156
143#### Span-Hierarchie157<h4 id="span-hierarchy">
158 Span-Hierarchie
159</h4>
144 160
145Jeder Benutzer-Prompt startet einen `claude_code.interaction` Root-Span. API-Aufrufe, Tool-Aufrufe und Hook-Ausführungen werden als untergeordnete Elemente aufgezeichnet. Tool-Spans haben zwei untergeordnete Spans: einen für die Zeit, die auf eine Berechtigungsentscheidung gewartet wird, und einen für die Ausführung selbst. Wenn das Agent-Tool oder das veraltete Task-Tool einen Subagenten erzeugt, werden die API- und Tool-Spans des Subagenten unter dem `claude_code.tool`-Span des übergeordneten Elements verschachtelt.161Jeder Benutzer-Prompt startet einen `claude_code.interaction` Root-Span. API-Aufrufe, Tool-Aufrufe und Hook-Ausführungen werden als untergeordnete Elemente aufgezeichnet. Tool-Spans haben zwei untergeordnete Spans: einen für die Zeit, die auf eine Berechtigungsentscheidung gewartet wird, und einen für die Ausführung selbst. Wenn das Agent-Tool oder das veraltete Task-Tool einen Subagenten erzeugt, werden die API- und Tool-Spans des Subagenten unter dem `claude_code.tool`-Span des übergeordneten Elements verschachtelt.
146 162
156 172
157In Agent SDK und `claude -p` Sitzungen wird `claude_code.interaction` selbst ein untergeordnetes Element des Aufrufers-Spans, wenn `TRACEPARENT` in der Umgebung gesetzt ist.173In Agent SDK und `claude -p` Sitzungen wird `claude_code.interaction` selbst ein untergeordnetes Element des Aufrufers-Spans, wenn `TRACEPARENT` in der Umgebung gesetzt ist.
158 174
159#### Span-Attribute175<h4 id="span-attributes">
176 Span-Attribute
177</h4>
160 178
161Jeder Span trägt die [Standardattribute](#standardattribute) plus ein `span.type`-Attribut, das seinem Namen entspricht. Die folgenden Tabellen listen die zusätzlichen Attribute auf, die auf jedem Span gesetzt sind. Die Spans `llm_request`, `tool.execution` und `hook` setzen OpenTelemetry-Status `ERROR`, wenn sie einen Fehler aufzeichnen; die anderen Spans enden immer mit Status `UNSET`.179Jeder Span trägt die [Standardattribute](#standard-attributes) plus ein `span.type`-Attribut, das seinem Namen entspricht. Die folgenden Tabellen listen die zusätzlichen Attribute auf, die auf jedem Span gesetzt sind. Die Spans `llm_request`, `tool.execution` und `hook` setzen OpenTelemetry-Status `ERROR`, wenn sie einen Fehler aufzeichnen; die anderen Spans enden immer mit Status `UNSET`.
162 180
163**`claude_code.interaction`**181**`claude_code.interaction`**
164 182
203**`claude_code.tool`**221**`claude_code.tool`**
204 222
205| Attribut | Beschreibung | Gated durch |223| Attribut | Beschreibung | Gated durch |
206| ----------------- | -------------------------------------------------------------------------------------------------------------------------- | ----------------------- |224| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
207| `tool_name` | Tool-Name | |225| `tool_name` | Tool-Name | |
208| `duration_ms` | Wanduhr-Dauer einschließlich Berechtigungswartung und Ausführung | |226| `duration_ms` | Wanduhr-Dauer einschließlich Berechtigungswartung und Ausführung | |
209| `result_tokens` | Ungefähre Token-Größe des Tool-Ergebnisses | |227| `result_tokens` | Ungefähre Token-Größe des Tool-Ergebnisses | |
210| `agent_id` | Kennung des Subagenten oder Teamkollegen, der das Tool ausgeführt hat. Fehlt in der Hauptsitzung | |228| `agent_id` | Kennung des Subagenten oder Teamkollegen, der das Tool ausgeführt hat. Fehlt in der Hauptsitzung | |
211| `parent_agent_id` | Kennung des Agenten, der diesen erzeugt hat. Fehlt für die Hauptsitzung und für Agenten, die direkt von ihr erzeugt wurden | |229| `parent_agent_id` | Kennung des Agenten, der diesen erzeugt hat. Fehlt für die Hauptsitzung und für Agenten, die direkt von ihr erzeugt wurden | |
230| `tool_use_id` | Die Modell-`tool_use` Block-ID für diesen Aufruf. Entspricht der `tool_use_id` bei den [tool\_result](#tool-result-event) und [tool\_decision](#tool-decision-event) Ereignissen und in Hook-Payloads, sodass Sie den Span mit diesen Datensätzen verknüpfen können | |
231| `gen_ai.tool.call.id` | Gleicher Wert wie `tool_use_id`. OpenTelemetry GenAI semantische Konvention | |
212| `file_path` | Zieldateipfad für Read-, Edit- und Write-Tools | `OTEL_LOG_TOOL_DETAILS` |232| `file_path` | Zieldateipfad für Read-, Edit- und Write-Tools | `OTEL_LOG_TOOL_DETAILS` |
213| `full_command` | Befehlszeichenkette für das Bash-Tool | `OTEL_LOG_TOOL_DETAILS` |233| `full_command` | Befehlszeichenkette für das Bash-Tool | `OTEL_LOG_TOOL_DETAILS` |
214| `skill_name` | Skill-Name für das Skill-Tool | `OTEL_LOG_TOOL_DETAILS` |234| `skill_name` | Skill-Name für das Skill-Tool | `OTEL_LOG_TOOL_DETAILS` |
227**`claude_code.tool.execution`**247**`claude_code.tool.execution`**
228 248
229| Attribut | Beschreibung | Gated durch |249| Attribut | Beschreibung | Gated durch |
230| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |250| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
231| `duration_ms` | Zeit, die für die Ausführung des Tool-Body aufgewendet wird | |251| `duration_ms` | Zeit, die für die Ausführung des Tool-Body aufgewendet wird | |
252| `tool_use_id` | Gleicher Wert wie auf dem übergeordneten `claude_code.tool` Span | |
253| `gen_ai.tool.call.id` | Gleicher Wert wie `tool_use_id`. OpenTelemetry GenAI semantische Konvention | |
232| `success` | `true` oder `false` | |254| `success` | `true` oder `false` | |
233| `error` | Fehler-Kategoriezeichenkette, wenn die Ausführung fehlgeschlagen ist, wie `Error:ENOENT` oder `ShellError`. Enthält die vollständige Fehlermeldung, wenn das Gate gesetzt ist | `OTEL_LOG_TOOL_DETAILS` |255| `error` | Fehler-Kategoriezeichenkette, wenn die Ausführung fehlgeschlagen ist, wie `Error:ENOENT` oder `ShellError`. Enthält die vollständige Fehlermeldung, wenn das Gate gesetzt ist | `OTEL_LOG_TOOL_DETAILS` |
234 256
252 Zusätzliche inhaltshaltige Attribute wie `new_context`, `system_prompt_preview`, `user_system_prompt`, `tool_input` und `response.model_output` werden nur ausgegeben, wenn detailliertes Beta-Tracing aktiv ist. Sie sind nicht Teil des stabilen Span-Schemas. `user_system_prompt` erfordert zusätzlich `OTEL_LOG_USER_PROMPTS=1`. Es trägt nur den System-Prompt-Text, den Sie über die `systemPrompt` SDK-Option oder die Flags `--system-prompt` und `--append-system-prompt` bereitstellen, gekürzt bei 60 KB, und wird einmal pro Sitzung statt pro Anfrage ausgegeben.274 Zusätzliche inhaltshaltige Attribute wie `new_context`, `system_prompt_preview`, `user_system_prompt`, `tool_input` und `response.model_output` werden nur ausgegeben, wenn detailliertes Beta-Tracing aktiv ist. Sie sind nicht Teil des stabilen Span-Schemas. `user_system_prompt` erfordert zusätzlich `OTEL_LOG_USER_PROMPTS=1`. Es trägt nur den System-Prompt-Text, den Sie über die `systemPrompt` SDK-Option oder die Flags `--system-prompt` und `--append-system-prompt` bereitstellen, gekürzt bei 60 KB, und wird einmal pro Sitzung statt pro Anfrage ausgegeben.
253</Note>275</Note>
254 276
255### Dynamische Header277<h3 id="dynamic-headers">
278 Dynamische Header
279</h3>
256 280
257Für Unternehmensumgebungen, die eine dynamische Authentifizierung erfordern, können Sie ein Skript konfigurieren, um Header dynamisch zu generieren. Dynamische Header gelten nur für die Protokolle `http/protobuf` und `http/json`. Der `grpc` Exporter verwendet nur den statischen `OTEL_EXPORTER_OTLP_HEADERS` Wert.281Für Unternehmensumgebungen, die eine dynamische Authentifizierung erfordern, können Sie ein Skript konfigurieren, um Header dynamisch zu generieren. Dynamische Header gelten nur für die Protokolle `http/protobuf` und `http/json`. Der `grpc` Exporter verwendet nur den statischen `OTEL_EXPORTER_OTLP_HEADERS` Wert.
258 282
259#### Einstellungskonfiguration283<h4 id="settings-configuration">
284 Einstellungskonfiguration
285</h4>
260 286
261Fügen Sie zu Ihrer `.claude/settings.json` hinzu:287Fügen Sie zu Ihrer `.claude/settings.json` hinzu:
262 288
268 294
269Der Wert kann der Pfad zu einer ausführbaren Datei sein, einschließlich eines Pfads, der Leerzeichen enthält, oder eine Shell-Befehlszeile mit Argumenten. Unter Windows wird der Wert immer durch die Shell ausgeführt, daher setzen Sie einen Pfad, der Leerzeichen enthält, in Anführungszeichen innerhalb des JSON-Werts.295Der Wert kann der Pfad zu einer ausführbaren Datei sein, einschließlich eines Pfads, der Leerzeichen enthält, oder eine Shell-Befehlszeile mit Argumenten. Unter Windows wird der Wert immer durch die Shell ausgeführt, daher setzen Sie einen Pfad, der Leerzeichen enthält, in Anführungszeichen innerhalb des JSON-Werts.
270 296
271#### Skriptanforderungen297<h4 id="script-requirements">
298 Skriptanforderungen
299</h4>
272 300
273Das Skript muss gültiges JSON mit Zeichenketten-Schlüssel-Wert-Paaren ausgeben, die HTTP-Header darstellen:301Das Skript muss gültiges JSON mit Zeichenketten-Schlüssel-Wert-Paaren ausgeben, die HTTP-Header darstellen:
274 302
284* Das Debug-Log, wenn Sie mit [`--debug`](/de/cli-reference#cli-flags) ausführen oder nach dem Ausführen von `/debug` in der Sitzung312* Das Debug-Log, wenn Sie mit [`--debug`](/de/cli-reference#cli-flags) ausführen oder nach dem Ausführen von `/debug` in der Sitzung
285* stderr, in nicht-interaktiven Sitzungen, die mit `-p` gestartet werden313* stderr, in nicht-interaktiven Sitzungen, die mit `-p` gestartet werden
286 314
287#### Aktualisierungsverhalten315<h4 id="refresh-behavior">
316 Aktualisierungsverhalten
317</h4>
288 318
289Das Headers-Helper-Skript wird beim Start und danach regelmäßig ausgeführt, um Token-Aktualisierung zu unterstützen. Standardmäßig wird das Skript alle 29 Minuten ausgeführt. Passen Sie das Intervall mit der Umgebungsvariable `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` an.319Das Headers-Helper-Skript wird beim Start und danach regelmäßig ausgeführt, um Token-Aktualisierung zu unterstützen. Standardmäßig wird das Skript alle 29 Minuten ausgeführt. Passen Sie das Intervall mit der Umgebungsvariable `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` an.
290 320
291### Unterstützung für Multi-Team-Organisationen321<h3 id="multi-team-organization-support">
322 Unterstützung für Multi-Team-Organisationen
323</h3>
292 324
293Organisationen mit mehreren Teams oder Abteilungen können benutzerdefinierte Attribute hinzufügen, um zwischen verschiedenen Gruppen zu unterscheiden, indem sie die Umgebungsvariable `OTEL_RESOURCE_ATTRIBUTES` verwenden:325Organisationen mit mehreren Teams oder Abteilungen können benutzerdefinierte Attribute hinzufügen, um zwischen verschiedenen Gruppen zu unterscheiden, indem sie die Umgebungsvariable `OTEL_RESOURCE_ATTRIBUTES` verwenden:
294 326
304* Team-spezifische Dashboards erstellen können336* Team-spezifische Dashboards erstellen können
305* Warnungen für bestimmte Teams einrichten können337* Warnungen für bestimmte Teams einrichten können
306 338
307Claude Code fügt diese Werte als Attribute auf jedem Metrik-Datenpunkt und Ereignisdatensatz an, zusätzlich zum Senden im OTLP-Ressourcenblock. Da die meisten Metriken-Backends Datenpunkt-Attribute als abfragbare Labels verfügbar machen, können Sie Metriken direkt nach Ihren benutzerdefinierten Schlüsseln gruppieren und filtern. Benutzerdefinierte Schlüssel überschreiben niemals die [Standardattribute](#standardattribute) wie `user.id` oder `session.id`: Wenn ein Schlüssel kollidiert, behält Claude Code den integrierten Wert.339Claude Code fügt diese Werte als Attribute auf jedem Metrik-Datenpunkt und Ereignisdatensatz an, zusätzlich zum Senden im OTLP-Ressourcenblock. Da die meisten Metriken-Backends Datenpunkt-Attribute als abfragbare Labels verfügbar machen, können Sie Metriken direkt nach Ihren benutzerdefinierten Schlüsseln gruppieren und filtern. Benutzerdefinierte Schlüssel überschreiben niemals die [Standardattribute](#standard-attributes) wie `user.id` oder `session.id`: Wenn ein Schlüssel kollidiert, behält Claude Code den integrierten Wert.
308 340
309Jeder benutzerdefinierte Schlüssel wird zu einem Label auf jeder Metrik-Serie, daher erhöhen hochkardinalige Werte die Speicherkosten in Ihrem Metriken-Backend. Um benutzerdefinierte Attribute nur im Ressourcenblock zu senden und sie von Datenpunkt-Labels auszulassen, setzen Sie `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. Siehe [Metriken-Kardinalitätskontrolle](#metriken-kardinalitätskontrolle).341Jeder benutzerdefinierte Schlüssel wird zu einem Label auf jeder Metrik-Serie, daher erhöhen hochkardinalige Werte die Speicherkosten in Ihrem Metriken-Backend. Um benutzerdefinierte Attribute nur im Ressourcenblock zu senden und sie von Datenpunkt-Labels auszulassen, setzen Sie `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. Siehe [Metriken-Kardinalitätskontrolle](#metrics-cardinality-control).
310 342
311<Warning>343<Warning>
312 **Wichtige Formatierungsanforderungen für OTEL\_RESOURCE\_ATTRIBUTES:**344 **Wichtige Formatierungsanforderungen für OTEL\_RESOURCE\_ATTRIBUTES:**
335 Hinweis: Das Einschließen von Werten in Anführungszeichen entkommt keine Leerzeichen. Zum Beispiel führt `org.name="My Company"` zum Literalwert `"My Company"` (mit Anführungszeichen enthalten), nicht zu `My Company`.367 Hinweis: Das Einschließen von Werten in Anführungszeichen entkommt keine Leerzeichen. Zum Beispiel führt `org.name="My Company"` zum Literalwert `"My Company"` (mit Anführungszeichen enthalten), nicht zu `My Company`.
336</Warning>368</Warning>
337 369
338### Beispielkonfigurationen370<h3 id="example-configurations">
371 Beispielkonfigurationen
372</h3>
339 373
340Setzen Sie diese Umgebungsvariablen vor dem Ausführen von `claude`. Jeder Block zeigt eine vollständige Konfiguration für einen anderen Exporter oder ein anderes Bereitstellungsszenario:374Setzen Sie diese Umgebungsvariablen vor dem Ausführen von `claude`. Jeder Block zeigt eine vollständige Konfiguration für einen anderen Exporter oder ein anderes Bereitstellungsszenario:
341 375
382export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317416export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
383```417```
384 418
385## Verfügbare Metriken und Ereignisse419<h2 id="available-metrics-and-events">
420 Verfügbare Metriken und Ereignisse
421</h2>
386 422
387### Standardattribute423<h3 id="standard-attributes">
424 Standardattribute
425</h3>
388 426
389Alle Metriken und Ereignisse teilen diese Standardattribute:427Alle Metriken und Ereignisse teilen diese Standardattribute:
390 428
391| Attribut | Beschreibung | Gesteuert durch |429| Attribut | Beschreibung | Gesteuert durch |
392| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |430| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |
393| `session.id` | Eindeutige Sitzungskennung | `OTEL_METRICS_INCLUDE_SESSION_ID` (Standard: true) |431| `session.id` | Eindeutige Sitzungskennung | `OTEL_METRICS_INCLUDE_SESSION_ID` (Standard: true) |
394| `app.version` | Aktuelle Claude Code-Version | `OTEL_METRICS_INCLUDE_VERSION` (Standard: false) |432| `app.version` | Aktuelle Claude Code-Version | `OTEL_METRICS_INCLUDE_VERSION` (Standard: false) |
395| `app.entrypoint` | Wie die Sitzung gestartet wurde, z. B. `cli`, `sdk-cli`, `sdk-ts`, `sdk-py` oder `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (Standard: false) |433| `app.entrypoint` | Wie die Sitzung gestartet wurde, z. B. `cli`, `sdk-cli`, `sdk-ts`, `sdk-py` oder `claude-vscode` | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (Standard: false) |
396| `organization.id` | Organisations-UUID (wenn authentifiziert) | Immer enthalten, wenn verfügbar |434| `organization.id` | Organisations-UUID (wenn authentifiziert) | Immer enthalten, wenn verfügbar |
397| `user.account_uuid` | Konto-UUID (wenn authentifiziert) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (Standard: true) |435| `user.account_uuid` | Konto-UUID (wenn authentifiziert) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (Standard: true) |
398| `user.account_id` | Konto-ID im getaggten Format, das Anthropic-Admin-APIs entspricht (wenn authentifiziert), z. B. `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (Standard: true) |436| `user.account_id` | Konto-ID im getaggten Format, das Anthropic-Admin-APIs entspricht (wenn authentifiziert), z. B. `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (Standard: true) |
399| `user.id` | Anonyme Geräte-/Installationskennung, generiert pro Claude Code-Installation | Immer enthalten |437| `user.id` | Zufällige anonyme Kennung, die beim ersten Ausführen generiert und in `~/.claude.json` gespeichert wird. Sie enthält keine persönlichen Informationen und wird nicht von Ihrem Claude-Konto abgeleitet. Das Löschen der Datei erzeugt beim nächsten Ausführen einen neuen, nicht verwandten Wert. | Immer enthalten |
400| `user.email` | E-Mail-Adresse des Benutzers (wenn über OAuth authentifiziert) | Immer enthalten, wenn verfügbar |438| `user.email` | E-Mail-Adresse des Benutzers (wenn über OAuth authentifiziert) | Immer enthalten, wenn verfügbar |
401| `terminal.type` | Terminal-Typ, z. B. `iTerm.app`, `vscode`, `cursor` oder `tmux` | Immer enthalten, wenn erkannt |439| `terminal.type` | Terminal-Typ, z. B. `iTerm.app`, `vscode`, `cursor` oder `tmux` | Immer enthalten, wenn erkannt |
402| Schlüssel aus `OTEL_RESOURCE_ATTRIBUTES` | Benutzerdefinierte Attribute, die Sie festlegen, z. B. `department` oder `team.id`. Siehe [Multi-Team-Organisationsunterstützung](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (Standard: true) |440| Schlüssel aus `OTEL_RESOURCE_ATTRIBUTES` | Benutzerdefinierte Attribute, die Sie festlegen, z. B. `department` oder `team.id`. Siehe [Multi-Team-Organisationsunterstützung](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (Standard: true) |
403 441
404Ereignisse enthalten zusätzlich die folgenden Attribute. Diese werden niemals an Metriken angehängt, da sie zu unbegrenzter Kardinalität führen würden:442Ereignisse enthalten zusätzlich die folgenden Attribute. Diese werden niemals an Metriken angehängt, da sie zu unbegrenzter Kardinalität führen würden:
405 443
406* `prompt.id`: UUID, die einen Benutzer-Prompt mit allen nachfolgenden Ereignissen bis zum nächsten Prompt korreliert. Siehe [Ereigniskorrelationsattribute](#ereigniskorrelationsattribute).444* `prompt.id`: UUID, die einen Benutzer-Prompt mit allen nachfolgenden Ereignissen bis zum nächsten Prompt korreliert. Siehe [Ereigniskorrelationsattribute](#event-correlation-attributes).
407* `workspace.host_paths`: Host-Workspace-Verzeichnisse, die in der Desktop-App ausgewählt wurden, als String-Array445* `workspace.host_paths`: Host-Workspace-Verzeichnisse, die in der Desktop-App ausgewählt wurden, als String-Array
408 446
409### Metriken447<h3 id="metrics">
448 Metriken
449</h3>
410 450
411Claude Code exportiert die folgenden Metriken:451Claude Code exportiert die folgenden Metriken:
412 452
421| `claude_code.code_edit_tool.decision` | Anzahl der Entscheidungen zur Berechtigung des Code-Bearbeitungstools | count |461| `claude_code.code_edit_tool.decision` | Anzahl der Entscheidungen zur Berechtigung des Code-Bearbeitungstools | count |
422| `claude_code.active_time.total` | Gesamte aktive Zeit in Sekunden | s |462| `claude_code.active_time.total` | Gesamte aktive Zeit in Sekunden | s |
423 463
424### Metrik-Details464<h3 id="metric-details">
465 Metrik-Details
466</h3>
425 467
426Jede Metrik enthält die oben aufgeführten Standardattribute. Metriken mit zusätzlichen kontextspezifischen Attributen werden nachfolgend vermerkt.468Jede Metrik enthält die oben aufgeführten Standardattribute. Metriken mit zusätzlichen kontextspezifischen Attributen werden nachfolgend vermerkt.
427 469
428#### Sitzungszähler470<h4 id="session-counter">
471 Sitzungszähler
472</h4>
429 473
430Wird zu Beginn jeder Sitzung erhöht.474Wird zu Beginn jeder Sitzung erhöht.
431 475
432**Attribute**:476**Attribute**:
433 477
434* Alle [Standardattribute](#standardattribute)478* Alle [Standardattribute](#standard-attributes)
435* `start_type`: Wie die Sitzung gestartet wurde. Einer von `"fresh"`, `"resume"` oder `"continue"`479* `start_type`: Wie die Sitzung gestartet wurde. Einer von `"fresh"`, `"resume"` oder `"continue"`
436 480
437#### Codezeilen-Zähler481<h4 id="lines-of-code-counter">
482 Codezeilen-Zähler
483</h4>
438 484
439Wird erhöht, wenn Code hinzugefügt oder entfernt wird.485Wird erhöht, wenn Code hinzugefügt oder entfernt wird.
440 486
441**Attribute**:487**Attribute**:
442 488
443* Alle [Standardattribute](#standardattribute)489* Alle [Standardattribute](#standard-attributes)
444* `type`: (`"added"`, `"removed"`)490* `type`: (`"added"`, `"removed"`)
491* `model`: Modellkennung für das Modell, das die Änderung vorgenommen hat (z. B. "claude-sonnet-4-6"). {/* min-version: 2.1.172 */}Erfordert Claude Code v2.1.172 oder später
445 492
446#### Pull-Request-Zähler493<h4 id="pull-request-counter">
494 Pull-Request-Zähler
495</h4>
447 496
448Wird erhöht, wenn Claude Code einen Pull Request oder Merge Request über einen Shell-Befehl oder ein MCP-Tool erstellt.497Wird erhöht, wenn Claude Code einen Pull Request oder Merge Request über einen Shell-Befehl oder ein MCP-Tool erstellt.
449 498
450**Attribute**:499**Attribute**:
451 500
452* Alle [Standardattribute](#standardattribute)501* Alle [Standardattribute](#standard-attributes)
453 502
454#### Commit-Zähler503<h4 id="commit-counter">
504 Commit-Zähler
505</h4>
455 506
456Wird erhöht, wenn Git-Commits über Claude Code erstellt werden.507Wird erhöht, wenn Git-Commits über Claude Code erstellt werden.
457 508
458**Attribute**:509**Attribute**:
459 510
460* Alle [Standardattribute](#standardattribute)511* Alle [Standardattribute](#standard-attributes)
461 512
462#### Kostenzähler513<h4 id="cost-counter">
514 Kostenzähler
515</h4>
463 516
464Wird nach jeder API-Anfrage erhöht.517Wird nach jeder API-Anfrage erhöht.
465 518
466**Attribute**:519**Attribute**:
467 520
468* Alle [Standardattribute](#standardattribute)521* Alle [Standardattribute](#standard-attributes)
469* `model`: Modellkennung (z. B. "claude-sonnet-4-6")522* `model`: Modellkennung (z. B. "claude-sonnet-4-6")
470* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`523* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`
471* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden524* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden
477* `mcp_server.name`: MCP-Server, dessen Tool in der Runde ausgeführt wurde, die diese Anfrage erzeugt hat. Integrierte, claude.ai-proxied und offizielle Registry-Server-Namen werden wörtlich angezeigt. Benutzerkonfigurierte Server-Namen werden durch `"custom"` ersetzt. Nicht vorhanden, wenn kein MCP-Tool ausgeführt wurde.530* `mcp_server.name`: MCP-Server, dessen Tool in der Runde ausgeführt wurde, die diese Anfrage erzeugt hat. Integrierte, claude.ai-proxied und offizielle Registry-Server-Namen werden wörtlich angezeigt. Benutzerkonfigurierte Server-Namen werden durch `"custom"` ersetzt. Nicht vorhanden, wenn kein MCP-Tool ausgeführt wurde.
478* `mcp_tool.name`: MCP-Tool, das in der Runde ausgeführt wurde, die diese Anfrage erzeugt hat, mit der gleichen Schwärzung wie `mcp_server.name`. Nicht vorhanden, wenn kein MCP-Tool ausgeführt wurde.531* `mcp_tool.name`: MCP-Tool, das in der Runde ausgeführt wurde, die diese Anfrage erzeugt hat, mit der gleichen Schwärzung wie `mcp_server.name`. Nicht vorhanden, wenn kein MCP-Tool ausgeführt wurde.
479 532
480#### Token-Zähler533<h4 id="token-counter">
534 Token-Zähler
535</h4>
481 536
482Wird nach jeder API-Anfrage erhöht.537Wird nach jeder API-Anfrage erhöht.
483 538
484**Attribute**:539**Attribute**:
485 540
486* Alle [Standardattribute](#standardattribute)541* Alle [Standardattribute](#standard-attributes)
487* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)542* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)
488* `model`: Modellkennung (z. B. "claude-sonnet-4-6")543* `model`: Modellkennung (z. B. "claude-sonnet-4-6")
489* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`544* `query_source`: Kategorie des Subsystems, das die Anfrage gestellt hat. Einer von `"main"`, `"subagent"` oder `"auxiliary"`
490* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden545* `speed`: `"fast"`, wenn die Anfrage den schnellen Modus verwendet hat. Andernfalls nicht vorhanden
491* `effort`: [Anstrengungsstufe](/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Siehe [Kostenzähler](#kostenzähler) für Details.546* `effort`: [Anstrengungsstufe](/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Siehe [Kostenzähler](#cost-counter) für Details.
492* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Skill-, Plugin-, Agent- und MCP-Zuordnung für die Anfrage. Siehe [Kostenzähler](#kostenzähler) für Definitionen und Schwärzungsverhalten.547* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Skill-, Plugin-, Agent- und MCP-Zuordnung für die Anfrage. Siehe [Kostenzähler](#cost-counter) für Definitionen und Schwärzungsverhalten.
493 548
494#### Code-Edit-Tool-Entscheidungszähler549<h4 id="code-edit-tool-decision-counter">
550 Code-Edit-Tool-Entscheidungszähler
551</h4>
495 552
496Wird erhöht, wenn der Benutzer die Verwendung des Edit-, Write- oder NotebookEdit-Tools akzeptiert oder ablehnt.553Wird erhöht, wenn der Benutzer die Verwendung des Edit-, Write- oder NotebookEdit-Tools akzeptiert oder ablehnt.
497 554
498**Attribute**:555**Attribute**:
499 556
500* Alle [Standardattribute](#standardattribute)557* Alle [Standardattribute](#standard-attributes)
501* `tool_name`: Tool-Name (`"Edit"`, `"Write"`, `"NotebookEdit"`)558* `tool_name`: Tool-Name (`"Edit"`, `"Write"`, `"NotebookEdit"`)
502* `decision`: Benutzerentscheidung (`"accept"`, `"reject"`)559* `decision`: Benutzerentscheidung (`"accept"`, `"reject"`)
503* `source`: Entscheidungsquelle. Einer von `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"` oder `"user_reject"`. Siehe das [Tool-Entscheidungs-Ereignis](#tool-decision-event) für die Bedeutung jedes Wertes.560* `source`: Entscheidungsquelle. Einer von `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"` oder `"user_reject"`. Siehe das [Tool-Entscheidungs-Ereignis](#tool-decision-event) für die Bedeutung jedes Wertes.
504* `language`: Programmiersprache der bearbeiteten Datei, z. B. `"TypeScript"`, `"Python"`, `"JavaScript"` oder `"Markdown"`. Gibt `"unknown"` für nicht erkannte Dateierweiterungen zurück.561* `language`: Programmiersprache der bearbeiteten Datei, z. B. `"TypeScript"`, `"Python"`, `"JavaScript"` oder `"Markdown"`. Gibt `"unknown"` für nicht erkannte Dateierweiterungen zurück.
505 562
506#### Aktive-Zeit-Zähler563<h4 id="active-time-counter">
564 Aktive-Zeit-Zähler
565</h4>
507 566
508Verfolgt die tatsächliche Zeit, die aktiv Claude Code verwendet wird, ohne Leerlaufzeit. Diese Metrik wird während Benutzerinteraktionen (Eingabe, Lesen von Antworten) und während CLI-Verarbeitung (Tool-Ausführung, KI-Antwortgenerierung) erhöht.567Verfolgt die tatsächliche Zeit, die aktiv Claude Code verwendet wird, ohne Leerlaufzeit. Diese Metrik wird während Benutzerinteraktionen (Eingabe, Lesen von Antworten) und während CLI-Verarbeitung (Tool-Ausführung, KI-Antwortgenerierung) erhöht.
509 568
510**Attribute**:569**Attribute**:
511 570
512* Alle [Standardattribute](#standardattribute)571* Alle [Standardattribute](#standard-attributes)
513* `type`: `"user"` für Tastaturinteraktionen, `"cli"` für Tool-Ausführung und KI-Antworten572* `type`: `"user"` für Tastaturinteraktionen, `"cli"` für Tool-Ausführung und KI-Antworten
514 573
515### Ereignisse574<h3 id="events">
575 Ereignisse
576</h3>
516 577
517Claude Code exportiert die folgenden Ereignisse über OpenTelemetry Logs/Events (wenn `OTEL_LOGS_EXPORTER` konfiguriert ist):578Claude Code exportiert die folgenden Ereignisse über OpenTelemetry Logs/Events (wenn `OTEL_LOGS_EXPORTER` konfiguriert ist):
518 579
519#### Ereigniskorrelationsattribute580<h4 id="event-correlation-attributes">
581 Ereigniskorrelationsattribute
582</h4>
520 583
521Wenn ein Benutzer einen Prompt einreicht, kann Claude Code mehrere API-Aufrufe tätigen und mehrere Tools ausführen. Das Attribut `prompt.id` ermöglicht es Ihnen, alle diese Ereignisse an den einzelnen Prompt zu binden, der sie ausgelöst hat.584Wenn ein Benutzer einen Prompt einreicht, kann Claude Code mehrere API-Aufrufe tätigen und mehrere Tools ausführen. Das Attribut `prompt.id` ermöglicht es Ihnen, alle diese Ereignisse an den einzelnen Prompt zu binden, der sie ausgelöst hat.
522 585
530 `prompt.id` ist absichtlich aus Metriken ausgeschlossen, da jeder Prompt eine eindeutige ID generiert, was zu einer ständig wachsenden Anzahl von Zeitreihen führen würde. Verwenden Sie es nur für Ereignisanalyse und Audit-Trails.593 `prompt.id` ist absichtlich aus Metriken ausgeschlossen, da jeder Prompt eine eindeutige ID generiert, was zu einer ständig wachsenden Anzahl von Zeitreihen führen würde. Verwenden Sie es nur für Ereignisanalyse und Audit-Trails.
531</Note>594</Note>
532 595
533#### Benutzer-Prompt-Ereignis596<h4 id="user-prompt-event">
597 Benutzer-Prompt-Ereignis
598</h4>
534 599
535Protokolliert, wenn ein Benutzer einen Prompt einreicht.600Protokolliert, wenn ein Benutzer einen Prompt einreicht.
536 601
538 603
539**Attribute**:604**Attribute**:
540 605
541* Alle [Standardattribute](#standardattribute)606* Alle [Standardattribute](#standard-attributes)
542* `event.name`: `"user_prompt"`607* `event.name`: `"user_prompt"`
543* `event.timestamp`: ISO 8601-Zeitstempel608* `event.timestamp`: ISO 8601-Zeitstempel
544* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung609* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
547* `command_name`: Befehlsname, wenn der Prompt einen aufruft. Integrierte und gebündelte Befehlsnamen wie `compact` oder `debug` werden wie geschrieben ausgegeben; Aliase wie `reset` werden wie eingegeben ausgegeben, nicht der kanonische Name. Benutzerdefinierte, Plugin- und MCP-Befehlsnamen werden zu `custom` oder `mcp` zusammengefasst, es sei denn, `OTEL_LOG_TOOL_DETAILS=1` ist gesetzt612* `command_name`: Befehlsname, wenn der Prompt einen aufruft. Integrierte und gebündelte Befehlsnamen wie `compact` oder `debug` werden wie geschrieben ausgegeben; Aliase wie `reset` werden wie eingegeben ausgegeben, nicht der kanonische Name. Benutzerdefinierte, Plugin- und MCP-Befehlsnamen werden zu `custom` oder `mcp` zusammengefasst, es sei denn, `OTEL_LOG_TOOL_DETAILS=1` ist gesetzt
548* `command_source`: Ursprung des Befehls, wenn vorhanden: `builtin`, `custom` oder `mcp`. Von Plugins bereitgestellte Befehle werden als `custom` gemeldet613* `command_source`: Ursprung des Befehls, wenn vorhanden: `builtin`, `custom` oder `mcp`. Von Plugins bereitgestellte Befehle werden als `custom` gemeldet
549 614
550#### Tool-Ergebnis-Ereignis615<h4 id="tool-result-event">
616 Tool-Ergebnis-Ereignis
617</h4>
551 618
552Protokolliert, wenn ein Tool die Ausführung abgeschlossen hat. Nicht ausgegeben, wenn der Tool-Aufruf abgelehnt wurde; siehe das [Tool-Entscheidungs-Ereignis](#tool-decision-event) für Ablehnungen.619Protokolliert, wenn ein Tool die Ausführung abgeschlossen hat. Nicht ausgegeben, wenn der Tool-Aufruf abgelehnt wurde; siehe das [Tool-Entscheidungs-Ereignis](#tool-decision-event) für Ablehnungen.
553 620
555 622
556**Attribute**:623**Attribute**:
557 624
558* Alle [Standardattribute](#standardattribute)625* Alle [Standardattribute](#standard-attributes)
559* `event.name`: `"tool_result"`626* `event.name`: `"tool_result"`
560* `event.timestamp`: ISO 8601-Zeitstempel627* `event.timestamp`: ISO 8601-Zeitstempel
561* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung628* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
578 * Für Agent-Tool oder Legacy-Task-Tool: enthält `subagent_type`645 * Für Agent-Tool oder Legacy-Task-Tool: enthält `subagent_type`
579* `tool_input` (wenn `OTEL_LOG_TOOL_DETAILS=1`): JSON-serialisierte Tool-Argumente. Einzelne Werte über 512 Zeichen werden gekürzt, und die gesamte Nutzlast ist auf etwa 4 K Zeichen begrenzt. Gilt für alle Tools einschließlich MCP-Tools.646* `tool_input` (wenn `OTEL_LOG_TOOL_DETAILS=1`): JSON-serialisierte Tool-Argumente. Einzelne Werte über 512 Zeichen werden gekürzt, und die gesamte Nutzlast ist auf etwa 4 K Zeichen begrenzt. Gilt für alle Tools einschließlich MCP-Tools.
580 647
581#### API-Anfrage-Ereignis648<h4 id="api-request-event">
649 API-Anfrage-Ereignis
650</h4>
582 651
583Protokolliert für jede API-Anfrage an Claude.652Protokolliert für jede API-Anfrage an Claude.
584 653
586 655
587**Attribute**:656**Attribute**:
588 657
589* Alle [Standardattribute](#standardattribute)658* Alle [Standardattribute](#standard-attributes)
590* `event.name`: `"api_request"`659* `event.name`: `"api_request"`
591* `event.timestamp`: ISO 8601-Zeitstempel660* `event.timestamp`: ISO 8601-Zeitstempel
592* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung661* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
601* `speed`: `"fast"` oder `"normal"`, was angibt, ob der schnelle Modus aktiv war670* `speed`: `"fast"` oder `"normal"`, was angibt, ob der schnelle Modus aktiv war
602* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name671* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name
603* `effort`: [Anstrengungsstufe](/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird: `"low"`, `"medium"`, `"high"`, `"xhigh"` oder `"max"`. Nicht vorhanden, wenn das Modell Anstrengung nicht unterstützt.672* `effort`: [Anstrengungsstufe](/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird: `"low"`, `"medium"`, `"high"`, `"xhigh"` oder `"max"`. Nicht vorhanden, wenn das Modell Anstrengung nicht unterstützt.
604* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Skill-, Plugin-, Agent- und MCP-Zuordnung für die Anfrage. Siehe [Kostenzähler](#kostenzähler) für Definitionen und Schwärzungsverhalten.673* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Skill-, Plugin-, Agent- und MCP-Zuordnung für die Anfrage. Siehe [Kostenzähler](#cost-counter) für Definitionen und Schwärzungsverhalten.
605 674
606#### API-Fehler-Ereignis675<h4 id="api-error-event">
676 API-Fehler-Ereignis
677</h4>
607 678
608Protokolliert, wenn eine API-Anfrage an Claude fehlschlägt.679Protokolliert, wenn eine API-Anfrage an Claude fehlschlägt.
609 680
611 682
612**Attribute**:683**Attribute**:
613 684
614* Alle [Standardattribute](#standardattribute)685* Alle [Standardattribute](#standard-attributes)
615* `event.name`: `"api_error"`686* `event.name`: `"api_error"`
616* `event.timestamp`: ISO 8601-Zeitstempel687* `event.timestamp`: ISO 8601-Zeitstempel
617* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung688* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
624* `speed`: `"fast"` oder `"normal"`, was angibt, ob der schnelle Modus aktiv war695* `speed`: `"fast"` oder `"normal"`, was angibt, ob der schnelle Modus aktiv war
625* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name696* `query_source`: Subsystem, das die Anfrage gestellt hat, z. B. `"repl_main_thread"`, `"compact"` oder ein Subagent-Name
626* `effort`: [Anstrengungsstufe](/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Nicht vorhanden, wenn das Modell Anstrengung nicht unterstützt.697* `effort`: [Anstrengungsstufe](/de/model-config#adjust-effort-level), die auf die Anfrage angewendet wird. Nicht vorhanden, wenn das Modell Anstrengung nicht unterstützt.
627* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Skill-, Plugin-, Agent- und MCP-Zuordnung für die Anfrage. Siehe [Kostenzähler](#kostenzähler) für Definitionen und Schwärzungsverhalten.698* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Skill-, Plugin-, Agent- und MCP-Zuordnung für die Anfrage. Siehe [Kostenzähler](#cost-counter) für Definitionen und Schwärzungsverhalten.
628 699
629#### API-Anfrage-Text-Ereignis700<h4 id="api-refusal-event">
701 API-Verweigerung-Ereignis
702</h4>
703
704Protokolliert, wenn eine API-Anfrage `stop_reason: "refusal"` zurückgibt. Verweigerungen kommen in einem erfolgreichen Response-Stream an, nicht als HTTP-Fehler, daher wird das `api_error`-Ereignis nicht für sie ausgelöst. Dieses Ereignis ermöglicht es Ihnen, die Verweigerungshäufigkeit zu verfolgen.
705
706**Ereignisname**: `claude_code.api_refusal`
707
708**Attribute**:
709
710* Alle [Standardattribute](#standard-attributes)
711* `event.name`: `"api_refusal"`
712* `event.timestamp`: ISO 8601-Zeitstempel
713* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
714* `model`: Modellkennung aus der Anfrage
715* `request_id`: Anthropic API-Anfrage-ID aus dem Response-Header `request-id`, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.
716
717<h4 id="api-request-body-event">
718 API-Anfrage-Text-Ereignis
719</h4>
630 720
631Protokolliert für jeden API-Anfrage-Versuch, wenn `OTEL_LOG_RAW_API_BODIES` gesetzt ist. Ein Ereignis wird pro Versuch ausgegeben, daher erzeugen Wiederholungen mit angepassten Parametern jeweils ihr eigenes Ereignis.721Protokolliert für jeden API-Anfrage-Versuch, wenn `OTEL_LOG_RAW_API_BODIES` gesetzt ist. Ein Ereignis wird pro Versuch ausgegeben, daher erzeugen Wiederholungen mit angepassten Parametern jeweils ihr eigenes Ereignis.
632 722
634 724
635**Attribute**:725**Attribute**:
636 726
637* Alle [Standardattribute](#standardattribute)727* Alle [Standardattribute](#standard-attributes)
638* `event.name`: `"api_request_body"`728* `event.name`: `"api_request_body"`
639* `event.timestamp`: ISO 8601-Zeitstempel729* `event.timestamp`: ISO 8601-Zeitstempel
640* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung730* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
645* `model`: Modellkennung aus den Anfrageparametern735* `model`: Modellkennung aus den Anfrageparametern
646* `query_source`: Subsystem, das die Anfrage gestellt hat (z. B. `"compact"`)736* `query_source`: Subsystem, das die Anfrage gestellt hat (z. B. `"compact"`)
647 737
648#### API-Antwort-Text-Ereignis738<h4 id="api-response-body-event">
739 API-Antwort-Text-Ereignis
740</h4>
649 741
650Protokolliert für jede erfolgreiche API-Antwort, wenn `OTEL_LOG_RAW_API_BODIES` gesetzt ist.742Protokolliert für jede erfolgreiche API-Antwort, wenn `OTEL_LOG_RAW_API_BODIES` gesetzt ist.
651 743
653 745
654**Attribute**:746**Attribute**:
655 747
656* Alle [Standardattribute](#standardattribute)748* Alle [Standardattribute](#standard-attributes)
657* `event.name`: `"api_response_body"`749* `event.name`: `"api_response_body"`
658* `event.timestamp`: ISO 8601-Zeitstempel750* `event.timestamp`: ISO 8601-Zeitstempel
659* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung751* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
665* `query_source`: Subsystem, das die Anfrage gestellt hat757* `query_source`: Subsystem, das die Anfrage gestellt hat
666* `request_id`: Anthropic API-Anfrage-ID aus dem Response-Header `request-id`, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.758* `request_id`: Anthropic API-Anfrage-ID aus dem Response-Header `request-id`, z. B. `"req_011..."`. Nur vorhanden, wenn die API eine zurückgibt.
667 759
668#### Tool-Entscheidungs-Ereignis760<h4 id="tool-decision-event">
761 Tool-Entscheidungs-Ereignis
762</h4>
669 763
670Protokolliert, wenn eine Tool-Berechtigungsentscheidung getroffen wird (akzeptieren/ablehnen).764Protokolliert, wenn eine Tool-Berechtigungsentscheidung getroffen wird (akzeptieren/ablehnen).
671 765
673 767
674**Attribute**:768**Attribute**:
675 769
676* Alle [Standardattribute](#standardattribute)770* Alle [Standardattribute](#standard-attributes)
677* `event.name`: `"tool_decision"`771* `event.name`: `"tool_decision"`
678* `event.timestamp`: ISO 8601-Zeitstempel772* `event.timestamp`: ISO 8601-Zeitstempel
679* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung773* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
694 * Für Skill-Tool: enthält `skill_name`788 * Für Skill-Tool: enthält `skill_name`
695 * Für Agent-Tool oder Legacy-Task-Tool: enthält `subagent_type`789 * Für Agent-Tool oder Legacy-Task-Tool: enthält `subagent_type`
696 790
697#### Berechtigungsmodus-Änderungs-Ereignis791<h4 id="permission-mode-changed-event">
792 Berechtigungsmodus-Änderungs-Ereignis
793</h4>
698 794
699Protokolliert, wenn sich der Berechtigungsmodus ändert, z. B. durch Shift+Tab-Zyklus, Beendigung des Plan-Modus oder eine Auto-Modus-Gate-Prüfung.795Protokolliert, wenn sich der Berechtigungsmodus ändert, z. B. durch Shift+Tab-Zyklus, Beendigung des Plan-Modus oder eine Auto-Modus-Gate-Prüfung.
700 796
702 798
703**Attribute**:799**Attribute**:
704 800
705* Alle [Standardattribute](#standardattribute)801* Alle [Standardattribute](#standard-attributes)
706* `event.name`: `"permission_mode_changed"`802* `event.name`: `"permission_mode_changed"`
707* `event.timestamp`: ISO 8601-Zeitstempel803* `event.timestamp`: ISO 8601-Zeitstempel
708* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung804* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
710* `to_mode`: Der neue Berechtigungsmodus806* `to_mode`: Der neue Berechtigungsmodus
711* `trigger`: Was die Änderung verursacht hat. Einer von `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"` oder `"auto_opt_in"`. Nicht vorhanden, wenn der Übergang vom SDK oder Bridge stammt807* `trigger`: Was die Änderung verursacht hat. Einer von `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"` oder `"auto_opt_in"`. Nicht vorhanden, wenn der Übergang vom SDK oder Bridge stammt
712 808
713#### Auth-Ereignis809<h4 id="auth-event">
810 Auth-Ereignis
811</h4>
714 812
715Protokolliert, wenn `/login` oder `/logout` abgeschlossen ist.813Protokolliert, wenn `/login` oder `/logout` abgeschlossen ist.
716 814
718 816
719**Attribute**:817**Attribute**:
720 818
721* Alle [Standardattribute](#standardattribute)819* Alle [Standardattribute](#standard-attributes)
722* `event.name`: `"auth"`820* `event.name`: `"auth"`
723* `event.timestamp`: ISO 8601-Zeitstempel821* `event.timestamp`: ISO 8601-Zeitstempel
724* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung822* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
728* `error_category`: Kategorische Fehlerart, wenn die Aktion fehlgeschlagen ist. Die rohe Fehlermeldung ist nie enthalten826* `error_category`: Kategorische Fehlerart, wenn die Aktion fehlgeschlagen ist. Die rohe Fehlermeldung ist nie enthalten
729* `status_code`: HTTP-Statuscode als Zeichenkette, wenn die Aktion mit einem HTTP-Fehler fehlgeschlagen ist827* `status_code`: HTTP-Statuscode als Zeichenkette, wenn die Aktion mit einem HTTP-Fehler fehlgeschlagen ist
730 828
731#### MCP-Server-Verbindungs-Ereignis829<h4 id="mcp-server-connection-event">
830 MCP-Server-Verbindungs-Ereignis
831</h4>
732 832
733Protokolliert, wenn ein MCP-Server verbunden wird, getrennt wird oder keine Verbindung herstellen kann.833Protokolliert, wenn ein MCP-Server verbunden wird, getrennt wird oder keine Verbindung herstellen kann.
734 834
736 836
737**Attribute**:837**Attribute**:
738 838
739* Alle [Standardattribute](#standardattribute)839* Alle [Standardattribute](#standard-attributes)
740* `event.name`: `"mcp_server_connection"`840* `event.name`: `"mcp_server_connection"`
741* `event.timestamp`: ISO 8601-Zeitstempel841* `event.timestamp`: ISO 8601-Zeitstempel
742* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung842* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
745* `server_scope`: Bereich, in dem der Server konfiguriert ist, z. B. `"user"`, `"project"` oder `"local"`845* `server_scope`: Bereich, in dem der Server konfiguriert ist, z. B. `"user"`, `"project"` oder `"local"`
746* `duration_ms`: Verbindungsversuch-Dauer in Millisekunden846* `duration_ms`: Verbindungsversuch-Dauer in Millisekunden
747* `error_code`: Fehlercode, wenn die Verbindung fehlgeschlagen ist847* `error_code`: Fehlercode, wenn die Verbindung fehlgeschlagen ist
848* `is_plugin`: `true`, wenn der Server von einem Plugin bereitgestellt wird, `false` andernfalls
849* `plugin_id_hash` (wenn `is_plugin` `true` ist): Stabiler Hash des Plugin-Namens und des Marketplace, zum Gruppieren von Ereignissen nach Plugin, ohne den Namen offenzulegen
850* `plugin.name` (wenn `is_plugin` `true` ist): Name des Plugins, das den Server bereitstellt. Für Drittanbieter-Plugins ist dies die Zeichenkette `"third-party"`, es sei denn, `OTEL_LOG_TOOL_DETAILS=1`; dies schützt Drittanbieter-Plugin-Namen davor, standardmäßig in Protokollen zu erscheinen. Plugins aus offiziellen Anthropic-Quellen werden immer anhand des Namens identifiziert. Die Attribute `plugin_id_hash` und `plugin.name` fließen zu Ihrem eigenen Monitoring-Backend und werden nicht an Anthropic gesendet
748* `server_name` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Konfigurierter Server-Name851* `server_name` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Konfigurierter Server-Name
749* `error` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Vollständige Fehlermeldung, wenn die Verbindung fehlgeschlagen ist852* `error` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Vollständige Fehlermeldung, wenn die Verbindung fehlgeschlagen ist
750 853
751#### Interner Fehler-Ereignis854<h4 id="internal-error-event">
855 Interner Fehler-Ereignis
856</h4>
752 857
753Protokolliert, wenn Claude Code einen unerwarteten internen Fehler abfängt. Nur der Fehlerklassenname und ein errno-ähnlicher Code werden aufgezeichnet. Die Fehlermeldung und Stack-Trace sind nie enthalten. Dieses Ereignis wird nicht ausgegeben, wenn gegen Bedrock, Vertex oder Foundry ausgeführt wird, oder wenn `DISABLE_ERROR_REPORTING` gesetzt ist.858Protokolliert, wenn Claude Code einen unerwarteten internen Fehler abfängt. Nur der Fehlerklassenname und ein errno-ähnlicher Code werden aufgezeichnet. Die Fehlermeldung und Stack-Trace sind nie enthalten. Dieses Ereignis wird nicht ausgegeben, wenn gegen Bedrock, Vertex oder Foundry ausgeführt wird, oder wenn `DISABLE_ERROR_REPORTING` gesetzt ist.
754 859
756 861
757**Attribute**:862**Attribute**:
758 863
759* Alle [Standardattribute](#standardattribute)864* Alle [Standardattribute](#standard-attributes)
760* `event.name`: `"internal_error"`865* `event.name`: `"internal_error"`
761* `event.timestamp`: ISO 8601-Zeitstempel866* `event.timestamp`: ISO 8601-Zeitstempel
762* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung867* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
763* `error_name`: Fehlerklassenname, z. B. `"TypeError"` oder `"SyntaxError"`868* `error_name`: Fehlerklassenname, z. B. `"TypeError"` oder `"SyntaxError"`
764* `error_code`: Node.js errno-Code wie `"ENOENT"`, wenn auf dem Fehler vorhanden869* `error_code`: Node.js errno-Code wie `"ENOENT"`, wenn auf dem Fehler vorhanden
765 870
766#### Plugin-Installiert-Ereignis871<h4 id="plugin-installed-event">
872 Plugin-Installiert-Ereignis
873</h4>
767 874
768Protokolliert, wenn ein Plugin die Installation abgeschlossen hat, sowohl vom `claude plugin install` CLI-Befehl als auch von der interaktiven `/plugin` UI.875Protokolliert, wenn ein Plugin die Installation abgeschlossen hat, sowohl vom `claude plugin install` CLI-Befehl als auch von der interaktiven `/plugin` UI.
769 876
771 878
772**Attribute**:879**Attribute**:
773 880
774* Alle [Standardattribute](#standardattribute)881* Alle [Standardattribute](#standard-attributes)
775* `event.name`: `"plugin_installed"`882* `event.name`: `"plugin_installed"`
776* `event.timestamp`: ISO 8601-Zeitstempel883* `event.timestamp`: ISO 8601-Zeitstempel
777* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung884* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
781* `plugin.version`: Plugin-Version, wenn in der Marketplace-Eintrag deklariert. Für Drittanbieter-Marketplaces ist dies nur enthalten, wenn `OTEL_LOG_TOOL_DETAILS=1`888* `plugin.version`: Plugin-Version, wenn in der Marketplace-Eintrag deklariert. Für Drittanbieter-Marketplaces ist dies nur enthalten, wenn `OTEL_LOG_TOOL_DETAILS=1`
782* `marketplace.name`: Marketplace, von dem das Plugin installiert wurde. Für Drittanbieter-Marketplaces ist dies nur enthalten, wenn `OTEL_LOG_TOOL_DETAILS=1`889* `marketplace.name`: Marketplace, von dem das Plugin installiert wurde. Für Drittanbieter-Marketplaces ist dies nur enthalten, wenn `OTEL_LOG_TOOL_DETAILS=1`
783 890
784#### Plugin-Geladen-Ereignis891<h4 id="plugin-loaded-event">
892 Plugin-Geladen-Ereignis
893</h4>
785 894
786Protokolliert einmal pro aktiviertem Plugin beim Sitzungsstart. Verwenden Sie dieses Ereignis, um zu inventarisieren, welche Plugins über Ihre gesamte Flotte hinweg aktiv sind, als Ergänzung zu `plugin_installed`, das die Installationsaktion selbst aufzeichnet.895Protokolliert einmal pro aktiviertem Plugin beim Sitzungsstart. Verwenden Sie dieses Ereignis, um zu inventarisieren, welche Plugins über Ihre gesamte Flotte hinweg aktiv sind, als Ergänzung zu `plugin_installed`, das die Installationsaktion selbst aufzeichnet.
787 896
789 898
790**Attribute**:899**Attribute**:
791 900
792* Alle [Standardattribute](#standardattribute)901* Alle [Standardattribute](#standard-attributes)
793* `event.name`: `"plugin_loaded"`902* `event.name`: `"plugin_loaded"`
794* `event.timestamp`: ISO 8601-Zeitstempel903* `event.timestamp`: ISO 8601-Zeitstempel
795* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung904* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
801* `plugin_id_hash`: Deterministische Hash des Plugin-Namens und des Marketplace, nur an Ihren konfigurierten Exporter gesendet. Ermöglicht es Ihnen, zu zählen, wie viele unterschiedliche Drittanbieter-Plugins über Ihre gesamte Flotte hinweg geladen sind, ohne ihre Namen aufzuzeichnen910* `plugin_id_hash`: Deterministische Hash des Plugin-Namens und des Marketplace, nur an Ihren konfigurierten Exporter gesendet. Ermöglicht es Ihnen, zu zählen, wie viele unterschiedliche Drittanbieter-Plugins über Ihre gesamte Flotte hinweg geladen sind, ohne ihre Namen aufzuzeichnen
802* `has_hooks`: Ob das Plugin Hooks beiträgt911* `has_hooks`: Ob das Plugin Hooks beiträgt
803* `has_mcp`: Ob das Plugin MCP-Server beiträgt912* `has_mcp`: Ob das Plugin MCP-Server beiträgt
913* `host_owned_mcp`: `true`, wenn der SDK-Host die MCP-Verbindungen dieses Plugins verwaltet und Claude Code das Lesen der MCP-Server-Konfiguration des Plugins übersprungen hat, `false` andernfalls. {/* min-version: 2.1.172 */}Erfordert Claude Code v2.1.172 oder später
804* `skill_path_count`: Anzahl der Skill-Verzeichnisse, die das Plugin deklariert914* `skill_path_count`: Anzahl der Skill-Verzeichnisse, die das Plugin deklariert
805* `command_path_count`: Anzahl der Befehlsverzeichnisse, die das Plugin deklariert915* `command_path_count`: Anzahl der Befehlsverzeichnisse, die das Plugin deklariert
806* `agent_path_count`: Anzahl der Agent-Verzeichnisse, die das Plugin deklariert916* `agent_path_count`: Anzahl der Agent-Verzeichnisse, die das Plugin deklariert
917* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/de/cli-reference) gestartet wurde, `"false"` andernfalls. Im sicheren Modus meldet dieses Ereignis nur die konfigurierte Inventur; die Befehle, Skills, Hooks und MCP-Server des Plugins werden nicht geladen. {/* min-version: 2.1.169 */}Erfordert Claude Code v2.1.169 oder später
807 918
808#### Skill-Aktiviert-Ereignis919<h4 id="skill-activated-event">
920 Skill-Aktiviert-Ereignis
921</h4>
809 922
810Protokolliert, wenn ein Skill aufgerufen wird, ob Claude ihn über das Skill-Tool aufruft oder Sie ihn als `/` Befehl ausführen.923Protokolliert, wenn ein Skill aufgerufen wird, ob Claude ihn über das Skill-Tool aufruft oder Sie ihn als `/` Befehl ausführen.
811 924
813 926
814**Attribute**:927**Attribute**:
815 928
816* Alle [Standardattribute](#standardattribute)929* Alle [Standardattribute](#standard-attributes)
817* `event.name`: `"skill_activated"`930* `event.name`: `"skill_activated"`
818* `event.timestamp`: ISO 8601-Zeitstempel931* `event.timestamp`: ISO 8601-Zeitstempel
819* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung932* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
820* `skill.name`: Name des Skills. Für benutzerdefinierte und Drittanbieter-Plugin-Skills ist der Wert der Platzhalter `"custom_skill"`, es sei denn, `OTEL_LOG_TOOL_DETAILS=1`933* `skill.name`: Name des Skills. Für benutzerdefinierte und Drittanbieter-Plugin-Skills ist der Wert der Platzhalter `"custom_skill"`, es sei denn, `OTEL_LOG_TOOL_DETAILS=1`
821* `invocation_trigger`: Wie der Skill ausgelöst wurde (`"user-slash"`, `"claude-proactive"` oder `"nested-skill"`)934* `invocation_trigger`: Wie der Skill ausgelöst wurde (`"user-slash"`, `"claude-proactive"` oder `"nested-skill"`)
822* `skill.source`: Wo der Skill geladen wurde (z. B. `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)935* `skill.source`: Wo der Skill geladen wurde (z. B. `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)
936* `skill.kind`: `"workflow"`, wenn der Skill ein Workflow-Skill ist. Andernfalls nicht vorhanden
823* `plugin.name` (wenn `OTEL_LOG_TOOL_DETAILS=1` oder das Plugin ist von einem offiziellen Marketplace): Name des besitzenden Plugins, wenn der Skill von einem Plugin bereitgestellt wird937* `plugin.name` (wenn `OTEL_LOG_TOOL_DETAILS=1` oder das Plugin ist von einem offiziellen Marketplace): Name des besitzenden Plugins, wenn der Skill von einem Plugin bereitgestellt wird
824* `marketplace.name` (wenn `OTEL_LOG_TOOL_DETAILS=1` oder das Plugin ist von einem offiziellen Marketplace): Marketplace des besitzenden Plugins, wenn der Skill von einem Plugin bereitgestellt wird938* `marketplace.name` (wenn `OTEL_LOG_TOOL_DETAILS=1` oder das Plugin ist von einem offiziellen Marketplace): Marketplace des besitzenden Plugins, wenn der Skill von einem Plugin bereitgestellt wird
825 939
826#### At-Mention-Ereignis940<h4 id="at-mention-event">
941 At-Mention-Ereignis
942</h4>
827 943
828Protokolliert, wenn Claude Code ein `@`-Mention in einem Prompt auflöst. Nicht jedes Mention gibt ein Ereignis aus: Early-Exit-Pfade wie Berechtigungsverweigerungen, übergroße Dateien, PDF-Referenz-Anhänge und Fehler beim Auflisten von Verzeichnissen werden zurückgegeben, ohne zu protokollieren.944Protokolliert, wenn Claude Code ein `@`-Mention in einem Prompt auflöst. Nicht jedes Mention gibt ein Ereignis aus: Early-Exit-Pfade wie Berechtigungsverweigerungen, übergroße Dateien, PDF-Referenz-Anhänge und Fehler beim Auflisten von Verzeichnissen werden zurückgegeben, ohne zu protokollieren.
829 945
831 947
832**Attribute**:948**Attribute**:
833 949
834* Alle [Standardattribute](#standardattribute)950* Alle [Standardattribute](#standard-attributes)
835* `event.name`: `"at_mention"`951* `event.name`: `"at_mention"`
836* `event.timestamp`: ISO 8601-Zeitstempel952* `event.timestamp`: ISO 8601-Zeitstempel
837* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung953* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
838* `mention_type`: Typ des Mentions (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`)954* `mention_type`: Typ des Mentions (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`)
839* `success`: Ob das Mention erfolgreich aufgelöst wurde (`"true"` oder `"false"`)955* `success`: Ob das Mention erfolgreich aufgelöst wurde (`"true"` oder `"false"`)
840 956
841#### API-Wiederholungen-Erschöpft-Ereignis957<h4 id="api-retries-exhausted-event">
958 API-Wiederholungen-Erschöpft-Ereignis
959</h4>
842 960
843Protokolliert einmal, wenn eine API-Anfrage nach mehr als einem Versuch fehlschlägt. Wird zusammen mit dem letzten `api_error` Ereignis ausgegeben.961Protokolliert einmal, wenn eine API-Anfrage nach mehr als einem Versuch fehlschlägt. Wird zusammen mit dem letzten `api_error` Ereignis ausgegeben.
844 962
846 964
847**Attribute**:965**Attribute**:
848 966
849* Alle [Standardattribute](#standardattribute)967* Alle [Standardattribute](#standard-attributes)
850* `event.name`: `"api_retries_exhausted"`968* `event.name`: `"api_retries_exhausted"`
851* `event.timestamp`: ISO 8601-Zeitstempel969* `event.timestamp`: ISO 8601-Zeitstempel
852* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung970* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
857* `total_retry_duration_ms`: Gesamte Wanduhr-Zeit über alle Versuche975* `total_retry_duration_ms`: Gesamte Wanduhr-Zeit über alle Versuche
858* `speed`: `"fast"` oder `"normal"`976* `speed`: `"fast"` oder `"normal"`
859 977
860#### Hook-Registriert-Ereignis978<h4 id="hook-registered-event">
979 Hook-Registriert-Ereignis
980</h4>
861 981
862Protokolliert einmal pro konfiguriertem Hook beim Sitzungsstart. Verwenden Sie dieses Ereignis, um zu inventarisieren, welche Hooks über Ihre gesamte Flotte hinweg aktiv sind, als Ergänzung zu den Pro-Ausführungs-Ereignissen `hook_execution_start` und `hook_execution_complete`.982Protokolliert einmal pro konfiguriertem Hook beim Sitzungsstart. Verwenden Sie dieses Ereignis, um zu inventarisieren, welche Hooks über Ihre gesamte Flotte hinweg aktiv sind, als Ergänzung zu den Pro-Ausführungs-Ereignissen `hook_execution_start` und `hook_execution_complete`.
863 983
865 985
866**Attribute**:986**Attribute**:
867 987
868* Alle [Standardattribute](#standardattribute)988* Alle [Standardattribute](#standard-attributes)
869* `event.name`: `"hook_registered"`989* `event.name`: `"hook_registered"`
870* `event.timestamp`: ISO 8601-Zeitstempel990* `event.timestamp`: ISO 8601-Zeitstempel
871* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung991* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
872* `hook_event`: Hook-Ereignistyp, z. B. `"PreToolUse"` oder `"PostToolUse"`992* `hook_event`: Hook-Ereignistyp, z. B. `"PreToolUse"` oder `"PostToolUse"`
873* `hook_type`: Hook-Implementierungstyp: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"` oder `"agent"`993* `hook_type`: Hook-Implementierungstyp: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"` oder `"agent"`
874* `hook_source`: Wo der Hook definiert ist: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"` oder `"pluginHook"`994* `hook_source`: Wo der Hook definiert ist: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"` oder `"pluginHook"`
995* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/de/cli-reference) gestartet wurde, `"false"` andernfalls. {/* min-version: 2.1.169 */}Erfordert Claude Code v2.1.169 oder später
875* `hook_matcher` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Die Matcher-Zeichenkette aus der Hook-Konfiguration, wenn eine gesetzt ist996* `hook_matcher` (wenn `OTEL_LOG_TOOL_DETAILS=1`): Die Matcher-Zeichenkette aus der Hook-Konfiguration, wenn eine gesetzt ist
876* `plugin.name` (wenn `hook_source` `"pluginHook"` ist): Name des beitragenden Plugins. Für Plugins außerhalb des offiziellen Marketplace und des integrierten Bundles ist der Wert `"third-party"`, es sei denn, `OTEL_LOG_TOOL_DETAILS=1`997* `plugin.name` (wenn `hook_source` `"pluginHook"` ist): Name des beitragenden Plugins. Für Plugins außerhalb des offiziellen Marketplace und des integrierten Bundles ist der Wert `"third-party"`, es sei denn, `OTEL_LOG_TOOL_DETAILS=1`
877* `plugin_id_hash` (wenn `hook_source` `"pluginHook"` ist): Deterministische Hash des Plugin-Namens und des Marketplace, nur an Ihren konfigurierten Exporter gesendet. Ermöglicht es Ihnen, unterschiedliche beitragende Plugins zu zählen, ohne ihre Namen aufzuzeichnen998* `plugin_id_hash` (wenn `hook_source` `"pluginHook"` ist): Deterministische Hash des Plugin-Namens und des Marketplace, nur an Ihren konfigurierten Exporter gesendet. Ermöglicht es Ihnen, unterschiedliche beitragende Plugins zu zählen, ohne ihre Namen aufzuzeichnen
878 999
879#### Hook-Ausführungs-Start-Ereignis1000<h4 id="hook-execution-start-event">
1001 Hook-Ausführungs-Start-Ereignis
1002</h4>
880 1003
881Protokolliert, wenn ein oder mehrere Hooks für ein Hook-Ereignis beginnen auszuführen.1004Protokolliert, wenn ein oder mehrere Hooks für ein Hook-Ereignis beginnen auszuführen.
882 1005
884 1007
885**Attribute**:1008**Attribute**:
886 1009
887* Alle [Standardattribute](#standardattribute)1010* Alle [Standardattribute](#standard-attributes)
888* `event.name`: `"hook_execution_start"`1011* `event.name`: `"hook_execution_start"`
889* `event.timestamp`: ISO 8601-Zeitstempel1012* `event.timestamp`: ISO 8601-Zeitstempel
890* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung1013* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
893* `num_hooks`: Anzahl der übereinstimmenden Hook-Befehle1016* `num_hooks`: Anzahl der übereinstimmenden Hook-Befehle
894* `managed_only`: `"true"`, wenn nur verwaltete Richtlinien-Hooks zulässig sind1017* `managed_only`: `"true"`, wenn nur verwaltete Richtlinien-Hooks zulässig sind
895* `hook_source`: `"policySettings"` oder `"merged"`1018* `hook_source`: `"policySettings"` oder `"merged"`
1019* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/de/cli-reference) gestartet wurde, `"false"` andernfalls. {/* min-version: 2.1.169 */}Erfordert Claude Code v2.1.169 oder später
896* `hook_definitions`: JSON-serialisierte Hook-Konfiguration. Nur enthalten, wenn sowohl detailliertes Beta-Tracing als auch `OTEL_LOG_TOOL_DETAILS=1` aktiviert sind1020* `hook_definitions`: JSON-serialisierte Hook-Konfiguration. Nur enthalten, wenn sowohl detailliertes Beta-Tracing als auch `OTEL_LOG_TOOL_DETAILS=1` aktiviert sind
897 1021
898#### Hook-Ausführungs-Abschluss-Ereignis1022<h4 id="hook-execution-complete-event">
1023 Hook-Ausführungs-Abschluss-Ereignis
1024</h4>
899 1025
900Protokolliert, wenn alle Hooks für ein Hook-Ereignis abgeschlossen sind.1026Protokolliert, wenn alle Hooks für ein Hook-Ereignis abgeschlossen sind.
901 1027
903 1029
904**Attribute**:1030**Attribute**:
905 1031
906* Alle [Standardattribute](#standardattribute)1032* Alle [Standardattribute](#standard-attributes)
907* `event.name`: `"hook_execution_complete"`1033* `event.name`: `"hook_execution_complete"`
908* `event.timestamp`: ISO 8601-Zeitstempel1034* `event.timestamp`: ISO 8601-Zeitstempel
909* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung1035* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
917* `total_duration_ms`: Wanduhr-Dauer aller übereinstimmenden Hooks1043* `total_duration_ms`: Wanduhr-Dauer aller übereinstimmenden Hooks
918* `managed_only`: `"true"`, wenn nur verwaltete Richtlinien-Hooks zulässig sind1044* `managed_only`: `"true"`, wenn nur verwaltete Richtlinien-Hooks zulässig sind
919* `hook_source`: `"policySettings"` oder `"merged"`1045* `hook_source`: `"policySettings"` oder `"merged"`
1046* `safe_mode`: `"true"`, wenn die Sitzung mit [`--safe-mode`](/de/cli-reference) gestartet wurde, `"false"` andernfalls. {/* min-version: 2.1.169 */}Erfordert Claude Code v2.1.169 oder später
920* `hook_definitions`: JSON-serialisierte Hook-Konfiguration. Nur enthalten, wenn sowohl detailliertes Beta-Tracing als auch `OTEL_LOG_TOOL_DETAILS=1` aktiviert sind1047* `hook_definitions`: JSON-serialisierte Hook-Konfiguration. Nur enthalten, wenn sowohl detailliertes Beta-Tracing als auch `OTEL_LOG_TOOL_DETAILS=1` aktiviert sind
921 1048
922#### Hook-Plugin-Metriken-Ereignis1049<h4 id="hook-plugin-metrics-event">
1050 Hook-Plugin-Metriken-Ereignis
1051</h4>
923 1052
924Protokolliert, wenn ein offizieller Marketplace-Plugin-Hook Pro-Invokations-Metriken ausgibt. Nur Plugins, die von einem offiziellen Anthropic-Marketplace installiert wurden, können diese ausgeben. Drittanbieter-Marketplace-Plugins und benutzerdefinierte Hooks geben nicht zu diesem Ereignis aus. Verwenden Sie dieses Ereignis, um Plugin-Verhalten wie Findungsraten, Kosten und Dauern aus Ihrem eigenen Observability-Stack zu überwachen.1053Protokolliert, wenn ein offizieller Marketplace-Plugin-Hook Pro-Invokations-Metriken ausgibt. Nur Plugins, die von einem offiziellen Anthropic-Marketplace installiert wurden, können diese ausgeben. Drittanbieter-Marketplace-Plugins und benutzerdefinierte Hooks geben nicht zu diesem Ereignis aus. Verwenden Sie dieses Ereignis, um Plugin-Verhalten wie Findungsraten, Kosten und Dauern aus Ihrem eigenen Observability-Stack zu überwachen.
925 1054
927 1056
928**Attribute**:1057**Attribute**:
929 1058
930* Alle [Standardattribute](#standardattribute)1059* Alle [Standardattribute](#standard-attributes)
931* `event.name`: `"hook_plugin_metrics"`1060* `event.name`: `"hook_plugin_metrics"`
932* `event.timestamp`: ISO 8601-Zeitstempel1061* `event.timestamp`: ISO 8601-Zeitstempel
933* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung1062* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
935* `hook_event`: Hook-Ereignistyp, der die Metriken ausgegeben hat1064* `hook_event`: Hook-Ereignistyp, der die Metriken ausgegeben hat
936* Bis zu 20 Plugin-ausgegebene Metrik-Schlüssel. Namen entsprechen `^[a-z][a-z0-9_]{0,39}$`. Werte sind boolescher Wert oder Zahl.1065* Bis zu 20 Plugin-ausgegebene Metrik-Schlüssel. Namen entsprechen `^[a-z][a-z0-9_]{0,39}$`. Werte sind boolescher Wert oder Zahl.
937 1066
938#### Kompaktierungs-Ereignis1067<h4 id="compaction-event">
1068 Kompaktierungs-Ereignis
1069</h4>
939 1070
940Protokolliert, wenn die Konversationskompaktierung abgeschlossen ist.1071Protokolliert, wenn die Konversationskompaktierung abgeschlossen ist.
941 1072
943 1074
944**Attribute**:1075**Attribute**:
945 1076
946* Alle [Standardattribute](#standardattribute)1077* Alle [Standardattribute](#standard-attributes)
947* `event.name`: `"compaction"`1078* `event.name`: `"compaction"`
948* `event.timestamp`: ISO 8601-Zeitstempel1079* `event.timestamp`: ISO 8601-Zeitstempel
949* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung1080* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
955* `error`: Fehlermeldung, wenn Kompaktierung fehlgeschlagen ist1086* `error`: Fehlermeldung, wenn Kompaktierung fehlgeschlagen ist
956* `precompute_reuse`: Nur gesetzt, wenn `trigger` `"manual"` ist. Auto-Kompaktierung kann eine Zusammenfassung im Hintergrund vorbereiten, bevor das Kontextfenster voll wird, und dieses Attribut zeichnet auf, ob `/compact` diese vorbereitete Zusammenfassung wiederverwendet hat. `"hit"` bedeutet, dass sie wiederverwendet wurde; `"miss_custom_instructions"`, `"miss_hook"` und `"miss_not_ready"` geben den Grund an, warum stattdessen eine neue Zusammenfassung berechnet wurde. {/* min-version: 2.1.153 */}Erfordert Claude Code v2.1.153 oder später1087* `precompute_reuse`: Nur gesetzt, wenn `trigger` `"manual"` ist. Auto-Kompaktierung kann eine Zusammenfassung im Hintergrund vorbereiten, bevor das Kontextfenster voll wird, und dieses Attribut zeichnet auf, ob `/compact` diese vorbereitete Zusammenfassung wiederverwendet hat. `"hit"` bedeutet, dass sie wiederverwendet wurde; `"miss_custom_instructions"`, `"miss_hook"` und `"miss_not_ready"` geben den Grund an, warum stattdessen eine neue Zusammenfassung berechnet wurde. {/* min-version: 2.1.153 */}Erfordert Claude Code v2.1.153 oder später
957 1088
958#### Feedback-Umfrage-Ereignis1089<h4 id="feedback-survey-event">
1090 Feedback-Umfrage-Ereignis
1091</h4>
959 1092
960Protokolliert, wenn eine Sitzungsqualitäts-Umfrage angezeigt oder beantwortet wird. Siehe [Sitzungsqualitäts-Umfragen](/de/data-usage#session-quality-surveys) für das, was die Umfragen erfassen und wie Sie sie steuern.1093Protokolliert, wenn eine Sitzungsqualitäts-Umfrage angezeigt oder beantwortet wird. Siehe [Sitzungsqualitäts-Umfragen](/de/data-usage#session-quality-surveys) für das, was die Umfragen erfassen und wie Sie sie steuern.
961 1094
963 1096
964**Attribute**:1097**Attribute**:
965 1098
966* Alle [Standardattribute](#standardattribute)1099* Alle [Standardattribute](#standard-attributes)
967* `event.name`: `"feedback_survey"`1100* `event.name`: `"feedback_survey"`
968* `event.timestamp`: ISO 8601-Zeitstempel1101* `event.timestamp`: ISO 8601-Zeitstempel
969* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung1102* `event.sequence`: monoton steigende Zähler zur Sortierung von Ereignissen innerhalb einer Sitzung
973* `response`: Die Auswahl des Benutzers bei `responded` Ereignissen1106* `response`: Die Auswahl des Benutzers bei `responded` Ereignissen
974* `enabled_via_override`: `true`, wenn [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/de/env-vars) gesetzt ist. Wird als boolescher Wert ausgegeben, nicht als Zeichenkette. Vorhanden bei `session` Umfrage-Ereignissen. Filtern Sie nach diesem Attribut, um zu bestätigen, dass die Überschreibung über eine Flotte angewendet wird1107* `enabled_via_override`: `true`, wenn [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/de/env-vars) gesetzt ist. Wird als boolescher Wert ausgegeben, nicht als Zeichenkette. Vorhanden bei `session` Umfrage-Ereignissen. Filtern Sie nach diesem Attribut, um zu bestätigen, dass die Überschreibung über eine Flotte angewendet wird
975 1108
976## Interpretation von Metriken- und Ereignisdaten1109<h2 id="interpret-metrics-and-events-data">
1110 Interpretation von Metriken- und Ereignisdaten
1111</h2>
977 1112
978Die exportierten Metriken und Ereignisse unterstützen eine Reihe von Analysen:1113Die exportierten Metriken und Ereignisse unterstützen eine Reihe von Analysen:
979 1114
980### Nutzungsüberwachung1115<h3 id="usage-monitoring">
1116 Nutzungsüberwachung
1117</h3>
981 1118
982| Metrik | Analysemöglichkeit |1119| Metrik | Analysemöglichkeit |
983| ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |1120| ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
984| `claude_code.token.usage` | Aufschlüsselung nach `type` (input/output), Benutzer, Team, Modell, `skill.name`, `plugin.name` oder `agent.name` |1121| `claude_code.token.usage` | Aufschlüsselung nach `type` (input/output), Benutzer, Team, Modell, `skill.name`, `plugin.name` oder `agent.name` |
985| `claude_code.session.count` | Verfolgung der Akzeptanz und des Engagements im Laufe der Zeit |1122| `claude_code.session.count` | Verfolgung der Akzeptanz und des Engagements im Laufe der Zeit |
986| `claude_code.lines_of_code.count` | Messung der Produktivität durch Verfolgung von Code-Hinzufügungen/Entfernungen |1123| `claude_code.lines_of_code.count` | Messung der Produktivität durch Verfolgung von Code-Hinzufügungen und -Entfernungen, aufgeschlüsselt nach Modell |
987| `claude_code.commit.count` & `claude_code.pull_request.count` | Verständnis der Auswirkungen auf Entwicklungs-Workflows |1124| `claude_code.commit.count` & `claude_code.pull_request.count` | Verständnis der Auswirkungen auf Entwicklungs-Workflows |
988 1125
989### Kostenüberwachung1126<h3 id="cost-monitoring">
1127 Kostenüberwachung
1128</h3>
990 1129
991Die Metrik `claude_code.cost.usage` hilft bei:1130Die Metrik `claude_code.cost.usage` hilft bei:
992 1131
998 Kostenmetriken sind Näherungswerte. Für offizielle Abrechnungsdaten konsultieren Sie Ihren API-Anbieter (Claude Console, Amazon Bedrock oder Google Cloud Vertex).1137 Kostenmetriken sind Näherungswerte. Für offizielle Abrechnungsdaten konsultieren Sie Ihren API-Anbieter (Claude Console, Amazon Bedrock oder Google Cloud Vertex).
999</Note>1138</Note>
1000 1139
1001### Warnungen und Segmentierung1140<h3 id="alerting-and-segmentation">
1141 Warnungen und Segmentierung
1142</h3>
1002 1143
1003Häufige Warnungen, die Sie in Betracht ziehen sollten:1144Häufige Warnungen, die Sie in Betracht ziehen sollten:
1004 1145
1006* Ungewöhnlicher Token-Verbrauch1147* Ungewöhnlicher Token-Verbrauch
1007* Hohes Sitzungsvolumen von bestimmten Benutzern1148* Hohes Sitzungsvolumen von bestimmten Benutzern
1008 1149
1009Alle Metriken können nach `user.account_uuid`, `user.account_id`, `organization.id`, `session.id`, `model` und `app.version` segmentiert werden.1150Alle Metriken können nach den [Standard-Attributen](#standard-attributes) segmentiert werden. Das Attribut `model` ist auf `claude_code.token.usage`, `claude_code.cost.usage` und {/* min-version: 2.1.172 */}ab v2.1.172 auf `claude_code.lines_of_code.count` verfügbar. Aufschlüsselungen pro Modell von Commits können nur durch Verknüpfung mit den Token- oder Kostenmetriken auf `session.id` angenähert werden, da eine Sitzung mehrere Modelle umfassen kann.
1010 1151
1011### Wiederholungserschöpfung erkennen1152<h3 id="detect-retry-exhaustion">
1153 Wiederholungserschöpfung erkennen
1154</h3>
1012 1155
1013Claude Code wiederholt fehlgeschlagene API-Anfragen intern und gibt nur nach dem Aufgeben ein einzelnes `claude_code.api_error` Ereignis aus, daher ist das Ereignis selbst das Endsignal für diese Anfrage. Zwischenzeitliche Wiederholungsversuche werden nicht als separate Ereignisse protokolliert.1156Claude Code wiederholt fehlgeschlagene API-Anfragen intern und gibt nur nach dem Aufgeben ein einzelnes `claude_code.api_error` Ereignis aus, daher ist das Ereignis selbst das Endsignal für diese Anfrage. Zwischenzeitliche Wiederholungsversuche werden nicht als separate Ereignisse protokolliert.
1014 1157
1016 1159
1017Um eine Sitzung zu unterscheiden, die sich von einer, die steckengeblieben ist, erholt hat, gruppieren Sie Ereignisse nach `session.id` und prüfen Sie, ob ein späteres `api_request` Ereignis nach dem Fehler vorhanden ist.1160Um eine Sitzung zu unterscheiden, die sich von einer, die steckengeblieben ist, erholt hat, gruppieren Sie Ereignisse nach `session.id` und prüfen Sie, ob ein späteres `api_request` Ereignis nach dem Fehler vorhanden ist.
1018 1161
1019### Ereignisanalyse1162<h3 id="event-analysis">
1163 Ereignisanalyse
1164</h3>
1020 1165
1021Die Ereignisdaten bieten detaillierte Einblicke in Claude Code-Interaktionen:1166Die Ereignisdaten bieten detaillierte Einblicke in Claude Code-Interaktionen:
1022 1167
1029 1174
1030**Leistungsüberwachung**: Verfolgen Sie API-Anfrage-Dauern und Tool-Ausführungszeiten, um Leistungsengpässe zu identifizieren.1175**Leistungsüberwachung**: Verfolgen Sie API-Anfrage-Dauern und Tool-Ausführungszeiten, um Leistungsengpässe zu identifizieren.
1031 1176
1032## Audit-Sicherheitsereignisse1177<h2 id="audit-security-events">
1178 Audit-Sicherheitsereignisse
1179</h2>
1033 1180
1034OpenTelemetry-Ereignisse sind die Audit-Datenquelle für Claude Code-Aktivität. Jedes Ereignis trägt Identitätsattribute, die Tool-Aufrufe, MCP-Aktivität und Berechtigungsentscheidungen an den Benutzer zurückbinden, der sie ausgelöst hat, und der OTLP-Logs-Exporter kann diese Ereignisse an jede Security Information and Event Management (SIEM)-Plattform mit einem OTLP-Receiver oder an einen OpenTelemetry Collector liefern, der an Ihr SIEM weiterleitet.1181OpenTelemetry-Ereignisse sind die Audit-Datenquelle für Claude Code-Aktivität. Jedes Ereignis trägt Identitätsattribute, die Tool-Aufrufe, MCP-Aktivität und Berechtigungsentscheidungen an den Benutzer zurückbinden, der sie ausgelöst hat, und der OTLP-Logs-Exporter kann diese Ereignisse an jede Security Information and Event Management (SIEM)-Plattform mit einem OTLP-Receiver oder an einen OpenTelemetry Collector liefern, der an Ihr SIEM weiterleitet.
1035 1182
1036### Attribut-Aktionen an Benutzer1183<h3 id="attribute-actions-to-users">
1184 Attribut-Aktionen an Benutzer
1185</h3>
1037 1186
1038Die [Standardattribute](#standardattribute) auf jedem Ereignis enthalten die Identität des authentifizierten Benutzers: `user.email`, `user.account_uuid`, `user.account_id` und `organization.id`, wenn mit einem Claude-Konto angemeldet, plus die installationsbegrenzte `user.id` und die pro-Sitzung `session.id`.1187Die [Standardattribute](#standard-attributes) auf jedem Ereignis enthalten die Identität des authentifizierten Benutzers: `user.email`, `user.account_uuid`, `user.account_id` und `organization.id`, wenn mit einem Claude-Konto angemeldet, plus die installationsbegrenzte `user.id` und die pro-Sitzung `session.id`.
1039 1188
1040MCP-Tool-Aufrufe, Bash-Befehle und Dateibearbeitungen werden daher dem Entwickler zugeordnet, der die Sitzung gestartet hat. Claude Code handelt nicht unter einem separaten Service-Konto; die Identität, die auf jedem Ereignis aufgezeichnet wird, ist das Claude-Konto des Entwicklers selbst.1189MCP-Tool-Aufrufe, Bash-Befehle und Dateibearbeitungen werden daher dem Entwickler zugeordnet, der die Sitzung gestartet hat. Claude Code handelt nicht unter einem separaten Service-Konto; die Identität, die auf jedem Ereignis aufgezeichnet wird, ist das Claude-Konto des Entwicklers selbst.
1041 1190
1042Wenn Claude Code sich mit einem direkten API-Schlüssel authentifiziert oder gegen Bedrock, Vertex AI oder Microsoft Foundry, gibt es kein Claude-Konto in der Sitzung und nur `user.id` und `session.id` werden gefüllt. In diesen Bereitstellungen fügen Sie die Benutzeridentität selbst mit `OTEL_RESOURCE_ATTRIBUTES` hinzu, die pro Benutzer über die [verwaltete Einstellungsdatei](#administratorkonfiguration) oder einen Launch-Wrapper gesetzt wird:1191Wenn Claude Code sich mit einem direkten API-Schlüssel authentifiziert oder gegen Bedrock, Vertex AI oder Microsoft Foundry, gibt es kein Claude-Konto in der Sitzung und nur `user.id` und `session.id` werden gefüllt. In diesen Bereitstellungen fügen Sie die Benutzeridentität selbst mit `OTEL_RESOURCE_ATTRIBUTES` hinzu, die pro Benutzer über die [verwaltete Einstellungsdatei](#administrator-configuration) oder einen Launch-Wrapper gesetzt wird:
1043 1192
1044```bash theme={null}1193```bash theme={null}
1045export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."1194export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."
1046```1195```
1047 1196
1048### Audit MCP-Aktivität1197<h3 id="audit-mcp-activity">
1198 Audit MCP-Aktivität
1199</h3>
1049 1200
1050Um MCP-Server-Aktivität mit vollständiger Call-Detail zu erfassen, aktivieren Sie den Logs-Exporter und setzen Sie `OTEL_LOG_TOOL_DETAILS=1`. Jede MCP-Operation erzeugt dann strukturierte Ereignisse, die den Server-Namen, Tool-Namen und Call-Argumente zusammen mit den Standard-Identitätsattributen tragen:1201Um MCP-Server-Aktivität mit vollständiger Call-Detail zu erfassen, aktivieren Sie den Logs-Exporter und setzen Sie `OTEL_LOG_TOOL_DETAILS=1`. Jede MCP-Operation erzeugt dann strukturierte Ereignisse, die den Server-Namen, Tool-Namen und Call-Argumente zusammen mit den Standard-Identitätsattributen tragen:
1051 1202
1059 1210
1060* `tool_result`: behält `tool_name` und `mcp_server_scope`, lässt `mcp_server_name`, `mcp_tool_name` und Argumente weg1211* `tool_result`: behält `tool_name` und `mcp_server_scope`, lässt `mcp_server_name`, `mcp_tool_name` und Argumente weg
1061* `tool_decision`: behält `tool_name`, lässt `tool_parameters` weg1212* `tool_decision`: behält `tool_name`, lässt `tool_parameters` weg
1062* `mcp_server_connection`: lässt `server_name` und die Fehlermeldung weg1213* `mcp_server_connection`: lässt `server_name` und die Fehlermeldung weg, behält aber `is_plugin`, `plugin_id_hash` und `plugin.name`, wobei Namen von Nicht-Anthropic-Plugins auf das Literal `"third-party"` redigiert werden, sodass von Plugins bereitgestellte Server ohne detaillierte Protokollierung unterscheidbar bleiben
1063 1214
1064### Sicherheitsfragen zu Ereignissen zuordnen1215<h3 id="map-security-questions-to-events">
1216 Sicherheitsfragen zu Ereignissen zuordnen
1217</h3>
1065 1218
1066Beim Erstellen von Erkennungsregeln schlagen Sie das Signal auf, das Sie überwachen möchten, und fragen Sie Ihr Backend nach dem entsprechenden Ereignis und den Attributen ab:1219Beim Erstellen von Erkennungsregeln schlagen Sie das Signal auf, das Sie überwachen möchten, und fragen Sie Ihr Backend nach dem entsprechenden Ereignis und den Attributen ab:
1067 1220
1071| Berechtigungsmodus-Eskalation | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |1224| Berechtigungsmodus-Eskalation | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |
1072| Policy-Hook blockierte eine Aktion | `hook_execution_complete` | `hook_event`, `num_blocking` |1225| Policy-Hook blockierte eine Aktion | `hook_execution_complete` | `hook_event`, `num_blocking` |
1073| Login, Logout und Authentifizierungsfehler | `auth` | `action`, `success`, `error_category` |1226| Login, Logout und Authentifizierungsfehler | `auth` | `action`, `success`, `error_category` |
1074| MCP-Server-Verbindung oder Fehler | `mcp_server_connection` | `status`, `server_name`, `error_code` |1227| MCP-Server-Verbindung oder Fehler | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |
1075| Plugin installiert und seine Quelle | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |1228| Plugin installiert und seine Quelle | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |
1076| Befehle ausgeführt und Dateien berührt | `tool_result` (ausgeführt) oder `tool_decision` (abgelehnt) mit `OTEL_LOG_TOOL_DETAILS=1` | `tool_parameters`; `tool_input` (`tool_result` nur) |1229| Befehle ausgeführt und Dateien berührt | `tool_result` (ausgeführt) oder `tool_decision` (abgelehnt) mit `OTEL_LOG_TOOL_DETAILS=1` | `tool_parameters`; `tool_input` (`tool_result` nur) |
1077 1230
1078Claude Code gibt nur den rohen Ereignisstrom aus. Anomalieerkennung, Baselining, Korrelation über Sitzungen hinweg und Warnungen sind die Verantwortung Ihres SIEM oder Observability-Backends.1231Claude Code gibt nur den rohen Ereignisstrom aus. Anomalieerkennung, Baselining, Korrelation über Sitzungen hinweg und Warnungen sind die Verantwortung Ihres SIEM oder Observability-Backends.
1079 1232
1080### Ereignisse an ein SIEM senden1233<h3 id="send-events-to-a-siem">
1234 Ereignisse an ein SIEM senden
1235</h3>
1081 1236
1082Zeigen Sie `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` auf den OTLP-Receiver Ihres SIEM oder auf einen OpenTelemetry Collector, der an die native Ingest-API Ihres SIEM weiterleitet. Das folgende verwaltete Einstellungsbeispiel exportiert nur Ereignisse, mit vollständiger Tool-Detail-Aktivierung für MCP- und Bash-Auditing:1237Zeigen Sie `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` auf den OTLP-Receiver Ihres SIEM oder auf einen OpenTelemetry Collector, der an die native Ingest-API Ihres SIEM weiterleitet. Das folgende verwaltete Einstellungsbeispiel exportiert nur Ereignisse, mit vollständiger Tool-Detail-Aktivierung für MCP- und Bash-Auditing:
1083 1238
1094}1249}
1095```1250```
1096 1251
1097## Backend-Überlegungen1252<h2 id="backend-considerations">
1253 Backend-Überlegungen
1254</h2>
1098 1255
1099Ihre Wahl des Metriken-, Logs- und Traces-Backends bestimmt die Arten von Analysen, die Sie durchführen können:1256Ihre Wahl des Metriken-, Logs- und Traces-Backends bestimmt die Arten von Analysen, die Sie durchführen können:
1100 1257
1101### Für Metriken1258<h3 id="for-metrics">
1259 Für Metriken
1260</h3>
1102 1261
1103* **Zeitreihendatenbanken (zum Beispiel Prometheus)**: Ratenberechnungen, aggregierte Metriken1262* **Zeitreihendatenbanken (zum Beispiel Prometheus)**: Ratenberechnungen, aggregierte Metriken
1104* **Spaltenorientierte Speicher (zum Beispiel ClickHouse)**: Komplexe Abfragen, eindeutige Benutzeranalyse1263* **Spaltenorientierte Speicher (zum Beispiel ClickHouse)**: Komplexe Abfragen, eindeutige Benutzeranalyse
1105* **Vollständige Observability-Plattformen (zum Beispiel Honeycomb, Datadog)**: Erweiterte Abfragen, Visualisierung, Warnungen1264* **Vollständige Observability-Plattformen (zum Beispiel Honeycomb, Datadog, Grafana Cloud)**: Erweiterte Abfragen, Visualisierung, Warnungen
1106 1265
1107### Für Ereignisse/Logs1266<h3 id="for-events/logs">
1267 Für Ereignisse/Logs
1268</h3>
1108 1269
1109* **Log-Aggregationssysteme (zum Beispiel Elasticsearch, Loki)**: Volltextsuche, Log-Analyse1270* **Log-Aggregationssysteme (zum Beispiel Elasticsearch, Loki)**: Volltextsuche, Log-Analyse
1110* **Spaltenorientierte Speicher (zum Beispiel ClickHouse)**: Strukturierte Ereignisanalyse1271* **Spaltenorientierte Speicher (zum Beispiel ClickHouse)**: Strukturierte Ereignisanalyse
1111* **Vollständige Observability-Plattformen (zum Beispiel Honeycomb, Datadog)**: Korrelation zwischen Metriken und Ereignissen1272* **Vollständige Observability-Plattformen (zum Beispiel Honeycomb, Datadog, Grafana Cloud)**: Korrelation zwischen Metriken und Ereignissen
1112 1273
1113### Für Traces1274<h3 id="for-traces">
1275 Für Traces
1276</h3>
1114 1277
1115Wählen Sie ein Backend, das verteilte Trace-Speicherung und Span-Korrelation unterstützt:1278Wählen Sie ein Backend, das verteilte Trace-Speicherung und Span-Korrelation unterstützt:
1116 1279
1117* **Verteilte Tracing-Systeme (zum Beispiel Jaeger, Zipkin, Grafana Tempo)**: Span-Visualisierung, Request-Waterfalls, Latenzanalyse1280* **Verteilte Tracing-Systeme (zum Beispiel Jaeger, Zipkin, Grafana Tempo)**: Span-Visualisierung, Request-Waterfalls, Latenzanalyse
1118* **Vollständige Observability-Plattformen (zum Beispiel Honeycomb, Datadog)**: Trace-Suche und Korrelation mit Metriken und Logs1281* **Vollständige Observability-Plattformen (zum Beispiel Honeycomb, Datadog, Grafana Cloud)**: Trace-Suche und Korrelation mit Metriken und Logs
1119 1282
1120Für Organisationen, die Daily/Weekly/Monthly Active User (DAU/WAU/MAU) Metriken benötigen, sollten Sie Backends in Betracht ziehen, die effiziente Abfragen eindeutiger Werte unterstützen.1283Für Organisationen, die Daily/Weekly/Monthly Active User (DAU/WAU/MAU) Metriken benötigen, sollten Sie Backends in Betracht ziehen, die effiziente Abfragen eindeutiger Werte unterstützen.
1121 1284
1122## Dienstinformationen1285<h2 id="service-information">
1286 Dienstinformationen
1287</h2>
1123 1288
1124Alle Metriken und Ereignisse werden mit den folgenden Ressourcenattributen exportiert:1289Alle Metriken und Ereignisse werden mit den folgenden Ressourcenattributen exportiert:
1125 1290
1131* `wsl.version`: WSL-Versionsnummer (nur vorhanden, wenn auf Windows Subsystem for Linux ausgeführt)1296* `wsl.version`: WSL-Versionsnummer (nur vorhanden, wenn auf Windows Subsystem for Linux ausgeführt)
1132* Meter-Name: `com.anthropic.claude_code`1297* Meter-Name: `com.anthropic.claude_code`
1133 1298
1134## ROI-Messung-Ressourcen1299<h2 id="roi-measurement-resources">
1300 ROI-Messung-Ressourcen
1301</h2>
1135 1302
1136Für einen umfassenden Leitfaden zur Messung der Kapitalrendite für Claude Code, einschließlich Telemetrie-Setup, Kostenanalyse, Produktivitätsmetriken und automatisierter Berichterstattung, siehe den [Claude Code ROI Measurement Guide](https://github.com/anthropics/claude-code-monitoring-guide). Dieses Repository bietet einsatzbereite Docker Compose-Konfigurationen, Prometheus- und OpenTelemetry-Setups sowie Vorlagen zur Generierung von Produktivitätsberichten, die in Tools wie Linear integriert sind.1303Für einen umfassenden Leitfaden zur Messung der Kapitalrendite für Claude Code, einschließlich Telemetrie-Setup, Kostenanalyse, Produktivitätsmetriken und automatisierter Berichterstattung, siehe den [Claude Code ROI Measurement Guide](https://github.com/anthropics/claude-code-monitoring-guide). Dieses Repository bietet einsatzbereite Docker Compose-Konfigurationen, Prometheus- und OpenTelemetry-Setups sowie Vorlagen zur Generierung von Produktivitätsberichten, die in Tools wie Linear integriert sind.
1137 1304
1138## Sicherheit und Datenschutz1305<h2 id="security-and-privacy">
1306 Sicherheit und Datenschutz
1307</h2>
1139 1308
1140* OpenTelemetry-Export zu Ihrem Backend ist opt-in und erfordert explizite Konfiguration. Informationen zu Anthropics separater operativer Telemetrie und wie Sie diese deaktivieren, finden Sie unter [Datennutzung](/de/data-usage#telemetry-services)1309* OpenTelemetry-Export zu Ihrem Backend ist opt-in und erfordert explizite Konfiguration. Informationen zu Anthropics separater operativer Telemetrie und wie Sie diese deaktivieren, finden Sie unter [Datennutzung](/de/data-usage#telemetry-services)
1141* Rohe Dateiinhalte und Code-Snippets sind nicht in Metriken oder Ereignissen enthalten. Trace-Spans sind ein separater Datenpfad: siehe die Aufzählung `OTEL_LOG_TOOL_CONTENT` unten1310* Rohe Dateiinhalte und Code-Snippets sind nicht in Metriken oder Ereignissen enthalten. Trace-Spans sind ein separater Datenpfad: siehe die Aufzählung `OTEL_LOG_TOOL_CONTENT` unten
1149* Tool-Eingabe- und Ausgabeinhalte werden in Trace-Spans standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_TOOL_CONTENT=1`. Wenn aktiviert, enthalten Span-Ereignisse vollständige Tool-Eingabe- und Ausgabeinhalte, gekürzt bei 60 KB pro Span. Dies kann rohe Dateiinhalte aus Read-Tool-Ergebnissen und Bash-Befehlsausgabe enthalten. Konfigurieren Sie Ihr Telemetrie-Backend, um diese Attribute nach Bedarf zu filtern oder zu schwärzen1318* Tool-Eingabe- und Ausgabeinhalte werden in Trace-Spans standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_TOOL_CONTENT=1`. Wenn aktiviert, enthalten Span-Ereignisse vollständige Tool-Eingabe- und Ausgabeinhalte, gekürzt bei 60 KB pro Span. Dies kann rohe Dateiinhalte aus Read-Tool-Ergebnissen und Bash-Befehlsausgabe enthalten. Konfigurieren Sie Ihr Telemetrie-Backend, um diese Attribute nach Bedarf zu filtern oder zu schwärzen
1150* Rohe Anthropic Messages API-Anfrage- und Antwort-Texte werden standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_RAW_API_BODIES`. Mit `=1` gibt jeder API-Aufruf `api_request_body`- und `api_response_body`-Log-Ereignisse aus, deren `body`-Attribut die JSON-serialisierte Nutzlast ist, gekürzt bei 60 KB. Mit `=file:<dir>` werden ungekürzte Texte unter diesem Verzeichnis in `.request.json`- und `.response.json`-Dateien geschrieben und die Ereignisse tragen einen `body_ref`-Pfad statt des Inline-Textes. Versenden Sie das Verzeichnis mit einem Log-Collector oder Sidecar statt über den Telemetrie-Stream. In beiden Modi enthalten Texte die gesamte Konversationshistorie (Systemprompt, jeder vorherige Benutzer- und Assistent-Durchgang, Tool-Ergebnisse), daher impliziert das Aktivieren dies Zustimmung zu allem, was die anderen `OTEL_LOG_*`-Content-Flags offenbaren würden. Claudes Extended-Thinking-Inhalte werden unabhängig von anderen Einstellungen immer aus diesen Texten geschwärzt1319* Rohe Anthropic Messages API-Anfrage- und Antwort-Texte werden standardmäßig nicht protokolliert. Um sie einzubeziehen, setzen Sie `OTEL_LOG_RAW_API_BODIES`. Mit `=1` gibt jeder API-Aufruf `api_request_body`- und `api_response_body`-Log-Ereignisse aus, deren `body`-Attribut die JSON-serialisierte Nutzlast ist, gekürzt bei 60 KB. Mit `=file:<dir>` werden ungekürzte Texte unter diesem Verzeichnis in `.request.json`- und `.response.json`-Dateien geschrieben und die Ereignisse tragen einen `body_ref`-Pfad statt des Inline-Textes. Versenden Sie das Verzeichnis mit einem Log-Collector oder Sidecar statt über den Telemetrie-Stream. In beiden Modi enthalten Texte die gesamte Konversationshistorie (Systemprompt, jeder vorherige Benutzer- und Assistent-Durchgang, Tool-Ergebnisse), daher impliziert das Aktivieren dies Zustimmung zu allem, was die anderen `OTEL_LOG_*`-Content-Flags offenbaren würden. Claudes Extended-Thinking-Inhalte werden unabhängig von anderen Einstellungen immer aus diesen Texten geschwärzt
1151 1320
1152## Überwachung von Claude Code auf Amazon Bedrock1321<h2 id="monitor-claude-code-on-amazon-bedrock">
1322 Überwachung von Claude Code auf Amazon Bedrock
1323</h2>
1153 1324
1154Für detaillierte Anleitung zur Überwachung der Claude Code-Nutzung für Amazon Bedrock siehe [Claude Code Monitoring Implementation (Bedrock)](https://github.com/aws-solutions-library-samples/guidance-for-claude-code-with-amazon-bedrock/blob/main/assets/docs/MONITORING.md).1325Für detaillierte Anleitung zur Überwachung der Claude Code-Nutzung für Amazon Bedrock siehe [Claude Code Monitoring Implementation (Bedrock)](https://github.com/aws-solutions-library-samples/guidance-for-claude-code-with-amazon-bedrock/blob/main/assets/docs/MONITORING.md).