

# Vãos, registros de eventos e sinais de telemetria
<a name="supported-frameworks-telemetry"></a>

O Amazon Bedrock AgentCore Evaluations processa dois sinais de telemetria para entender o comportamento do seu agente:
+  **Os intervalos** descrevem operações individuais. Um intervalo carrega metadados sobre uma operação: nome, escopo, timestamps e atributos. Um período também pode conter o conteúdo da conversa ou esse conteúdo pode estar em um registro de evento separado.
+  **Os registros de eventos** transportam o conteúdo da carga útil em um `body` campo: as entradas e saídas dos modelos, das ferramentas e do agente. Um registro de evento é correlacionado à sua extensão por um `traceId` e. `spanId` compartilhado. Os registros de eventos seguem a convenção de OpenTelemetry eventos. Para obter mais informações, consulte [Referências](#supported-frameworks-telemetry-references).

Para avaliar uma sessão, o serviço precisa dos períodos e, quando aplicável, dos registros de eventos correlacionados. Para cada período, o serviço faz o seguinte:

1. Identifica o tipo do intervalo a partir dos atributos específicos da estrutura. Para obter detalhes, consulte as páginas por estrutura.

1. Lê os valores necessários, como o prompt do usuário, a resposta do agente e as entradas e saídas da ferramenta. Esses valores vêm dos atributos do intervalo ou de seu registro de eventos correlacionado.

 **Tópicos** 
+  [Como o ADOT divide a telemetria](#supported-frameworks-telemetry-collection) 
+  [Onde os intervalos e os registros de eventos são armazenados](#supported-frameworks-telemetry-location) 
+  [Onde o serviço lê o conteúdo](#supported-frameworks-telemetry-extraction) 
+  [Referências](#supported-frameworks-telemetry-references) 

## Como o ADOT divide a telemetria
<a name="supported-frameworks-telemetry-collection"></a>

**Quando seu agente funciona com a AWS Distro for OpenTelemetry (ADOT), a telemetria é dividida.** **À medida que os intervalos são exportados, o ADOT extrai o grande conteúdo da conversa (solicitações e conclusões do modelo, entradas e saídas da ferramenta) dos atributos do intervalo e o emite como registros de eventos separados.** O intervalo resultante carrega somente metadados e pequenos atributos.

Essa divisão mantém a extensão de documentos pequenos, embora preserve todo o conteúdo da conversa nos registros de eventos.

```
                          ADOT collection (split)

   Instrumented agent
          |
          |  span with attributes + content
          v
   +--------------------+
   |       ADOT         |  extracts conversation content
   +--------------------+
          |                          |
          | span                     | event record(s)
          | (metadata, attributes)   | (body: input / output messages)
          v                          v
   +--------------------+   +-----------------------+
   |  aws/spans         |   |  event-record         |
   |  log group         |   |  log group            |
   +--------------------+   +-----------------------+
          |                          |
          +-----------+--------------+
                      v
            Evaluation service
       (joins span + event record by traceId / spanId)
```

Após a divisão, o conteúdo da conversa fica no registro do evento `body` (por exemplo, `body.input.messages` e`body.output.messages`), e o intervalo carrega os atributos de identificação usados para classificá-lo.

## Onde os intervalos e os registros de eventos são armazenados
<a name="supported-frameworks-telemetry-location"></a>

**Quando o ADOT coleta telemetria, ele exporta intervalos e registros de eventos para a Amazon CloudWatch, mas para locais diferentes.**
+  **Os intervalos** são armazenados no grupo de `aws/spans` registros. Esse grupo de registros é criado quando a **Pesquisa de Transações** está ativada, o que é um pré-requisito para avaliação. Para obter detalhes sobre como ativar a Pesquisa de Transações, consulte [AgentCore Observabilidade](observability-telemetry.md).
+  Os **registros de eventos** são armazenados em um grupo de registros que depende de onde seu agente está hospedado:
  +  **No Amazon Bedrock AgentCore Runtime**: o Runtime emite registros de eventos para seu grupo de logs`/aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>`,, no stream de `otel-rt-logs` log, e configura essa exportação para você.
  +  **Hospedado fora do AgentCore Runtime** (por exemplo, no Amazon Elastic Container Service (Amazon ECS), no Amazon Elastic Kubernetes Service (Amazon EKS) ou no Lambda) AWS : seu agente emite registros de eventos para o grupo de log que você configura por meio da variável de ambiente. `OTEL_EXPORTER_OTLP_LOGS_HEADERS`

Para avaliar uma sessão, o serviço lê os trechos `aws/spans` e os une aos registros de eventos correlacionados do grupo de registros apropriado.

## Onde o serviço lê o conteúdo
<a name="supported-frameworks-telemetry-extraction"></a>

O conteúdo da conversa pode estar em lugares diferentes, dependendo da estrutura e da biblioteca de instrumentação. O serviço de avaliação o lê de qualquer local que o contenha:
+  **Corpo do registro de eventos**: quando o ADOT divide o conteúdo em um registro de evento separado (descrito acima), o serviço o lê do registro de eventos `body` correlacionado ao período.
+  **Atributos de extensão**: algumas bibliotecas de instrumentação mantêm o conteúdo na extensão como atributos.
+  **Eventos de extensão embutida**: algumas bibliotecas de instrumentação anexam o conteúdo à extensão como eventos embutidos.

Os atributos de identificação usados para classificar um intervalo sempre permanecem no intervalo em todos os casos. Isso inclui o atributo que marca uma extensão como uma extensão do agente de invocação ou uma extensão da ferramenta de execução. Somente a localização do conteúdo maior da conversa é diferente. As páginas por estrutura listam os atributos de identificação e os locais de conteúdo de cada biblioteca de instrumentação.

## Referências
<a name="supported-frameworks-telemetry-references"></a>

Essas OpenTelemetry especificações descrevem as convenções nas quais as AgentCore avaliações se baseiam:
+  [Convenções semânticas de rastreamento](https://opentelemetry.io/docs/specs/semconv/general/trace/): a estrutura e a semântica de extensões e traços.
+  [Convenções semânticas de eventos](https://opentelemetry.io/docs/specs/semconv/general/events/): a estrutura e a semântica dos registros de eventos.
+  [Generative-AI convenções semânticas](https://github.com/open-telemetry/semantic-conventions-genai): os `gen_ai.*` atributos usados para descrever as operações do agente, do modelo e da ferramenta.