---
title: Referência de spans do OpenTelemetry
url: https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans
description: Os spans e atributos de span do OpenTelemetry que a Claude API e o Claude SDK emitem.
featureMetadata:
  topic:
    title: OpenTelemetry
    url: https://platform.claude.com/docs/en/manage-claude/opentelemetry
  status: beta
---

<Note>
  A exportação do OpenTelemetry está em beta. Ela é fornecida nos termos do seu contrato com a Anthropic, incluindo a seção Beta Services dos [Termos Específicos de Serviço](https://www.anthropic.com/legal/service-specific-terms). Os nomes e atributos de spans podem mudar durante o beta.
</Note>

Para configurar a exportação, consulte [Use o OpenTelemetry com o Claude SDK](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry/sdk) e [Use o OpenTelemetry com a Claude API](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry/api).

## Nomes e tipos de spans

| Propriedade              | Spans do SDK                                                                                                                                | Spans da API                                                  |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| `service.name`           | O `service.name` da aplicação                                                                                                               | `claude-platform`                                             |
| Escopo de instrumentação | `com.anthropic.sdk.<language>` ou `com.anthropic.sdk.cli`, mais `.<platform>` no cliente de uma plataforma de nuvem, com a versão do pacote | `com.anthropic.claude-platform`                               |
| Tipo de span             | `CLIENT` no span de uma requisição, `INTERNAL` caso contrário                                                                               | `SERVER` no span de uma requisição, `INTERNAL` caso contrário |

* **Spans para requisições** têm o nome do método da API da requisição: `anthropic.` seguido do caminho do método na referência da API, com pontos em vez de barras e sem `beta`. Por exemplo, `client.beta.sessions.events.send()` (csharp, go: `client.Beta.Sessions.Events.Send()`; java: `client.beta().sessions().events().send()`; php: `$client->beta->sessions->events->send()`; ruby: `client.beta.sessions.events.send_()`) envia uma requisição para [enviar eventos de sessão](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events/send), e seus spans têm o nome [`anthropic.sessions.events.send`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-sessions-events-send).
* **Spans de ferramentas** têm um nome fixo, um espaço e o nome da ferramenta, por exemplo [`anthropic.tool_use bash`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-tool-use-anthropic-mcp-tool-use-and-anthropic-custom-tool-use).

## Status do span

* **`OK`:** A etapa foi concluída.
* **`ERROR`:** A etapa falhou.
* **Não definido:** A aplicação cancelou a etapa, por exemplo quando enviou um evento [`user.interrupt`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events#beta_managed_agents_user_interrupt_event).

O span de um stream termina quando o stream termina. Se a aplicação fechar o stream antecipadamente, o span do SDK fica com o status não definido; assim, o span do SDK de um stream que nunca é concluído, como [`anthropic.sessions.events.stream`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-sessions-method), tem o status não definido ou `ERROR`.

## Atributos

Os atributos usam as [convenções semânticas do OpenTelemetry para IA generativa](https://github.com/open-telemetry/semantic-conventions-genai) (`gen_ai.*`) quando existe uma. Os atributos da Anthropic começam com `anthropic.`. Os spans seguem as convenções no commit [`e57c543b`](https://github.com/open-telemetry/semantic-conventions-genai/tree/e57c543b4889619eb2a05702471937db5119165d) de 24 de setembro de 2026. As convenções ainda estão em desenvolvimento.

### Atributos comuns

Todo span de uma requisição tem os seguintes atributos, exceto quando uma descrição indicar o contrário. Outros spans podem ter apenas os três primeiros:

| Atributo                    | Tipo     | Descrição                                                                                                                                                                          |
| --------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gen_ai.provider.name`      | `string` | `anthropic`. Em todos os spans.<br />**SDK:** `aws.bedrock` nos clientes do Amazon Bedrock (incluindo o Mantle) e `gcp.vertex_ai` no cliente para o Google Cloud's Agent Platform. |
| `anthropic.organization.id` | `string` | O ID da organização.                                                                                                                                                               |
| `anthropic.workspace.id`    | `string` | O ID do workspace em que o trabalho é executado.                                                                                                                                   |
| `anthropic.request.id`      | `string` | O valor do cabeçalho de resposta `request-id`.                                                                                                                                     |
| `http.request.method`       | `string` | O método HTTP da requisição, por exemplo `POST`.                                                                                                                                   |
| `http.route`                | `string` | O caminho do endpoint, com marcadores para seus parâmetros de caminho, por exemplo `/v1/sessions/{session_id}`.                                                                    |
| `http.response.status_code` | `int`    | O código de status HTTP da resposta final. Para um stream, o código de status enviado com os cabeçalhos. Ausente quando não houve resposta.                                        |
| `server.address`            | `string` | O host para o qual a requisição foi enviada, por exemplo `api.anthropic.com`.                                                                                                      |
| `server.port`               | `int`    | A porta da URL da requisição, ou a porta padrão do seu esquema quando a URL não tem uma.                                                                                           |
| `url.scheme`                | `string` | O esquema da URL, por exemplo `https`.                                                                                                                                             |
| `url.path`                  | `string` | O caminho da URL, por exemplo `/v1/messages`.                                                                                                                                      |
| `url.query`                 | `string` | A query string da URL, contendo somente os parâmetros de consulta definidos pelo endpoint. Ausente quando não há nenhum.                                                           |
| `url.full`                  | `string` | A URL da requisição.                                                                                                                                                               |

Na Claude Platform on AWS, os spans de API não têm `server.address`, `server.port` nem `url.full`.

### Atributos de sessão

Em uma sessão do Managed Agents, os spans têm os seguintes atributos. Os spans de uma sessão podem estar em mais de um trace; portanto, para montar uma visão da sessão, como uma transcrição, [agrupe seus spans por esses IDs](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry#a-managed-agents-session).

| Atributo                 | Tipo     | Descrição                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ------------------------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `anthropic.session.id`   | `string` | O ID da sessão. Ausente nos spans de métodos que não atuam em uma sessão, como [`anthropic.sessions.list`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-sessions-method).                                                                                                                                                                                                                                                                                                                  |
| `gen_ai.conversation.id` | `string` | O ID da thread da sessão à qual o span pertence. A [opção `conversation_id` (typescript, java, php: `conversationId`; csharp: `ConversationId`; go: `option.WithOpenTelemetryConversationID()`)](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry/sdk#configure-the-sdk) do SDK o substitui pelo seu próprio ID de conversa. Ausente nos spans do SDK sem thread, a menos que você defina a opção, e nos spans da API para requisições da Sessions API que não sejam requisições a uma única thread. |

### Atributos de conteúdo

Os atributos marcados com <Badge>Conteúdo</Badge> estão presentes apenas em spans no modo de conteúdo, tanto do SDK quanto da API. Veja [como os modos de conteúdo diferem no guia](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry#choose-a-content-mode). Quando esse conteúdo é grande demais, o SDK e a API [o encurtam](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry#content-limits) e definem `anthropic.content.truncated` como `true`. Se as salvaguardas da Anthropic retiverem conteúdo de uma resposta, os spans da API também não o incluem.

Os atributos de mensagem são strings JSON no formato de mensagem das convenções GenAI do OpenTelemetry. Cada bloco de conteúdo da Anthropic se torna uma parte de mensagem das convenções GenAI, na Messages API e em eventos de mensagem do Managed Agents, como `agent.message`:

| Bloco de conteúdo da Anthropic                                                                                       | Parte de mensagem das convenções GenAI                                                                                                                            |
| -------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `text`                                                                                                               | `text`                                                                                                                                                            |
| `tool_use`, `server_tool_use`                                                                                        | `tool_call`, com `anthropic_toolset_name` para um bloco `tool_use` que tenha um `toolset_name`, como `computer`                                                   |
| `mcp_tool_use`                                                                                                       | `tool_call` com `anthropic_mcp_server_name`                                                                                                                       |
| `tool_result`, `mcp_tool_result`, um bloco de resultado de uma ferramenta de servidor, como `web_search_tool_result` | `tool_call_response`                                                                                                                                              |
| `thinking`                                                                                                           | `reasoning`, sem a assinatura do bloco `thinking`. Não aparece nos spans do Managed Agents, porque o evento `agent.thinking` não inclui o conteúdo do pensamento. |
| Qualquer outro bloco, como `image`                                                                                   | O `type` do bloco com o prefixo `anthropic_`, como `anthropic_image`. A parte não tem outros campos.                                                              |

Cada evento de uso de ferramenta ou de resultado de ferramenta do Managed Agents também se torna uma parte de mensagem das convenções GenAI:

| Evento do Managed Agents                                                                    | Parte de mensagem das convenções GenAI      |
| ------------------------------------------------------------------------------------------- | ------------------------------------------- |
| `agent.tool_use`, `agent.custom_tool_use`                                                   | `tool_call`                                 |
| `agent.mcp_tool_use`                                                                        | `tool_call` com `anthropic_mcp_server_name` |
| `user.tool_result`, `user.custom_tool_result`, `agent.tool_result`, `agent.mcp_tool_result` | `tool_call_response`                        |

### Uso de tokens

Os seguintes spans têm atributos de uso de tokens: [`anthropic.messages.create`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-messages-create), [`anthropic.model_request`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-model-request), [`anthropic.compaction`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-compaction) e [`anthropic.session.outcome_evaluation`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-session-outcome-evaluation). Os valores são referentes à etapa de cada span, por exemplo a requisição, a requisição ao modelo ou a compactação. Para contar cada token uma única vez, veja [como contar tokens no guia](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry#count-tokens).

| Atributo                                                   | Tipo  | Descrição                                                                                                                                                                                               |
| ---------------------------------------------------------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gen_ai.usage.input_tokens`                                | `int` | Os tokens de entrada, incluindo leituras e gravações de cache.                                                                                                                                          |
| `gen_ai.usage.output_tokens`                               | `int` | Os tokens de saída.                                                                                                                                                                                     |
| `gen_ai.usage.cache_write.input_tokens`                    | `int` | Os tokens gravados no cache de prompt. Ausente nos spans [`anthropic.session.outcome_evaluation`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-session-outcome-evaluation). |
| `anthropic.usage.cache_creation.ephemeral_5m_input_tokens` | `int` | Os tokens gravados no cache de 5 minutos. Apenas nos spans de requisições da Messages API. No span do SDK de uma resposta em streaming, apenas os tokens gravados antes do primeiro token de saída.     |
| `anthropic.usage.cache_creation.ephemeral_1h_input_tokens` | `int` | Os tokens gravados no cache de 1 hora. Apenas nos spans de requisições da Messages API. No span do SDK de uma resposta em streaming, apenas os tokens gravados antes do primeiro token de saída.        |
| `gen_ai.usage.cache_read.input_tokens`                     | `int` | Os tokens lidos do cache de prompt. Ausente nos spans [`anthropic.session.outcome_evaluation`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-session-outcome-evaluation).    |

## Spans

Um span pode vir do SDK na aplicação ou da API; por isso, cada span nesta referência lista suas origens. Descrições que começam com **Messages API:** ou **Managed Agents:** referem-se aos spans desse produto. Descrições de atributos que começam com uma origem, como **SDK:** ou **API:**, referem-se aos spans dessa origem.

### `anthropic.messages.create`

* **Origem:** O SDK e a API.
* **Tipo:** `CLIENT` a partir do SDK, `SERVER` a partir da API.
* **Pai do span do SDK:** O span que está ativo na aplicação quando ela chama o método. Se nenhum span estiver ativo, não há pai.
* **Pai do span da API:** O span no cabeçalho `traceparent` da requisição, que é o span do SDK quando a requisição vem do SDK. Sem o cabeçalho, o span da API não tem pai. Veja [como enviar o cabeçalho `traceparent`](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry/api#connect-api-spans-to-your-own-traces).
* **Filhos do span do SDK:** O span da API para essa requisição.
* **Filhos do span da API:** Um span [`anthropic.model_request`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-model-request) para cada requisição ao modelo, um [span de ferramenta](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-tool-use-anthropic-mcp-tool-use-and-anthropic-custom-tool-use) para cada uso de uma ferramenta de servidor ou de uma ferramenta do conector MCP que a API executa na requisição, e um span [`anthropic.compaction`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-compaction) para cada compactação.

O SDK emite este span para cada requisição de Messages, com ou sem streaming.

A API emite este span para cada requisição [`POST /v1/messages`](https://platform.claude.com/docs/pt-BR/api/messages/create) que ela autentica. Ela não emite o span para uma requisição ao [endpoint compatível com OpenAI](https://platform.claude.com/docs/pt-BR/cli-sdks-libraries/libraries/openai-sdk), `POST /v1/chat/completions`.

A API emite um span por requisição, inclusive quando um [modelo de fallback](https://platform.claude.com/docs/pt-BR/build-with-claude/refusals-and-fallback) a atende.

O span tem os [atributos de uso de tokens](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#token-usage). O span do SDK também tem os atributos de todo [span do SDK para uma requisição](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-resources-method).

| Atributo                                   | Tipo       | Descrição                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ------------------------------------------ | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gen_ai.operation.name`                    | `string`   | `chat`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `gen_ai.request.model`                     | `string`   | O [`model`](https://platform.claude.com/docs/pt-BR/api/messages/create#create.model) da requisição.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `gen_ai.response.id`                       | `string`   | O [`id`](https://platform.claude.com/docs/pt-BR/api/messages/create#message) da resposta.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `gen_ai.response.model`                    | `string`   | O modelo que atendeu a requisição. Ele difere do modelo solicitado quando a requisição usa um alias de modelo, ou quando um [modelo de fallback](https://platform.claude.com/docs/pt-BR/build-with-claude/refusals-and-fallback) atendeu a requisição.                                                                                                                                                                                                                                                                                                                                        |
| `anthropic.message.stop_reason`            | `string`   | O [`stop_reason`](https://platform.claude.com/docs/pt-BR/api/messages#stop_reason) da resposta, por exemplo `end_turn`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `anthropic.response.service_tier`          | `string`   | O nível de serviço que atendeu a requisição: o [`usage.service_tier`](https://platform.claude.com/docs/pt-BR/api/messages#usage) da resposta. Veja [como as requisições são atribuídas a níveis](https://platform.claude.com/docs/pt-BR/api/service-tiers#how-requests-get-assigned-tiers).                                                                                                                                                                                                                                                                                                   |
| `error.type`                               | `string`   | O [tipo de erro](https://platform.claude.com/docs/pt-BR/api/errors#http-errors) de uma requisição com falha, por exemplo `rate_limit_error`.<br />**SDK:** Também os outros valores em [spans do SDK para requisições](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-resources-method).<br />**API:** `api_error` quando a API encerra a requisição sem uma resposta de erro.                                                                                                                                                                                      |
| `gen_ai.response.time_to_first_chunk`      | `double`   | Apenas no span do SDK de uma resposta em streaming. Os segundos desde quando o SDK enviou a requisição pela primeira vez até o primeiro evento `content_block_delta` do stream, se houver.                                                                                                                                                                                                                                                                                                                                                                                                    |
| `gen_ai.usage.reasoning.output_tokens`     | `int`      | Os tokens de pensamento da resposta. Eles fazem parte dos tokens de saída. Ausente quando o uso da resposta não tem detalhes para os tokens de saída.                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `anthropic.usage.compaction.input_tokens`  | `int`      | Tokens de entrada das [compactações](https://platform.claude.com/docs/pt-BR/build-with-claude/compaction) da requisição, incluindo leituras e gravações de cache. Não fazem parte de `gen_ai.usage.input_tokens`. Ausente quando a resposta não tem compactação.                                                                                                                                                                                                                                                                                                                              |
| `anthropic.usage.compaction.output_tokens` | `int`      | Tokens de saída das compactações da requisição. Não fazem parte de `gen_ai.usage.output_tokens`. Ausente quando a resposta não tem compactação.                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `gen_ai.request.max_tokens`                | `int`      | O [`max_tokens`](https://platform.claude.com/docs/pt-BR/api/messages/create#create.max_tokens) da requisição.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `gen_ai.request.temperature`               | `double`   | A [`temperature`](https://platform.claude.com/docs/pt-BR/api/messages/create#create.temperature) da requisição. Ausente quando a requisição não a define.                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `gen_ai.request.top_p`                     | `double`   | O [`top_p`](https://platform.claude.com/docs/pt-BR/api/messages/create#create.top_p) da requisição. Ausente quando a requisição não o define.                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `gen_ai.request.top_k`                     | `int`      | O [`top_k`](https://platform.claude.com/docs/pt-BR/api/messages/create#create.top_k) da requisição. Ausente quando a requisição não o define.                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `gen_ai.request.stream`                    | `boolean`  | `true` quando a requisição define [`stream: true`](https://platform.claude.com/docs/pt-BR/api/messages/create#create.stream). Ausente caso contrário.                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `gen_ai.request.reasoning.level`           | `string`   | O [`effort`](https://platform.claude.com/docs/pt-BR/api/messages/create#create.output_config.effort) no [`output_config`](https://platform.claude.com/docs/pt-BR/api/messages/create#create.output_config) da requisição. Ausente quando a requisição não o define.                                                                                                                                                                                                                                                                                                                           |
| `gen_ai.output.type`                       | `string`   | `json` quando a requisição define o formato de saída como JSON. Ausente caso contrário.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `anthropic.request.service_tier`           | `string`   | O [`service_tier`](https://platform.claude.com/docs/pt-BR/api/messages/create#create.service_tier) da requisição. Ausente quando a requisição não o define.                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `anthropic.thinking.type`                  | `string`   | O [`thinking.type`](https://platform.claude.com/docs/pt-BR/api/messages/create#create.thinking) da requisição. Ausente quando a requisição não o define.                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `anthropic.thinking.budget_tokens`         | `int`      | O [`budget_tokens`](https://platform.claude.com/docs/pt-BR/api/messages#thinking_config_enabled.budget_tokens) no objeto [`thinking`](https://platform.claude.com/docs/pt-BR/api/messages/create#create.thinking) da requisição. Ausente quando a requisição não o define.                                                                                                                                                                                                                                                                                                                    |
| `anthropic.beta`                           | `string[]` | Apenas no span do SDK. Os nomes de beta no cabeçalho [`anthropic-beta`](https://platform.claude.com/docs/pt-BR/api/beta/messages/create#create.betas) da requisição.                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `gen_ai.system_instructions`               | `string`   | <Badge>Conteúdo</Badge> Uma string JSON que segue o schema [`SystemInstructions`](https://github.com/open-telemetry/semantic-conventions-genai/blob/e57c543b4889619eb2a05702471937db5119165d/model/gen-ai/gen-ai-system-instructions.json) do OpenTelemetry. O prompt [`system`](https://platform.claude.com/docs/pt-BR/api/messages/create#create.system) da requisição.                                                                                                                                                                                                                     |
| `gen_ai.input.messages`                    | `string`   | <Badge>Conteúdo</Badge> Uma string JSON que segue o schema [`InputMessages`](https://github.com/open-telemetry/semantic-conventions-genai/blob/e57c543b4889619eb2a05702471937db5119165d/model/gen-ai/gen-ai-input-messages.json) do OpenTelemetry. As [`messages`](https://platform.claude.com/docs/pt-BR/api/messages/create#create.messages) da requisição.                                                                                                                                                                                                                                 |
| `gen_ai.output.messages`                   | `string`   | <Badge>Conteúdo</Badge> Uma string JSON que segue o schema [`OutputMessages`](https://github.com/open-telemetry/semantic-conventions-genai/blob/e57c543b4889619eb2a05702471937db5119165d/model/gen-ai/gen-ai-output-messages.json) do OpenTelemetry. O [`content`](https://platform.claude.com/docs/pt-BR/api/messages/create#message) da resposta, como uma mensagem `assistant`.<br />**SDK:** Em um stream, apenas quando a aplicação lê o stream conforme descrito em [Rastreamento de um stream](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry/sdk#trace-a-stream). |
| `gen_ai.request.stop_sequences`            | `string[]` | <Badge>Conteúdo</Badge> As [`stop_sequences`](https://platform.claude.com/docs/pt-BR/api/messages/create#create.stop_sequences) da requisição.                                                                                                                                                                                                                                                                                                                                                                                                                                                |

Os spans de uma requisição não têm as contagens de uso de ferramentas de servidor da resposta, como `web_search_requests`. Em vez disso, a API emite um [span de ferramenta](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-tool-use-anthropic-mcp-tool-use-and-anthropic-custom-tool-use) para cada uso de uma ferramenta de servidor.

### `anthropic.messages.count_tokens`

* **Origem:** O SDK. A API não emite um span para [`POST /v1/messages/count_tokens`](https://platform.claude.com/docs/pt-BR/api/messages/count_tokens).
* **Tipo:** `CLIENT`.
* **Pai:** O span que está ativo na aplicação quando ela chama o método, ou nenhum se nenhum span estiver ativo.
* **Filhos:** Nenhum.

| Atributo                                      | Tipo     | Descrição                                                                                         |
| --------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------- |
| `gen_ai.request.model`                        | `string` | O modelo da requisição.                                                                           |
| `anthropic.message.count_tokens.input_tokens` | `int`    | A contagem de tokens na resposta. Essa contagem não é uso. Não a inclua ao somar o uso de tokens. |

### `anthropic.sessions.create`

Igual a [`anthropic.sessions.<method>`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-sessions-method), exceto pelos seguintes filhos e atributos:

* **Filhos do span do SDK:** O span da API para essa requisição.
* **Filhos do span da API:** O span [`anthropic.session.turn`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-session-turn) do primeiro turno, quando a requisição tem [`initial_events`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/create#create.initial_events) não vazio.

| Atributo                           | Tipo     | Descrição                                                                                                |
| ---------------------------------- | -------- | -------------------------------------------------------------------------------------------------------- |
| `gen_ai.agent.id`                  | `string` | O ID do agente a partir do qual a sessão foi criada.                                                     |
| `gen_ai.agent.name`                | `string` | O nome desse agente.<br />**SDK:** Ausente quando a requisição falhou.                                   |
| `gen_ai.request.model`             | `string` | O modelo desse agente, que executa a thread principal.<br />**SDK:** Ausente quando a requisição falhou. |
| `anthropic.session.environment.id` | `string` | O ID do ambiente da sessão.                                                                              |

### `anthropic.sessions.events.send`

Igual a [`anthropic.sessions.<method>`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-sessions-method), exceto pelos filhos do span da API.

* **Filhos do span do SDK:** O span da API para essa requisição.
* **Filhos do span da API:** O span [`anthropic.session.turn`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-session-turn) de cada turno que começa por causa dos eventos da requisição.

### `anthropic.sessions.update`

Igual a [`anthropic.sessions.<method>`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-sessions-method), exceto pelos filhos do span da API.

* **Filhos do span do SDK:** O span da API para essa requisição.
* **Filhos do span da API:** O span [`anthropic.session.turn`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-session-turn) de cada turno que é retomado porque a requisição aumenta ou remove o [orçamento da sessão](https://platform.claude.com/docs/pt-BR/managed-agents/budgets#resume-a-session-at-its-budget).

### `anthropic.session.turn`

* **Origem:** A API, para sessões do Managed Agents.

* **Tipo:** `INTERNAL`.

* **Pai:** Depende do motivo pelo qual o turno começou:

  * O span [`anthropic.sessions.create`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-sessions-create), para o primeiro turno de uma sessão que foi criada com [`initial_events`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/create#create.initial_events) não vazio.
  * O span [`anthropic.sessions.events.send`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-sessions-events-send) para a requisição em que o evento foi enviado, para um turno que começou por causa de um evento, por exemplo um evento [`user.message`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events#beta_managed_agents_user_message_event).
  * O span [`anthropic.sessions.update`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-sessions-update), para um turno que é retomado porque o orçamento da sessão foi aumentado ou removido por meio da requisição.
  * O span `anthropic.session.turn` do turno do [agente que a sessão executa](https://platform.claude.com/docs/pt-BR/managed-agents/multiagent-orchestration) durante o qual esse agente iniciou este turno, para um turno em outra thread.
  * Nenhum, para um turno que começa porque um agente em outra thread respondeu ou terminou seu turno, como um agente que o agente principal chamou.

* **Filhos:**

  * Um span [`anthropic.model_request`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-model-request) para cada requisição ao modelo no turno.
  * Um span de ferramenta cada vez que a API executa uma ferramenta no turno, exceto nos [casos listados na seção de spans de ferramentas](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-tool-use-anthropic-mcp-tool-use-and-anthropic-custom-tool-use).
  * Um span `anthropic.session.turn` para cada turno que o agente que a sessão executa iniciou em outra thread durante este turno.
  * Um span [`anthropic.session.outcome_evaluation`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-session-outcome-evaluation) para cada iteração de uma avaliação de resultado que este turno inicia.

Um turno começa quando sua thread entra no estado `running` e termina quando a thread sai dele.

| Atributo                             | Tipo     | Descrição                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------------------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gen_ai.operation.name`              | `string` | `invoke_agent`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `gen_ai.agent.id`                    | `string` | O ID do agente que executa a thread do turno. Ausente em uma thread de [advisor](https://platform.claude.com/docs/pt-BR/managed-agents/multiagent-orchestration#advisor-threads).                                                                                                                                                                                                                                                                                                                                                                 |
| `gen_ai.agent.name`                  | `string` | O nome desse agente. `anthropic.advisor` em uma thread de advisor.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `gen_ai.request.model`               | `string` | O modelo desse agente. Em uma thread de advisor, o modelo do advisor.                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `anthropic.session.turn.stop_reason` | `string` | Por que o turno terminou: o [`stop_reason.type`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events#beta_managed_agents_session_thread_status_idle_event) do evento [`session.thread_status_idle`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events#beta_managed_agents_session_thread_status_idle_event), por exemplo `requires_action`. Ausente quando a thread não ficou ociosa.                                                                                                                                   |
| `error.type`                         | `string` | O [`error.type`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events#beta_managed_agents_session_error_event) do evento [`session.error`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events#beta_managed_agents_session_error_event) que encerrou o turno, se o turno falhou.                                                                                                                                                                                                                                           |
| `gen_ai.agent.description`           | `string` | A descrição desse agente. Ausente em uma thread de advisor ou quando o agente não tem uma.                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `gen_ai.system_instructions`         | `string` | <Badge>Conteúdo</Badge> Uma string JSON que segue o schema [`SystemInstructions`](https://github.com/open-telemetry/semantic-conventions-genai/blob/e57c543b4889619eb2a05702471937db5119165d/model/gen-ai/gen-ai-system-instructions.json) do OpenTelemetry. O prompt do sistema em vigor para o turno. Somente no primeiro turno de uma thread. Ausente em uma thread de advisor.                                                                                                                                                                |
| `gen_ai.input.messages`              | `string` | <Badge>Conteúdo</Badge> Uma string JSON que segue o schema [`InputMessages`](https://github.com/open-telemetry/semantic-conventions-genai/blob/e57c543b4889619eb2a05702471937db5119165d/model/gen-ai/gen-ai-input-messages.json) do OpenTelemetry. Os eventos de entrada do turno: mensagens do usuário e resultados de ferramentas, eventos [`system.message`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events#beta_managed_agents_system_message_event_params) e mensagens de outras threads. Ausente em uma thread de advisor. |
| `gen_ai.output.messages`             | `string` | <Badge>Conteúdo</Badge> Uma string JSON que segue o schema [`OutputMessages`](https://github.com/open-telemetry/semantic-conventions-genai/blob/e57c543b4889619eb2a05702471937db5119165d/model/gen-ai/gen-ai-output-messages.json) do OpenTelemetry. Os eventos de saída do turno: as mensagens, os usos de ferramentas e os resultados de ferramentas do agente.                                                                                                                                                                                 |

### `anthropic.model_request`

* **Origem:** A API, para requisições da Messages API e sessões do Managed Agents.

* **Tipo:** `INTERNAL`.

* **Pai:**

  * **Messages API:** O span [`anthropic.messages.create`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-messages-create) para a requisição.
  * **Managed Agents:** O span [`anthropic.session.turn`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-session-turn) do turno que faz a requisição.

* **Filhos:** Nenhum.

Na Messages API, cada span é uma requisição ao modelo dentro da requisição à API.

O span tem os [atributos de uso de tokens](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#token-usage).

| Atributo                | Tipo     | Descrição                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `gen_ai.operation.name` | `string` | Apenas nos spans de sessões do Managed Agents, onde é `chat`. Na Messages API, o span [`anthropic.messages.create`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-messages-create) da requisição é a operação `chat`.                                                                                                                                                                                                                         |
| `gen_ai.request.model`  | `string` | O modelo da requisição.                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `gen_ai.response.model` | `string` | Apenas nos spans de requisições da Messages API. O modelo que executou a requisição ao modelo.                                                                                                                                                                                                                                                                                                                                                                           |
| `error.type`            | `string` | **Messages API:** O `error.type` do span [`anthropic.messages.create`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-messages-create), se a requisição falhou durante esta requisição ao modelo.<br />**Managed Agents:** Se a requisição ao modelo falhou, seu [tipo de erro](https://platform.claude.com/docs/pt-BR/api/errors#http-errors), por exemplo `rate_limit_error`. `api_error` se a requisição ao modelo falhou sem uma resposta. |

### `anthropic.tool_use`, `anthropic.mcp_tool_use` e `anthropic.custom_tool_use`

* **Origem:** O SDK e a API.

* **Nome:** `anthropic.tool_use <tool>`, `anthropic.mcp_tool_use <tool>` ou `anthropic.custom_tool_use <tool>`, onde `<tool>` é o nome da ferramenta.

* **Tipo:** `INTERNAL`.

* **Pai do span do SDK:** O span que está ativo na aplicação quando a ferramenta começa, que no executor de ferramentas de Messages é o span [`anthropic.messages.tool_runner`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-messages-tool-runner). Se nenhum span estiver ativo, não há pai.

* **Pai do span da API:**

  * **Messages API:** O span [`anthropic.messages.create`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-messages-create) para a requisição em que a API executa a ferramenta.
  * **Managed Agents:** O span [`anthropic.session.turn`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-session-turn) do turno em que a ferramenta é executada. Para um uso de ferramenta que aguarda um evento [`user.tool_confirmation`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events#beta_managed_agents_user_tool_confirmation_event), esse é o turno que começa por causa da confirmação.
  * Para um uso de ferramenta a partir de código que outra ferramenta executa, o span de ferramenta dessa ferramenta. Na Messages API, essa ferramenta é a [ferramenta de execução de código](https://platform.claude.com/docs/pt-BR/agents-and-tools/tool-use/code-execution-tool).

* **Filhos do span do SDK:** Os spans que o código da ferramenta inicia.

* **Filhos do span da API:** Um span de ferramenta para cada uso de ferramenta a partir do código que esta ferramenta executa. Por exemplo, o código que a ferramenta de execução de código executa pode usar `web_search`.

O prefixo do nome do span depende do tipo de ferramenta:

* `anthropic.tool_use <tool>` é o span de cada uso de uma [ferramenta de servidor](https://platform.claude.com/docs/pt-BR/agents-and-tools/tool-use/server-tools) na Messages API ou de uma ferramenta do conjunto de ferramentas do agente do Managed Agents. A API executa as ferramentas do conjunto de ferramentas do agente, exceto em um [sandbox auto-hospedado](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry/sdk#trace-a-self-hosted-sandbox), onde o worker do ambiente as executa.
* `anthropic.mcp_tool_use <tool>` é o span de cada uso de uma ferramenta MCP, no SDK, na Messages API e no Managed Agents. No SDK, é uma ferramenta de um helper MCP que o [executor de ferramentas de Messages](https://platform.claude.com/docs/pt-BR/agents-and-tools/tool-use/tool-runner) ou o [executor de ferramentas de sessão](https://platform.claude.com/docs/pt-BR/managed-agents/self-hosted-sandboxes-reference#session-tool-runner) executa. Na Messages API, a ferramenta vem do [conector MCP](https://platform.claude.com/docs/pt-BR/agents-and-tools/mcp-connector). No Managed Agents, se a [conexão com o servidor MCP falhar](https://platform.claude.com/docs/pt-BR/managed-agents/mcp-connector#handle-connection-and-authentication-failures), o nome do span não inclui o nome da ferramenta.
* `anthropic.custom_tool_use <tool>` é o span de cada uso de uma ferramenta que a aplicação define e que um tool runner executa. Somente o SDK emite este span.

A API não emite um span de ferramenta nos seguintes casos:

* O modelo pede para usar uma ferramenta que a aplicação executa, como uma [ferramenta personalizada](https://platform.claude.com/docs/pt-BR/managed-agents/tools). Se um tool runner no SDK executar a ferramenta, o tool runner emite o span dela.
* **Managed Agents:** O agente usa uma ferramenta que é executada em um sandbox auto-hospedado. O worker no SDK, que executa a ferramenta, emite seu span. Veja [como rastrear um sandbox auto-hospedado](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry/sdk#trace-a-self-hosted-sandbox).
* **Managed Agents:** O agente usa uma ferramenta [multiagente](https://platform.claude.com/docs/pt-BR/managed-agents/multiagent-orchestration) ou a [ferramenta advisor](https://platform.claude.com/docs/pt-BR/managed-agents/multiagent-orchestration#give-the-session-an-advisor).
* **Managed Agents:** O agente pede para usar uma ferramenta, mas o servidor nega o uso sob a [política de permissão `auto`](https://platform.claude.com/docs/pt-BR/managed-agents/permission-policies#let-the-server-evaluate-each-call-with-auto), ou a aplicação o nega em um evento [`user.tool_confirmation`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events#beta_managed_agents_user_tool_confirmation_event).

| Atributo                              | Tipo     | Descrição                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gen_ai.operation.name`               | `string` | `execute_tool`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `gen_ai.tool.name`                    | `string` | O nome da ferramenta, por exemplo `bash`. Nos spans da API, o nome de uma ferramenta MCP não tem o nome do servidor. No Managed Agents, se a conexão com o servidor MCP falhou, é o nome que o modelo gerou e está presente apenas em spans no modo de conteúdo.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `gen_ai.tool.call.id`                 | `string` | **Messages API:** O `id` do bloco em que o modelo pediu para usar a ferramenta: um bloco [`tool_use`](https://platform.claude.com/docs/pt-BR/api/messages#tool_use_block), [`server_tool_use`](https://platform.claude.com/docs/pt-BR/api/messages#server_tool_use_block) ou [`mcp_tool_use`](https://platform.claude.com/docs/pt-BR/api/beta/messages#beta_mcp_tool_use_block).<br />**Managed Agents:** O ID do evento em que o agente pediu para usar a ferramenta: um evento [`agent.tool_use`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events#beta_managed_agents_agent_tool_use_event), [`agent.mcp_tool_use`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events#beta_managed_agents_agent_mcp_tool_use_event) ou [`agent.custom_tool_use`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events#beta_managed_agents_agent_custom_tool_use_event). |
| `anthropic.mcp.server.name`           | `string` | Apenas nos spans da API de ferramentas MCP. O nome do servidor MCP da ferramenta. Na Messages API, o [`server_name`](https://platform.claude.com/docs/pt-BR/api/beta/messages#beta_mcp_tool_use_block.server_name) do bloco [`mcp_tool_use`](https://platform.claude.com/docs/pt-BR/api/beta/messages#beta_mcp_tool_use_block).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `gen_ai.conversation.id`              | `string` | O ID da thread da sessão, conforme descrito em [Atributos de sessão](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#session-attributes). No executor de ferramentas de Messages, o ID de conversa passado com a [opção `conversation_id` (typescript, java, php: `conversationId`; csharp: `ConversationId`; go: `option.WithOpenTelemetryConversationID()`)](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry/sdk#configure-the-sdk), e ausente sem um. Ausente nos spans da API para uma requisição da Messages API.                                                                                                                                                                                                                                                                                                                                           |
| `anthropic.session.id`                | `string` | O ID da sessão. Ausente para um uso de ferramenta fora de uma sessão do Managed Agents, como na Messages API ou no executor de ferramentas de Messages.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `anthropic.session.thread.id`         | `string` | Apenas nos spans do SDK do executor de ferramentas de sessão. O ID da thread da sessão. Ausente para um uso de ferramenta na thread principal.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `anthropic.tool.evaluated_permission` | `string` | Apenas nos spans que a API emite em sessões do Managed Agents. O resultado da avaliação da [política de permissão](https://platform.claude.com/docs/pt-BR/managed-agents/permission-policies) para o uso da ferramenta: `allow` ou `ask`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `error.type`                          | `string` | O tipo de erro, se o uso da ferramenta falhou: `tool_error` quando o código da ferramenta gera um erro ou quando a ferramenta retorna um resultado de erro.<br />**API:** Na Messages API, o resultado de erro de uma ferramenta de servidor tem, em vez disso, seu [`error_code`](https://platform.claude.com/docs/pt-BR/api/messages#web_search_tool_result_error.error_code), por exemplo `max_uses_exceeded`. No Managed Agents, se a conexão com o servidor MCP falhou, `mcp_authentication_failed_error` quando a autenticação falhou, caso contrário `mcp_connection_failed_error`. Se a requisição falhou durante o uso da ferramenta, o [tipo de erro](https://platform.claude.com/docs/pt-BR/api/errors#http-errors) da requisição.                                                                                                                                                      |
| `gen_ai.tool.description`             | `string` | Apenas nos spans do SDK. A descrição na definição da ferramenta. Ausente quando a descrição está vazia.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `gen_ai.tool.type`                    | `string` | Apenas nos spans do SDK. `function`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `gen_ai.tool.call.arguments`          | `string` | <Badge>Conteúdo</Badge> Uma string JSON que segue o schema [`ToolCallArguments`](https://github.com/open-telemetry/semantic-conventions-genai/blob/e57c543b4889619eb2a05702471937db5119165d/model/gen-ai/gen-ai-tool-call-arguments.json) do OpenTelemetry. O [`input`](https://platform.claude.com/docs/pt-BR/api/messages#tool_use_block) do uso da ferramenta.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `anthropic.tool_result.content`       | `string` | <Badge>Conteúdo</Badge> Uma string JSON com um array de blocos de conteúdo ou com um objeto. O `content` do resultado da ferramenta que volta para o modelo. Também para um resultado de erro, exceto no Managed Agents quando a conexão com o servidor MCP falhou.<br />**API:** Na Messages API, um `content` do tipo string se torna um array com um bloco [`text`](https://platform.claude.com/docs/pt-BR/api/messages#text_block).                                                                                                                                                                                                                                                                                                                                                                                                                                                            |

### `anthropic.compaction`

* **Origem:** A API, para requisições da Messages API.
* **Tipo:** `INTERNAL`.
* **Pai:** O span [`anthropic.messages.create`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-messages-create) da requisição.
* **Filhos:** Nenhum.

O span tem os [atributos de uso de tokens](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#token-usage) da compactação. Em [`anthropic.messages.create`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-messages-create), o uso de uma compactação fica nos atributos `anthropic.usage.compaction.*` em vez dos totais `gen_ai.usage.*`.

| Atributo     | Tipo     | Descrição                                                                                                                                    |
| ------------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `error.type` | `string` | O [tipo de erro](https://platform.claude.com/docs/pt-BR/api/errors#http-errors) da requisição, se a requisição falhou durante a compactação. |

### `anthropic.session.outcome_evaluation`

* **Origem:** A API, para sessões do Managed Agents.
* **Tipo:** `INTERNAL`.
* **Pai:** O span [`anthropic.session.turn`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-session-turn) do turno que iniciou a iteração, mesmo que esse turno termine antes da iteração.
* **Filhos:** Nenhum.

O status não é definido quando o resultado é `interrupted` e é `OK` para qualquer outro resultado.

O span tem dois dos [atributos de uso de tokens](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#token-usage): `gen_ai.usage.input_tokens` e `gen_ai.usage.output_tokens`.

| Atributo                                           | Tipo     | Descrição                                                                                                    |
| -------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------ |
| `anthropic.session.outcome.id`                     | `string` | O ID do resultado que a iteração avalia.                                                                     |
| `anthropic.session.outcome_evaluation.result`      | `string` | O resultado da iteração: `satisfied`, `needs_revision`, `max_iterations_reached`, `failed` ou `interrupted`. |
| `anthropic.session.outcome_evaluation.iteration`   | `int`    | O número da iteração.                                                                                        |
| `anthropic.session.outcome_evaluation.explanation` | `string` | <Badge>Conteúdo</Badge> A explicação do resultado fornecida pelo avaliador, como texto simples.              |

### `anthropic.messages.tool_runner`

* **Origem:** O SDK.
* **Tipo:** `INTERNAL`.
* **Pai:** O span que está ativo na aplicação quando o loop começa, ou nenhum se nenhum span estiver ativo.
* **Filhos:** O span [`anthropic.messages.create`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-messages-create) para cada requisição no loop e o [span de ferramenta](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-tool-use-anthropic-mcp-tool-use-and-anthropic-custom-tool-use) de cada uso de ferramenta que o runner executa.

O span termina com o loop. Se a aplicação interromper o runner, o status não é definido. Se o código de uma ferramenta gerar um erro, seu span de ferramenta tem o status `ERROR` e o loop continua. O span não tem atributos de uso, então leia o uso a partir de seus filhos [`anthropic.messages.create`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-messages-create).

| Atributo                 | Tipo     | Descrição                                                                                                                                                                                                                                                                                |
| ------------------------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gen_ai.operation.name`  | `string` | `invoke_agent`                                                                                                                                                                                                                                                                           |
| `gen_ai.request.model`   | `string` | O modelo da primeira requisição no loop.                                                                                                                                                                                                                                                 |
| `gen_ai.conversation.id` | `string` | O ID da conversa passado com a [opção `conversation_id` (typescript, java, php: `conversationId`; csharp: `ConversationId`; go: `option.WithOpenTelemetryConversationID()`)](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry/sdk#configure-the-sdk). Ausente sem ela. |
| `error.type`             | `string` | O [tipo de erro](https://platform.claude.com/docs/pt-BR/api/errors#http-errors) da requisição que encerrou o loop, se o loop falhou. `client_error` quando o próprio runner falhou.                                                                                                      |
| `gen_ai.output.type`     | `string` | `json` quando as requisições definem o formato de saída como JSON. Ausente caso contrário.                                                                                                                                                                                               |

### `anthropic.messages.batches.<method>`

* **Origem:** O SDK, para cada método de Message Batches.
* **Tipo:** `CLIENT`.
* **Pai:** O span que está ativo na aplicação quando ela chama o método, ou nenhum se nenhum span estiver ativo.
* **Filhos:** Nenhum.

Os spans também têm os atributos de todo [span do SDK para uma requisição](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-resources-method).

| Atributo                                | Tipo     | Descrição                                                                                                                                         |
| --------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `anthropic.message.batch.id`            | `string` | O ID do lote sobre o qual o método atua ou, para `create`, o ID do novo lote. Ausente em `list` e em um `create` que falhou.                      |
| `anthropic.message.batch.request_count` | `int`    | Somente em `create`. O número de itens no array [`requests`](https://platform.claude.com/docs/pt-BR/api/messages/batches/create#create.requests). |

### `anthropic.sessions.<method>`

* **Origem:** O SDK e a API.
* **Tipo:** `CLIENT` a partir do SDK, `SERVER` a partir da API.
* **Pai do span do SDK:** O span que está ativo na aplicação quando ela chama o método, ou nenhum se nenhum span estiver ativo.
* **Pai do span da API:** O span no [cabeçalho `traceparent`](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry/api#connect-api-spans-to-your-own-traces) da requisição, que é o span do SDK quando a requisição vem do SDK, ou nenhum sem o cabeçalho.
* **Filhos do span do SDK:** O span da API para essa requisição.
* **Filhos do span da API:** Nenhum.

A API emite um span `anthropic.sessions.<method>` para cada requisição autenticada a um endpoint da [Sessions API](https://platform.claude.com/docs/pt-BR/managed-agents/sessions). Requisições que a plataforma envia em nome de um usuário, como uma mensagem enviada no Claude Console ou uma sessão que uma [implantação agendada](https://platform.claude.com/docs/pt-BR/managed-agents/scheduled-deployments) inicia, também têm um, cada uma em um novo trace.

<Accordion title="Nomes de spans e endpoints">
  | Span                                       | Endpoint                                                                                                                                     |
  | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
  | `anthropic.sessions.create`                | [`POST /v1/sessions`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/create)                                                       |
  | `anthropic.sessions.list`                  | [`GET /v1/sessions`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/list)                                                          |
  | `anthropic.sessions.retrieve`              | [`GET /v1/sessions/{session_id}`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/retrieve)                                         |
  | `anthropic.sessions.update`                | [`POST /v1/sessions/{session_id}`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/update)                                          |
  | `anthropic.sessions.delete`                | [`DELETE /v1/sessions/{session_id}`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/delete)                                        |
  | `anthropic.sessions.archive`               | [`POST /v1/sessions/{session_id}/archive`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/archive)                                 |
  | `anthropic.sessions.events.send`           | [`POST /v1/sessions/{session_id}/events`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events/send)                              |
  | `anthropic.sessions.events.list`           | [`GET /v1/sessions/{session_id}/events`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events/list)                               |
  | `anthropic.sessions.events.stream`         | [`GET /v1/sessions/{session_id}/events/stream`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/events/stream)                      |
  | `anthropic.sessions.resources.add`         | [`POST /v1/sessions/{session_id}/resources`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/resources/add)                         |
  | `anthropic.sessions.resources.list`        | [`GET /v1/sessions/{session_id}/resources`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/resources/list)                         |
  | `anthropic.sessions.resources.retrieve`    | [`GET /v1/sessions/{session_id}/resources/{resource_id}`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/resources/retrieve)       |
  | `anthropic.sessions.resources.update`      | [`POST /v1/sessions/{session_id}/resources/{resource_id}`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/resources/update)        |
  | `anthropic.sessions.resources.delete`      | [`DELETE /v1/sessions/{session_id}/resources/{resource_id}`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/resources/delete)      |
  | `anthropic.sessions.threads.list`          | [`GET /v1/sessions/{session_id}/threads`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/threads/list)                             |
  | `anthropic.sessions.threads.retrieve`      | [`GET /v1/sessions/{session_id}/threads/{thread_id}`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/threads/retrieve)             |
  | `anthropic.sessions.threads.archive`       | [`POST /v1/sessions/{session_id}/threads/{thread_id}/archive`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/threads/archive)     |
  | `anthropic.sessions.threads.events.list`   | [`GET /v1/sessions/{session_id}/threads/{thread_id}/events`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/threads/events/list)   |
  | `anthropic.sessions.threads.events.stream` | [`GET /v1/sessions/{session_id}/threads/{thread_id}/stream`](https://platform.claude.com/docs/pt-BR/api/beta/sessions/threads/events/stream) |
</Accordion>

O span tem os [atributos de sessão](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#session-attributes). O span do SDK também tem os atributos de todo [span do SDK para uma requisição](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-resources-method).

| Atributo     | Tipo     | Descrição                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `error.type` | `string` | O [tipo de erro](https://platform.claude.com/docs/pt-BR/api/errors#http-errors) de uma requisição que falhou, por exemplo `rate_limit_error`.<br />**SDK:** Também os outros valores em [spans do SDK para requisições](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-resources-method).<br />**API:** `api_error` quando a API fechou a conexão sem uma resposta de erro, ou quando um stream terminou por causa de uma falha na API. |

### `anthropic.environment.work`

* **Origem:** A CLI e o SDK em Python, TypeScript e Go.
* **Tipo:** `INTERNAL`.
* **Pai:** O span que está ativo na aplicação quando o environment worker ou o work poller obtém o item de trabalho, ou nenhum se nenhum span estiver ativo. Em `ant beta:worker poll`, o span é um span raiz.
* **Filhos:** Os spans para as requisições que o environment worker envia enquanto processa o item de trabalho e o [span de ferramenta](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-tool-use-anthropic-mcp-tool-use-and-anthropic-custom-tool-use) de cada ferramenta que ele executa para o item de trabalho.

O environment worker e o work poller são os [helpers do SDK](https://platform.claude.com/docs/pt-BR/managed-agents/self-hosted-sandboxes#sdk-helpers) que reivindicam itens de trabalho em um sandbox auto-hospedado. Eles emitem um span `anthropic.environment.work` para cada item de trabalho, desde quando um poll retorna o item de trabalho até o fim de seu processamento.

| Atributo                        | Tipo     | Descrição                                                                                                                                  |
| ------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `anthropic.environment.id`      | `string` | O ID do ambiente.                                                                                                                          |
| `anthropic.environment.work.id` | `string` | O ID do item de trabalho.                                                                                                                  |
| `anthropic.session.id`          | `string` | O ID da sessão à qual o item de trabalho pertence.                                                                                         |
| `error.type`                    | `string` | O `error.type` do span para a requisição que falhou, se uma requisição encerrou o processamento. `client_error` para qualquer outra falha. |

### `anthropic.<resources>.<method>`

* **Origem:** O SDK.
* **Tipo:** `CLIENT`.
* **Pai:** O span que está ativo na aplicação quando ela chama o método, ou nenhum se nenhum span estiver ativo.
* **Filhos:** Nenhum.

Cada método do SDK que envia uma requisição e não tem uma seção nesta página emite um span `anthropic.<resources>.<method>`, por exemplo `anthropic.models.list` ou `anthropic.files.upload`. A requisição de cada página posterior de uma listagem tem seu próprio span.

Um span cobre toda a sua requisição, incluindo novas tentativas, e tem cada atributo do span da API de mesmo nome quando o SDK tem o valor. O SDK define `http.request.method` e `http.route` quando inicia o span, para que um sampler possa usá-los.

Todo span do SDK para uma requisição, incluindo [`anthropic.messages.create`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-messages-create), [`anthropic.messages.count_tokens`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-messages-count-tokens) e [`anthropic.messages.batches.<method>`](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#anthropic-messages-batches-method), tem os seguintes atributos:

| Atributo                    | Tipo     | Descrição                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| --------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `gen_ai.conversation.id`    | `string` | O ID da conversa passado com a [opção `conversation_id` (typescript, java, php: `conversationId`; csharp: `ConversationId`; go: `option.WithOpenTelemetryConversationID()`)](https://platform.claude.com/docs/pt-BR/manage-claude/opentelemetry/sdk#configure-the-sdk). Sem ela, o ID do thread da sessão nas requisições do Managed Agents que [Atributos de sessão](https://platform.claude.com/docs/pt-BR/api/opentelemetry/spans#session-attributes) lista, e ausente em outras requisições. |
| `anthropic.<resource>.id`   | `string` | Um atributo para cada ID no caminho da requisição e um para o ID de um objeto que o método cria. O nome vem do caminho, no singular, por exemplo `anthropic.session.id` ou `anthropic.session.thread.id`.                                                                                                                                                                                                                                                                                        |
| `gen_ai.agent.id`           | `string` | O ID do agente, nos métodos de agente.                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `gen_ai.memory.store.id`    | `string` | O ID do memory store, nos métodos de memory store.                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `gen_ai.memory.record.id`   | `string` | O ID da memória, nos métodos de memória.                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `http.request.resend_count` | `int`    | O número de vezes que o SDK reenviou a requisição, por qualquer motivo, como uma nova tentativa. Ausente quando o SDK não a reenviou.                                                                                                                                                                                                                                                                                                                                                            |
| `error.type`                | `string` | O [tipo de erro](https://platform.claude.com/docs/pt-BR/api/errors#http-errors) de uma chamada que falhou, por exemplo `rate_limit_error`. O código de status HTTP, por exemplo `502`, quando a resposta de erro não tem um tipo de erro. `connection_error`, `client_timeout_error` ou `client_error` quando a chamada falhou no SDK. `api_error` quando o servidor encerrou um stream antecipadamente.                                                                                         |
| `server.address`            | `string` | O host da URL base do cliente, `api.anthropic.com` por padrão. No cliente de uma plataforma de nuvem, o host dessa plataforma.                                                                                                                                                                                                                                                                                                                                                                   |
| `url.query`                 | `string` | A query string da URL, apenas com os parâmetros de consulta que o endpoint define. Ausente quando não há nenhum. No modo somente metadados, ausente quando a consulta tem um parâmetro sensível, como `email`.                                                                                                                                                                                                                                                                                   |
| `url.full`                  | `string` | A URL, composta por `url.scheme`, `server.address`, a porta quando a URL base tem uma, `url.path` e `url.query`. No modo somente metadados, ausente sempre que esse modo omite `url.query`.                                                                                                                                                                                                                                                                                                      |
