

# 스팬, 이벤트 레코드 및 원격 측정 신호
<a name="supported-frameworks-telemetry"></a>

Amazon Bedrock AgentCore Evaluations는 에이전트의 동작을 이해하기 위해 두 개의 원격 측정 신호를 처리합니다.
+  **스팬**은 개별 작업을 설명합니다. 스팬에는 이름, 범위, 타임스탬프 및 속성과 같은 작업에 대한 메타데이터가 포함됩니다. 스팬에는 대화 콘텐츠가 포함되거나 해당 콘텐츠가 별도의 이벤트 레코드에 있을 수도 있습니다.
+  **이벤트 레코드**는 모델, 도구 및 에이전트의 입력 및 출력과 같은 `body` 필드에 페이로드 콘텐츠를 전달합니다. 이벤트 레코드는 공유 `traceId` 및에 의해 해당 범위와 상관관계가 있습니다`spanId`. 이벤트 레코드는 OpenTelemetry 이벤트 규칙을 따릅니다. 자세한 내용은 참조를 참조[하세요](#supported-frameworks-telemetry-references).

세션을 평가하려면 서비스에 범위와 해당하는 경우 상관관계가 있는 이벤트 레코드가 모두 필요합니다. 각 스팬에 대해 서비스는 다음을 수행합니다.

1. 프레임워크별 속성에서 스팬의 유형을 식별합니다. 자세한 내용은 프레임별 페이지를 참조하세요.

1. 사용자 프롬프트, 에이전트 응답, 도구 입력 및 출력 등 필요한 값을 읽습니다. 이러한 값은 스팬의 속성 또는 상관관계가 있는 이벤트 레코드에서 가져옵니다.

 **주제** 
+  [ADOT가 원격 측정을 분할하는 방법](#supported-frameworks-telemetry-collection) 
+  [스팬 및 이벤트 레코드가 저장되는 위치](#supported-frameworks-telemetry-location) 
+  [서비스가 콘텐츠를 읽는 위치](#supported-frameworks-telemetry-extraction) 
+  [참조](#supported-frameworks-telemetry-references) 

## ADOT가 원격 측정을 분할하는 방법
<a name="supported-frameworks-telemetry-collection"></a>

에이전트가 AWS Distro for OpenTelemetry(ADOT)를 사용하여 실행되면 원격 측정이 **분할**됩니다. 스팬을 내보낼 때 ADOT는 스팬 속성에서 큰 대화 콘텐츠(모델 프롬프트 및 완료, 도구 입력 및 출력)를 추출하여 별도의 **이벤트 레코드**로 내보냅니다. 결과 스팬에는 메타데이터와 작은 속성만 포함됩니다.

이 분할은 이벤트 레코드에 전체 대화 콘텐츠를 보존하지만 스팬 문서를 작게 유지합니다.

```
                          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)
```

분할 후 대화 콘텐츠는 이벤트 레코드`body`(예: `body.input.messages` 및 `body.output.messages`)에 존재하며 스팬에는 이를 분류하는 데 사용되는 식별 속성이 포함됩니다.

## 스팬 및 이벤트 레코드가 저장되는 위치
<a name="supported-frameworks-telemetry-location"></a>

ADOT는 원격 측정을 수집할 때 스팬 및 이벤트 레코드를 Amazon CloudWatch로 내보내지만 **다른** 위치로 내보냅니다.
+  **스팬**은 `aws/spans` 로그 그룹에 저장됩니다. 이 로그 그룹은 평가의 사전 조건인 **트랜잭션 검색**이 활성화될 때 생성됩니다. 트랜잭션 검색 활성화에 대한 자세한 내용은 [AgentCore 관찰성을](observability-telemetry.md) 참조하세요.
+  **이벤트 레코드**는 에이전트가 호스팅되는 위치에 따라 달라지는 로그 그룹에 저장됩니다.
  +  **Amazon Bedrock AgentCore 런타임의 경우**: 런타임은 로그 스트림의 `otel-rt-logs` 로그 그룹 `/aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>`에 이벤트 레코드를 내보내고이 내보내기를 구성합니다.
  +  **AgentCore 런타임 외부에서 호스팅됨**(예: Amazon Elastic Container Service(Amazon ECS), Amazon Elastic Kubernetes Service(Amazon EKS) 또는 AWS Lambda): 에이전트는 `OTEL_EXPORTER_OTLP_LOGS_HEADERS` 환경 변수를 통해 구성한 로그 그룹에 이벤트 레코드를 내보냅니다.

세션을 평가하기 위해 서비스는에서 범위를 읽고 적절한 로그 그룹의 상관관계가 있는 이벤트 레코드와 `aws/spans` 조인합니다.

## 서비스가 콘텐츠를 읽는 위치
<a name="supported-frameworks-telemetry-extraction"></a>

대화 콘텐츠는 프레임워크 및 계측 라이브러리에 따라 서로 다른 위치에 있을 수 있습니다. 평가 서비스는 어떤 위치에서든 읽습니다.
+  **이벤트 레코드 본문**: ADOT가 콘텐츠를 별도의 이벤트 레코드(위에 설명됨)로 분할하면 서비스는 범위와 `body` 상관관계가 있는 이벤트 레코드에서 콘텐츠를 읽습니다.
+  **스팬 속성**: 일부 계측 라이브러리는 스팬의 콘텐츠를 속성으로 유지합니다.
+  **인라인 스팬 이벤트**: 일부 계측 라이브러리는 콘텐츠를 스팬에 인라인 이벤트로 연결합니다.

스팬을 분류하는 데 사용되는 식별 속성은 모든 경우에 항상 스팬에 남아 있습니다. 여기에는 스팬을 호출 에이전트 스팬 또는 실행 도구 스팬으로 표시하는 속성이 포함됩니다. 더 큰 대화 콘텐츠의 위치만 다릅니다. 프레임별 페이지에는 각 계측 라이브러리의 식별 속성과 콘텐츠 위치가 모두 나열됩니다.

## 참조
<a name="supported-frameworks-telemetry-references"></a>

이러한 OpenTelemetry 사양은 AgentCore 평가의 기반이 되는 규칙을 설명합니다.
+  [트레이스 의미 체계: ](https://opentelemetry.io/docs/specs/semconv/general/trace/)스팬과 트레이스의 구조와 의미 체계입니다.
+  [이벤트 의미 체계 규칙](https://opentelemetry.io/docs/specs/semconv/general/events/): 이벤트 레코드의 구조 및 의미 체계입니다.
+  [생성형 AI 의미 체계 규칙](https://github.com/open-telemetry/semantic-conventions-genai): 에이전트, 모델 및 도구 작업을 설명하는 데 사용되는 `gen_ai.*` 속성입니다.