OpenTelemetry-Span-Referenz
Die OpenTelemetry-Spans und Span-Attribute, die die Claude API und das Claude SDK ausgeben.
Informationen zum Einrichten des Exports findest du unter OpenTelemetry mit dem Claude SDK verwenden und OpenTelemetry mit der Claude API verwenden.
Span-Namen und -Arten
| Eigenschaft | SDK-Spans | API-Spans |
|---|---|---|
service.name | Der service.name der Anwendung | claude-platform |
| Instrumentierungsbereich | com.anthropic.sdk.<language> oder com.anthropic.sdk.cli, plus .<platform> beim Client einer Cloud-Plattform, mit der Version des Pakets | com.anthropic.claude-platform |
| Span-Art | CLIENT auf dem Span für eine Anfrage, sonst INTERNAL | SERVER auf dem Span für eine Anfrage, sonst INTERNAL |
- „Spans" (Zeitabschnitte) für Anfragen tragen den Namen der API-Methode der Anfrage:
anthropic., gefolgt vom Pfad der Methode in der API-Referenz, mit Punkten statt Schrägstrichen und ohnebeta. Zum Beispiel sendetclient.beta.sessions.events.send()eine Anfrage zum Senden von Session-Events, und ihre Spans tragen den Namenanthropic.sessions.events.send. - Tool-Spans haben einen festen Namen, ein Leerzeichen und den Tool-Namen, zum Beispiel
anthropic.tool_use bash.
Span-Status
OK: Der Schritt wurde abgeschlossen.ERROR: Der Schritt ist fehlgeschlagen.- Nicht gesetzt: Die Anwendung hat den Schritt abgebrochen, zum Beispiel als sie ein
user.interrupt-Event gesendet hat.
Der Span eines Streams endet, wenn der Stream endet. Wenn die Anwendung den Stream vorzeitig schließt, hat der SDK-Span den Status nicht gesetzt, sodass der SDK-Span eines Streams, der nie abgeschlossen wird, etwa anthropic.sessions.events.stream, den Status nicht gesetzt oder ERROR hat.
Attribute
Attribute verwenden die OpenTelemetry-Semantikkonventionen für generative KI (gen_ai.*), wo eine existiert. Anthropic-Attribute beginnen mit anthropic.. Die Spans folgen den Konventionen im Stand von Commit e57c543b vom 24. September 2026. Die Konventionen befinden sich noch in Entwicklung.
Gemeinsame Attribute
Jeder Span für eine Anfrage hat die folgenden Attribute, sofern in der Beschreibung nicht anders angegeben. Andere Spans können nur die ersten drei haben:
| Attribut | Typ | Beschreibung |
|---|---|---|
gen_ai.provider.name | string | anthropic. Auf jedem Span.SDK: aws.bedrock bei den Amazon Bedrock-Clients (einschließlich Mantle) und gcp.vertex_ai beim Client für Google Cloud's Agent Platform. |
anthropic.organization.id | string | Die ID der Organisation. |
anthropic.workspace.id | string | Die ID des Workspace, in dem die Arbeit läuft. |
anthropic.request.id | string | Der Wert des Antwort-Headers request-id. |
http.request.method | string | Die HTTP-Methode der Anfrage, zum Beispiel POST. |
http.route | string | Der Pfad des Endpunkts mit Platzhaltern für seine Pfadparameter, zum Beispiel /v1/sessions/{session_id}. |
http.response.status_code | int | Der HTTP-Statuscode der endgültigen Antwort. Bei einem Stream der mit den Headern gesendete Statuscode. Fehlt, wenn es keine Antwort gab. |
server.address | string | Der Host, an den die Anfrage gesendet wurde, zum Beispiel api.anthropic.com. |
server.port | int | Der Port der Anfrage-URL oder der Standardport ihres Schemas, wenn die URL keinen hat. |
url.scheme | string | Das Schema der URL, zum Beispiel https. |
url.path | string | Der Pfad der URL, zum Beispiel /v1/messages. |
url.query | string | Der Query-String der URL, nur mit den Query-Parametern, die der Endpunkt definiert. Fehlt, wenn es keine gibt. |
url.full | string | Die URL der Anfrage. |
server.address, server.port noch url.full.
Session-Attribute
In einer Managed Agents-Session haben Spans die folgenden Attribute. Die Spans einer Session können in mehr als einem Trace liegen. Um also eine Ansicht der Session zusammenzustellen, etwa ein Transkript, gruppiere ihre Spans nach diesen IDs.
| Attribut | Typ | Beschreibung |
|---|---|---|
anthropic.session.id | string | Die Session-ID. Fehlt bei den Spans von Methoden, die nicht auf eine Session wirken, wie etwa anthropic.sessions.list. |
gen_ai.conversation.id | string | Die ID des Session-Threads, zu dem der Span gehört. Im SDK ersetzt die conversation_id-Option sie durch deine eigene Konversations-ID. Fehlt bei SDK-Spans ohne Thread, sofern du die Option nicht setzt, sowie bei den Spans der API für Anfragen an die Sessions API, die nicht an einen einzelnen Thread gerichtet sind. |
Inhaltsattribute
Mit Content gekennzeichnete Attribute gibt es nur bei Spans im Inhaltsmodus, vom SDK und von der API gleichermaßen. Sieh dir an, wie sich die Inhaltsmodi im Leitfaden unterscheiden. Wenn dieser Inhalt zu groß ist, kürzen das SDK und die API ihn und setzen anthropic.content.truncated auf true. Wenn die Schutzmaßnahmen von Anthropic einer Antwort Inhalt vorenthalten, enthalten auch die Spans der API diesen Inhalt nicht.
Die Nachrichtenattribute sind JSON-Strings im Nachrichtenformat der OpenTelemetry-GenAI-Konventionen. Jeder Anthropic-Inhaltsblock wird zu einem Nachrichtenteil der GenAI-Konventionen, in der Messages API und in Managed Agents-Nachrichten-Events wie agent.message:
| Anthropic-Inhaltsblock | Nachrichtenteil der GenAI-Konventionen |
|---|---|
text | text |
tool_use, server_tool_use | tool_call, mit anthropic_toolset_name für einen tool_use-Block mit einem toolset_name wie computer |
mcp_tool_use | tool_call mit anthropic_mcp_server_name |
tool_result, mcp_tool_result, der Ergebnisblock eines Server-Tools wie web_search_tool_result | tool_call_response |
thinking | reasoning, ohne die Signatur des thinking-Blocks. Nicht in Managed Agents-Spans, da das agent.thinking-Event den Denkinhalt nicht enthält. |
Jeder andere Block, etwa image | Der type des Blocks mit dem Präfix anthropic_, etwa anthropic_image. Der Teil hat keine weiteren Felder. |
Jedes Managed Agents-Event für eine Tool-Nutzung oder ein Tool-Ergebnis wird ebenfalls zu einem Nachrichtenteil der GenAI-Konventionen:
| Managed Agents-Event | Nachrichtenteil der GenAI-Konventionen |
|---|---|
agent.tool_use, agent.custom_tool_use | tool_call |
agent.mcp_tool_use | tool_call mit anthropic_mcp_server_name |
user.tool_result, user.custom_tool_result, agent.tool_result, agent.mcp_tool_result | tool_call_response |
Token-Nutzung
Die folgenden Spans haben Attribute zur Token-Nutzung: anthropic.messages.create, anthropic.model_request, anthropic.compaction und anthropic.session.outcome_evaluation. Die Werte gelten für den Schritt des Spans, zum Beispiel die Anfrage, die Modellanfrage oder die Kompaktierung. Um jedes Token nur einmal zu zählen, sieh dir an, wie du Tokens im Leitfaden zählst.
| Attribut | Typ | Beschreibung |
|---|---|---|
gen_ai.usage.input_tokens | int | Die Eingabe-Tokens, einschließlich Cache-Lese- und -Schreibvorgängen. |
gen_ai.usage.output_tokens | int | Die Ausgabe-Tokens. |
gen_ai.usage.cache_write.input_tokens | int | Die in den Prompt-Cache geschriebenen Tokens. Fehlt bei anthropic.session.outcome_evaluation-Spans. |
anthropic.usage.cache_creation.ephemeral_5m_input_tokens | int | Die in den 5-Minuten-Cache geschriebenen Tokens. Nur bei den Spans für Messages API-Anfragen. Beim SDK-Span einer Streaming-Antwort nur die Tokens, die vor dem ersten Ausgabe-Token geschrieben wurden. |
anthropic.usage.cache_creation.ephemeral_1h_input_tokens | int | Die in den 1-Stunden-Cache geschriebenen Tokens. Nur bei den Spans für Messages API-Anfragen. Beim SDK-Span einer Streaming-Antwort nur die Tokens, die vor dem ersten Ausgabe-Token geschrieben wurden. |
gen_ai.usage.cache_read.input_tokens | int | Die aus dem Prompt-Cache gelesenen Tokens. Fehlt bei anthropic.session.outcome_evaluation-Spans. |
Spans
Ein Span kann vom SDK in der Anwendung oder von der API stammen, daher listet jeder Span in dieser Referenz seine Quellen auf. Beschreibungen, die mit Messages API: oder Managed Agents: beginnen, gelten für die Spans dieses Produkts. Attributbeschreibungen, die mit einer Quelle beginnen, etwa SDK: oder API:, gelten für die Spans dieser Quelle.
anthropic.messages.create
- Quelle: Das SDK und die API.
- Art:
CLIENTvom SDK,SERVERvon der API. - Parent des SDK-Spans: Der Span, der in der Anwendung aktuell ist, wenn sie die Methode aufruft. Wenn kein Span aktuell ist, gibt es keinen Parent.
- Parent des API-Spans: Der Span im
traceparent-Header der Anfrage, also der SDK-Span, wenn die Anfrage vom SDK kommt. Ohne den Header hat der API-Span keinen Parent. Sieh dir an, wie du dentraceparent-Header sendest. - Children des SDK-Spans: Der API-Span für diese Anfrage.
- Children des API-Spans: Ein
anthropic.model_request-Span für jede Modellanfrage, ein Tool-Span für jede Nutzung eines Server-Tools oder eines MCP-Connector-Tools, das die API in der Anfrage ausführt, und einanthropic.compaction-Span für jede Kompaktierung.
Das SDK gibt diesen Span für jede Messages-Anfrage aus, ob gestreamt oder nicht.
Die API gibt diesen Span für jede POST /v1/messages-Anfrage aus, die sie authentifiziert. Sie gibt den Span nicht für eine Anfrage an den OpenAI-kompatiblen Endpunkt, POST /v1/chat/completions, aus.
Die API gibt einen Span pro Anfrage aus, auch wenn ein Fallback-Modell sie bedient.
Der Span hat die Attribute zur Token-Nutzung. Der SDK-Span hat außerdem die Attribute jedes SDK-Spans für eine Anfrage.
| Attribut | Typ | Beschreibung |
|---|---|---|
gen_ai.operation.name | string | chat |
gen_ai.request.model | string | Das model der Anfrage. |
gen_ai.response.id | string | Die id der Antwort. |
gen_ai.response.model | string | Das Modell, das die Anfrage bedient hat. Es unterscheidet sich vom angeforderten Modell, wenn die Anfrage einen Modell-Alias verwendet oder wenn ein Fallback-Modell die Anfrage bedient hat. |
anthropic.message.stop_reason | string | Der stop_reason der Antwort, zum Beispiel end_turn. |
anthropic.response.service_tier | string | Die Service-Stufe, die die Anfrage bedient hat: der usage.service_tier der Antwort. Sieh dir an, wie Anfragen Stufen zugewiesen werden. |
error.type | string | Der Fehlertyp einer fehlgeschlagenen Anfrage, zum Beispiel rate_limit_error.SDK: Außerdem die anderen Werte in SDK-Spans für Anfragen. API: api_error, wenn die API die Anfrage ohne Fehlerantwort beendet. |
gen_ai.response.time_to_first_chunk | double | Nur beim SDK-Span einer Streaming-Antwort. Die Sekunden vom ersten Senden der Anfrage durch das SDK bis zum ersten content_block_delta-Event des Streams, falls es eines hat. |
gen_ai.usage.reasoning.output_tokens | int | Die Nachdenken-Tokens der Antwort. Sie sind Teil der Ausgabe-Tokens. Fehlt, wenn die Nutzung der Antwort keine Details zu den Ausgabe-Tokens enthält. |
anthropic.usage.compaction.input_tokens | int | Eingabe-Tokens der Kompaktierungen der Anfrage, einschließlich Cache-Lese- und -Schreibvorgängen. Nicht Teil von gen_ai.usage.input_tokens. Fehlt, wenn die Antwort keine Kompaktierung hat. |
anthropic.usage.compaction.output_tokens | int | Ausgabe-Tokens der Kompaktierungen der Anfrage. Nicht Teil von gen_ai.usage.output_tokens. Fehlt, wenn die Antwort keine Kompaktierung hat. |
gen_ai.request.max_tokens | int | Der max_tokens-Wert der Anfrage. |
gen_ai.request.temperature | double | Die temperature der Anfrage. Fehlt, wenn die Anfrage sie nicht setzt. |
gen_ai.request.top_p | double | Der top_p-Wert der Anfrage. Fehlt, wenn die Anfrage ihn nicht setzt. |
gen_ai.request.top_k | int | Der top_k-Wert der Anfrage. Fehlt, wenn die Anfrage ihn nicht setzt. |
gen_ai.request.stream | boolean | true, wenn die Anfrage stream: true setzt. Fehlt andernfalls. |
gen_ai.request.reasoning.level | string | Der effort in der output_config der Anfrage. Fehlt, wenn die Anfrage ihn nicht setzt. |
gen_ai.output.type | string | json, wenn die Anfrage das Ausgabeformat auf JSON setzt. Fehlt andernfalls. |
anthropic.request.service_tier | string | Der service_tier der Anfrage. Fehlt, wenn die Anfrage ihn nicht setzt. |
anthropic.thinking.type | string | Der thinking.type der Anfrage. Fehlt, wenn die Anfrage ihn nicht setzt. |
anthropic.thinking.budget_tokens | int | Die budget_tokens im thinking-Objekt der Anfrage. Fehlt, wenn die Anfrage sie nicht setzt. |
anthropic.beta | string[] | Nur beim SDK-Span. Die Beta-Namen im anthropic-beta-Header der Anfrage. |
gen_ai.system_instructions | string | Content Ein JSON-String, der dem OpenTelemetry-Schema SystemInstructions folgt. Der system-Prompt der Anfrage. |
gen_ai.input.messages | string | Content Ein JSON-String, der dem OpenTelemetry-Schema InputMessages folgt. Die messages der Anfrage. |
gen_ai.output.messages | string | Content Ein JSON-String, der dem OpenTelemetry-Schema OutputMessages folgt. Der content der Antwort, als eine assistant-Nachricht.SDK: Bei einem Stream nur, wenn die Anwendung den Stream so liest, wie Tracen eines Streams es beschreibt. |
gen_ai.request.stop_sequences | string[] | Content Die stop_sequences der Anfrage. |
Die Spans einer Anfrage enthalten nicht die Nutzungszähler für Server-Tools der Antwort, etwa web_search_requests. Stattdessen gibt die API für jede Nutzung eines Server-Tools einen Tool-Span aus.
anthropic.messages.count_tokens
- Quelle: Das SDK. Die API gibt keinen Span für
POST /v1/messages/count_tokensaus. - Art:
CLIENT. - Parent: Der Span, der in der Anwendung aktuell ist, wenn sie die Methode aufruft, oder keiner, wenn kein Span aktuell ist.
- Children: Keine.
| Attribut | Typ | Beschreibung |
|---|---|---|
gen_ai.request.model | string | Das Modell der Anfrage. |
anthropic.message.count_tokens.input_tokens | int | Die Token-Anzahl in der Antwort. Diese Anzahl ist keine Nutzung. Beziehe sie nicht ein, wenn du die Token-Nutzung summierst. |
anthropic.sessions.create
Wie anthropic.sessions.<method>, mit Ausnahme der folgenden Children und Attribute:
- Children des SDK-Spans: Der API-Span für diese Anfrage.
- Children des API-Spans: Der
anthropic.session.turn-Span des ersten Turns, wenn die Anfrage nicht leereinitial_eventshat.
| Attribut | Typ | Beschreibung |
|---|---|---|
gen_ai.agent.id | string | Die ID des Agenten, aus dem die Session erstellt wurde. |
gen_ai.agent.name | string | Der Name dieses Agenten. SDK: Fehlt, wenn die Anfrage fehlgeschlagen ist. |
gen_ai.request.model | string | Das Modell dieses Agenten, das den primären Thread ausführt. SDK: Fehlt, wenn die Anfrage fehlgeschlagen ist. |
anthropic.session.environment.id | string | Die ID der Umgebung der Session. |
anthropic.sessions.events.send
Wie anthropic.sessions.<method>, mit Ausnahme der Children des API-Spans.
- Children des SDK-Spans: Der API-Span für diese Anfrage.
- Children des API-Spans: Der
anthropic.session.turn-Span jedes Turns, der aufgrund der Events der Anfrage startet.
anthropic.sessions.update
Wie anthropic.sessions.<method>, mit Ausnahme der Children des API-Spans.
- Children des SDK-Spans: Der API-Span für diese Anfrage.
- Children des API-Spans: Der
anthropic.session.turn-Span jedes Turns, der fortgesetzt wird, weil die Anfrage das Session-Budget erhöht oder entfernt.
anthropic.session.turn
- Quelle: Die API, für Managed Agents-Sessions.
- Art:
INTERNAL. - Parent: Hängt davon ab, warum der Turn gestartet wurde:
- Der
anthropic.sessions.create-Span, für den ersten Turn einer Session, die mit nicht leereninitial_eventserstellt wurde. - Der
anthropic.sessions.events.send-Span für die Anfrage, in der das Event gesendet wurde, für einen Turn, der aufgrund eines Events gestartet wurde, zum Beispiel einesuser.message-Events. - Der
anthropic.sessions.update-Span, für einen Turn, der fortgesetzt wird, weil das Session-Budget durch die Anfrage erhöht oder entfernt wurde. - Der
anthropic.session.turn-Span des Turns des Agenten, den die Session ausführt, während dessen dieser Agent diesen Turn gestartet hat, für einen Turn auf einem anderen Thread. - Keiner, für einen Turn, der startet, weil ein Agent auf einem anderen Thread geantwortet oder seinen Turn beendet hat, etwa ein Agent, den der primäre Agent aufgerufen hat.
- Der
- Children:
- Ein
anthropic.model_request-Span für jede Modellanfrage im Turn. - Ein Tool-Span jedes Mal, wenn die API im Turn ein Tool ausführt, außer in den im Abschnitt zu Tool-Spans aufgeführten Fällen.
- Ein
anthropic.session.turn-Span für jeden Turn, den der Agent, den die Session ausführt, während dieses Turns auf einem anderen Thread gestartet hat. - Ein
anthropic.session.outcome_evaluation-Span für jede Iteration einer Ergebnisbewertung, die dieser Turn startet.
- Ein
Ein Turn beginnt, wenn sein Thread in den Zustand running wechselt, und endet, wenn der Thread ihn verlässt.
| Attribut | Typ | Beschreibung |
|---|---|---|
gen_ai.operation.name | string | invoke_agent |
gen_ai.agent.id | string | Die ID des Agenten, der den Thread des Turns ausführt. Fehlt bei einem Advisor-Thread. |
gen_ai.agent.name | string | Der Name dieses Agenten. anthropic.advisor bei einem Advisor-Thread. |
gen_ai.request.model | string | Das Modell dieses Agenten. Bei einem Advisor-Thread das Modell des Advisors. |
anthropic.session.turn.stop_reason | string | Warum der Turn endete: der stop_reason.type des session.thread_status_idle-Events, zum Beispiel requires_action. Fehlt, wenn der Thread nicht in den Leerlauf gewechselt ist. |
error.type | string | Der error.type des session.error-Events, das den Turn beendet hat, falls der Turn fehlgeschlagen ist. |
gen_ai.agent.description | string | Die Beschreibung dieses Agenten. Fehlt bei einem Advisor-Thread oder wenn der Agent keine hat. |
gen_ai.system_instructions | string | Content Ein JSON-String, der dem OpenTelemetry-Schema SystemInstructions folgt. Der für den Turn geltende System-Prompt. Nur beim ersten Turn eines Threads. Fehlt bei einem Advisor-Thread. |
gen_ai.input.messages | string | Content Ein JSON-String, der dem OpenTelemetry-Schema InputMessages folgt. Die Eingabe-Events des Turns: Benutzernachrichten und Tool-Ergebnisse, system.message-Events und Nachrichten von anderen Threads. Fehlt bei einem Advisor-Thread. |
gen_ai.output.messages | string | Content Ein JSON-String, der dem OpenTelemetry-Schema OutputMessages folgt. Die Ausgabe-Events des Turns: die Nachrichten, Tool-Nutzungen und Tool-Ergebnisse des Agenten. |
anthropic.model_request
- Quelle: Die API, für Messages API-Anfragen und Managed Agents-Sessions.
- Art:
INTERNAL. - Parent:
- Messages API: Der
anthropic.messages.create-Span für die Anfrage. - Managed Agents: Der
anthropic.session.turn-Span des Turns, der die Anfrage stellt.
- Messages API: Der
- Children: Keine.
In der Messages API ist jeder Span eine Modellanfrage innerhalb der API-Anfrage.
Der Span hat die Attribute zur Token-Nutzung.
| Attribut | Typ | Beschreibung |
|---|---|---|
gen_ai.operation.name | string | Nur bei den Spans von Managed Agents-Sessions, wo es chat ist. In der Messages API ist der anthropic.messages.create-Span für die Anfrage die chat-Operation. |
gen_ai.request.model | string | Das Modell der Anfrage. |
gen_ai.response.model | string | Nur bei den Spans für Messages API-Anfragen. Das Modell, das die Modellanfrage ausgeführt hat. |
error.type | string | Messages API: Der error.type des anthropic.messages.create-Spans, falls die Anfrage während dieser Modellanfrage fehlgeschlagen ist.Managed Agents: Falls die Modellanfrage fehlgeschlagen ist, ihr Fehlertyp, zum Beispiel rate_limit_error. api_error, falls die Modellanfrage ohne Antwort fehlgeschlagen ist. |
anthropic.tool_use, anthropic.mcp_tool_use und anthropic.custom_tool_use
- Quelle: Das SDK und die API.
- Name:
anthropic.tool_use <tool>,anthropic.mcp_tool_use <tool>oderanthropic.custom_tool_use <tool>, wobei<tool>der Name des Tools ist. - Art:
INTERNAL. - Parent des SDK-Spans: Der Span, der in der Anwendung aktuell ist, wenn das Tool startet, was im Messages-Tool-Runner der
anthropic.messages.tool_runner-Span ist. Wenn kein Span aktuell ist, gibt es keinen Parent. - Parent des API-Spans:
- Messages API: Der
anthropic.messages.create-Span für die Anfrage, in der die API das Tool ausführt. - Managed Agents: Der
anthropic.session.turn-Span des Turns, in dem das Tool läuft. Bei einer Tool-Nutzung, die auf einuser.tool_confirmation-Event wartet, ist das der Turn, der aufgrund der Bestätigung startet. - Bei einer Tool-Nutzung aus Code, den ein anderes Tool ausführt, der Tool-Span dieses Tools. In der Messages API ist dieses Tool das Code-Ausführungs-Tool.
- Messages API: Der
- Children des SDK-Spans: Die Spans, die der Code des Tools startet.
- Children des API-Spans: Ein Tool-Span für jede Tool-Nutzung aus dem Code, den dieses Tool ausführt. Zum Beispiel könnte Code, den das Code-Ausführungs-Tool ausführt,
web_searchverwenden.
Das Präfix des Span-Namens hängt vom Typ des Tools ab:
anthropic.tool_use <tool>ist der Span jeder Nutzung eines Server-Tools in der Messages API oder eines Tools aus dem Agent-Toolset von Managed Agents. Die API führt die Tools des Agent-Toolsets aus, außer in einer selbst gehosteten Sandbox, wo der Umgebungs-Worker sie ausführt.anthropic.mcp_tool_use <tool>ist der Span jeder Nutzung eines MCP-Tools, im SDK, in der Messages API und in Managed Agents. Im SDK ist es ein Tool aus einem MCP-Helper, das der Messages-Tool-Runner oder der Session-Tool-Runner ausführt. In der Messages API stammt das Tool vom MCP-Connector. Wenn in Managed Agents die Verbindung zum MCP-Server fehlschlägt, enthält der Span-Name den Tool-Namen nicht.anthropic.custom_tool_use <tool>ist der Span jeder Nutzung eines Tools, das die Anwendung definiert und ein Tool-Runner ausführt. Nur das SDK gibt diesen Span aus.
Die API gibt in den folgenden Fällen keinen Tool-Span aus:
- Das Modell fordert die Nutzung eines Tools an, das die Anwendung ausführt, etwa eines benutzerdefinierten Tools. Wenn ein Tool-Runner im SDK das Tool ausführt, gibt der Tool-Runner dessen Span aus.
- Managed Agents: Der Agent verwendet ein Tool, das in einer selbst gehosteten Sandbox läuft. Der Worker im SDK, der das Tool ausführt, gibt dessen Span aus. Sieh dir an, wie du eine selbst gehostete Sandbox tracst.
- Managed Agents: Der Agent verwendet ein Multiagent-Tool oder das Advisor-Tool.
- Managed Agents: Der Agent fordert die Nutzung eines Tools an, aber der Server lehnt die Nutzung unter der
auto-Berechtigungsrichtlinie ab, oder die Anwendung lehnt sie in einemuser.tool_confirmation-Event ab.
| Attribut | Typ | Beschreibung |
|---|---|---|
gen_ai.operation.name | string | execute_tool |
gen_ai.tool.name | string | Der Name des Tools, zum Beispiel bash. Bei API-Spans enthält der Name eines MCP-Tools nicht den Servernamen. Wenn in Managed Agents die Verbindung zum MCP-Server fehlgeschlagen ist, ist es der Name, den das Modell generiert hat, und er ist nur bei Spans im Inhaltsmodus vorhanden. |
gen_ai.tool.call.id | string | Messages API: Die id des Blocks, in dem das Modell die Nutzung des Tools angefordert hat: ein tool_use-, server_tool_use- oder mcp_tool_use-Block.Managed Agents: Die ID des Events, in dem der Agent die Nutzung des Tools angefordert hat: ein agent.tool_use-, agent.mcp_tool_use- oder agent.custom_tool_use-Event. |
anthropic.mcp.server.name | string | Nur bei den API-Spans von MCP-Tools. Der Name des MCP-Servers des Tools. In der Messages API der server_name des mcp_tool_use-Blocks. |
gen_ai.conversation.id | string | Die Session-Thread-ID, wie Session-Attribute es beschreibt. Im Messages-Tool-Runner die Konversations-ID, die mit der conversation_id-Option übergeben wurde, und fehlt ohne eine solche. Fehlt bei den API-Spans für eine Messages API-Anfrage. |
anthropic.session.id | string | Die ID der Session. Fehlt bei einer Tool-Nutzung außerhalb einer Managed Agents-Session, etwa in der Messages API oder im Messages-Tool-Runner. |
anthropic.session.thread.id | string | Nur bei SDK-Spans des Session-Tool-Runners. Die ID des Session-Threads. Fehlt bei einer Tool-Nutzung auf dem primären Thread. |
anthropic.tool.evaluated_permission | string | Nur bei den Spans, die die API in Managed Agents-Sessions ausgibt. Das Ergebnis der Auswertung der Berechtigungsrichtlinie für die Tool-Nutzung: allow oder ask. |
error.type | string | Der Fehlertyp, falls die Tool-Nutzung fehlgeschlagen ist: tool_error, wenn der Code des Tools einen Fehler auslöst oder wenn das Tool ein Fehlerergebnis zurückgibt.API: In der Messages API hat das Fehlerergebnis eines Server-Tools stattdessen seinen error_code, zum Beispiel max_uses_exceeded. Wenn in Managed Agents die Verbindung zum MCP-Server fehlgeschlagen ist, mcp_authentication_failed_error, wenn die Authentifizierung fehlgeschlagen ist, andernfalls mcp_connection_failed_error. Falls die Anfrage während der Tool-Nutzung fehlgeschlagen ist, der Fehlertyp der Anfrage. |
gen_ai.tool.description | string | Nur bei SDK-Spans. Die Beschreibung in der Tool-Definition. Fehlt, wenn die Beschreibung leer ist. |
gen_ai.tool.type | string | Nur bei SDK-Spans. function |
gen_ai.tool.call.arguments | string | Content Ein JSON-String, der dem OpenTelemetry-Schema ToolCallArguments folgt. Der input der Tool-Nutzung. |
anthropic.tool_result.content | string | Content Ein JSON-String mit einem Array von Inhaltsblöcken oder mit einem Objekt. Der content des Tool-Ergebnisses, das an das Modell zurückgeht. Auch für ein Fehlerergebnis, außer in Managed Agents, wenn die Verbindung zum MCP-Server fehlgeschlagen ist.API: In der Messages API wird ein String- content zu einem Array mit einem text-Block. |
anthropic.compaction
- Quelle: Die API, für Messages-API-Anfragen.
- Art:
INTERNAL. - Übergeordnet: Der
anthropic.messages.create-Span für die Anfrage. - Untergeordnet: Keine.
Der Span hat die Attribute zur Token-Nutzung der Compaction. Auf anthropic.messages.create steht die Nutzung einer Compaction in den anthropic.usage.compaction.*-Attributen statt in den gen_ai.usage.*-Summen.
| Attribut | Typ | Beschreibung |
|---|---|---|
error.type | string | Der Fehlertyp der Anfrage, falls die Anfrage während der Compaction fehlgeschlagen ist. |
anthropic.session.outcome_evaluation
- Quelle: Die API, für Managed-Agents-Sessions.
- Art:
INTERNAL. - Übergeordnet: Der
anthropic.session.turn-Span des Turns, der die Iteration gestartet hat, auch wenn dieser Turn vor der Iteration endet. - Untergeordnet: Keine.
Der Status ist nicht gesetzt, wenn das Ergebnis interrupted ist, und OK bei jedem anderen Ergebnis.
Der Span hat zwei der Attribute zur Token-Nutzung: gen_ai.usage.input_tokens und gen_ai.usage.output_tokens.
| Attribut | Typ | Beschreibung |
|---|---|---|
anthropic.session.outcome.id | string | Die ID des Outcomes, das die Iteration bewertet. |
anthropic.session.outcome_evaluation.result | string | Das Ergebnis der Iteration: satisfied, needs_revision, max_iterations_reached, failed oder interrupted. |
anthropic.session.outcome_evaluation.iteration | int | Die Nummer der Iteration. |
anthropic.session.outcome_evaluation.explanation | string | Content Die Erklärung des Ergebnisses durch den Grader, als reiner Text. |
anthropic.messages.tool_runner
- Quelle: Das SDK.
- Art:
INTERNAL. - Übergeordnet: Der Span, der in der Anwendung aktuell ist, wenn die Schleife startet, oder keiner, wenn kein Span aktuell ist.
- Untergeordnet: Der
anthropic.messages.create-Span für jede Anfrage in der Schleife und der Tool-Span jeder Tool-Nutzung, die der Runner ausführt.
Der Span endet mit der Schleife. Wenn die Anwendung den Runner stoppt, ist der Status nicht gesetzt. Wenn der Code eines Tools einen Fehler auslöst, hat dessen Tool-Span den Status ERROR und die Schleife läuft weiter. Der Span hat keine Nutzungsattribute, lies die Nutzung also aus seinen untergeordneten anthropic.messages.create-Spans.
| Attribut | Typ | Beschreibung |
|---|---|---|
gen_ai.operation.name | string | invoke_agent |
gen_ai.request.model | string | Das Modell der ersten Anfrage in der Schleife. |
gen_ai.conversation.id | string | Die Konversations-ID, die mit der Option conversation_id übergeben wurde. Fehlt ohne eine solche. |
error.type | string | Der Fehlertyp der Anfrage, die die Schleife beendet hat, falls die Schleife fehlgeschlagen ist. client_error, wenn der Runner selbst fehlgeschlagen ist. |
gen_ai.output.type | string | json, wenn die Anfragen das Ausgabeformat auf JSON setzen. Fehlt andernfalls. |
anthropic.messages.batches.<method>
- Quelle: Das SDK, für jede Message-Batches-Methode.
- Art:
CLIENT. - Übergeordnet: Der Span, der in der Anwendung aktuell ist, wenn sie die Methode aufruft, oder keiner, wenn kein Span aktuell ist.
- Untergeordnet: Keine.
Die Spans haben außerdem die Attribute jedes SDK-Spans für eine Anfrage.
| Attribut | Typ | Beschreibung |
|---|---|---|
anthropic.message.batch.id | string | Die ID des Batches, auf den die Methode wirkt, oder bei create die ID des neuen Batches. Fehlt bei list und bei einem fehlgeschlagenen create. |
anthropic.message.batch.request_count | int | Nur bei create. Die Anzahl der Elemente im requests-Array. |
anthropic.sessions.<method>
- Quelle: Das SDK und die API.
- Art:
CLIENTvom SDK,SERVERvon der API. - Übergeordnet zum SDK-Span: Der Span, der in der Anwendung aktuell ist, wenn sie die Methode aufruft, oder keiner, wenn kein Span aktuell ist.
- Übergeordnet zum API-Span: Der Span im
traceparent-Header der Anfrage, also der SDK-Span, wenn die Anfrage vom SDK kommt, oder keiner ohne den Header. - Untergeordnet zum SDK-Span: Der API-Span für diese Anfrage.
- Untergeordnet zum API-Span: Keine.
Die API erzeugt einen anthropic.sessions.<method>-Span für jede authentifizierte Anfrage an einen Endpunkt der Sessions API. Anfragen, die die Plattform im Namen eines Benutzers sendet, etwa eine in der Claude Console gesendete Nachricht oder eine Session, die ein geplantes Deployment startet, haben ebenfalls einen, jeweils in einem neuen Trace.
Der Span hat die Session-Attribute. Der SDK-Span hat außerdem die Attribute jedes SDK-Spans für eine Anfrage.
| Attribut | Typ | Beschreibung |
|---|---|---|
error.type | string | Der Fehlertyp einer fehlgeschlagenen Anfrage, zum Beispiel rate_limit_error.SDK: Außerdem die anderen Werte in SDK-Spans für Anfragen. API: api_error, wenn die API die Verbindung ohne Fehlerantwort geschlossen hat oder wenn ein Stream aufgrund eines Fehlers in der API beendet wurde. |
anthropic.environment.work
- Quelle: Die CLI und das SDK in Python, TypeScript und Go.
- Art:
INTERNAL. - Übergeordnet: Der Span, der in der Anwendung aktuell ist, wenn der Environment-Worker oder der Work-Poller das Work-Item erhält, oder keiner, wenn kein Span aktuell ist. In
ant beta:worker pollist der Span ein Root-Span. - Untergeordnet: Die Spans für die Anfragen, die der Environment-Worker sendet, während er das Work-Item bearbeitet, und der Tool-Span jedes Tools, das er für das Work-Item ausführt.
Der Environment-Worker und der Work-Poller sind die SDK-Helfer, die Work-Items in einer selbst gehosteten Sandbox beanspruchen. Sie erzeugen einen anthropic.environment.work-Span für jedes Work-Item, von dem Zeitpunkt, an dem ein Poll das Work-Item zurückgibt, bis zum Ende seiner Verarbeitung.
| Attribut | Typ | Beschreibung |
|---|---|---|
anthropic.environment.id | string | Die ID der Umgebung. |
anthropic.environment.work.id | string | Die ID des Work-Items. |
anthropic.session.id | string | Die ID der Session, zu der das Work-Item gehört. |
error.type | string | Der error.type des Spans für die fehlgeschlagene Anfrage, falls eine Anfrage die Verarbeitung beendet hat. client_error bei jedem anderen Fehler. |
anthropic.<resources>.<method>
- Quelle: Das SDK.
- Art:
CLIENT. - Übergeordnet: Der Span, der in der Anwendung aktuell ist, wenn sie die Methode aufruft, oder keiner, wenn kein Span aktuell ist.
- Untergeordnet: Keine.
Jede SDK-Methode, die eine Anfrage sendet und keinen eigenen Abschnitt auf dieser Seite hat, erzeugt einen anthropic.<resources>.<method>-Span, zum Beispiel anthropic.models.list oder anthropic.files.upload. Die Anfrage für jede weitere Seite einer Liste hat ihren eigenen Span.
Ein Span umfasst seine gesamte Anfrage, einschließlich Wiederholungen, und hat jedes Attribut des gleichnamigen API-Spans, sofern das SDK den Wert hat. Das SDK setzt http.request.method und http.route beim Starten des Spans, sodass ein Sampler sie verwenden kann.
Jeder SDK-Span für eine Anfrage, einschließlich anthropic.messages.create, anthropic.messages.count_tokens und anthropic.messages.batches.<method>, hat die folgenden Attribute:
| Attribut | Typ | Beschreibung |
|---|---|---|
gen_ai.conversation.id | string | Die Konversations-ID, die mit der Option conversation_id übergeben wurde. Ohne eine solche die Session-Thread-ID bei den Managed-Agents-Anfragen, die unter Session-Attribute aufgeführt sind, und fehlt bei anderen Anfragen. |
anthropic.<resource>.id | string | Ein Attribut für jede ID im Pfad der Anfrage und eines für die ID eines Objekts, das die Methode erstellt. Der Name stammt aus dem Pfad, im Singular, zum Beispiel anthropic.session.id oder anthropic.session.thread.id. |
gen_ai.agent.id | string | Die ID des Agenten, bei den Agent-Methoden. |
gen_ai.memory.store.id | string | Die ID des Memory Stores, bei den Memory-Store-Methoden. |
gen_ai.memory.record.id | string | Die ID der Memory, bei den Memory-Methoden. |
http.request.resend_count | int | Die Anzahl der Male, die das SDK die Anfrage aus irgendeinem Grund erneut gesendet hat, etwa bei einer Wiederholung. Fehlt, wenn das SDK sie nicht erneut gesendet hat. |
error.type | string | Der Fehlertyp eines fehlgeschlagenen Aufrufs, zum Beispiel rate_limit_error. Der HTTP-Statuscode, zum Beispiel 502, wenn die Fehlerantwort keinen Fehlertyp hat. connection_error, client_timeout_error oder client_error, wenn der Aufruf im SDK fehlgeschlagen ist. api_error, wenn der Server einen Stream vorzeitig beendet hat. |
server.address | string | Der Host der Basis-URL des Clients, standardmäßig api.anthropic.com. Beim Client einer Cloud-Plattform der Host dieser Plattform. |
url.query | string | Der Query-String der URL, nur mit den Query-Parametern, die der Endpunkt definiert. Fehlt, wenn es keine gibt. Im Nur-Metadaten-Modus fehlt er, wenn die Query einen sensiblen Parameter enthält, etwa email. |
url.full | string | Die URL, zusammengesetzt aus url.scheme, server.address, dem Port, wenn die Basis-URL einen hat, url.path und url.query. Im Nur-Metadaten-Modus fehlt sie immer dann, wenn dieser Modus url.query weglässt. |
Was this page helpful?