Cloud Trace에서 trace와 스팬은 분산 애플리케이션을 통해 요청의 경로와 지연 시간을 추적하는 데 사용되는 데이터 모델을 구성합니다. trace 는 서비스 전반에서 요청이 엔드 투 엔드로 실행되는 방식을 캡처합니다. trace는 해당 요청 중에 발생하는 개별 작업, 함수 호출, RPC를 기록하는 스팬으로 구성됩니다.
Trace 데이터 모델
trace는 다음으로 구성됩니다.
Trace ID: 엔드 투 엔드 작업의 고유 식별자입니다. trace ID는 요청 컨텍스트에서 서비스 경계 전반에 전파됩니다.
스팬 컬렉션: 동일한 trace ID를 공유하는 스팬 집합입니다. 이러한 스팬은 요청의 호출 계층 구조를 나타내는 트리 또는 방향성 비순환 그래프를 형성합니다.
Cloud Trace는 trace ID를 사용하여 저장소에서 동일한 trace와 연결된 스팬을 식별합니다.
스팬 데이터 모델
스팬은 특정 기간 내에 발생한 단일 작업을 나타냅니다. 각 스팬에는 스팬 및 작업 상태에 대한 정보를 제공하는 필드가 포함되어 있습니다.
식별자에는 다음 필드가 포함됩니다.
- Trace ID: 스팬이 속한 전체 요청 또는 trace의 고유 식별자입니다.
- 스팬 ID: 스팬의 고유 식별자입니다. 단일 trace 내에서 작업이 여러 번 호출되면 각 호출은 이름은 동일하지만 고유한 스팬 ID를 가진 별도의 스팬을 생성합니다.
- 상위 스팬 ID: 이 스팬을 호출한 상위 작업을 식별합니다.
'루트' 스팬의 상위 스팬 ID는
null로 설정됩니다. - 이름: 수행된 작업의 이름입니다.
- 종류: 스팬 종류는 스팬이 서로 어떻게 관련되어 있는지에 관한 정보를 Trace 탐색기와 같은 추적 도구에 제공합니다. 자세한 내용은 OpenTelemetry SpanKind를 참고하세요.
실행 정보는 다음 필드에 제공됩니다.
- 상태: 작업의 완료 상태를 기록합니다. 이 필드의 값은
Unset(기본값),Error또는Ok입니다. 기본값은 오류를 나타내지 않습니다. - 시작 시간: 작업의 시작 시간입니다.
- 종료 시간: 작업의 종료 시간입니다.
- 상태: 작업의 완료 상태를 기록합니다. 이 필드의 값은
스팬에는 이벤트, 속성, 링크와 같은 다른 필드가 포함될 수 있습니다.
- 이벤트 는 스팬 내에서 타임스탬프가 찍힌 구조화된 메시지를 기록합니다.
- 속성 은 키-값 쌍을 사용하여 작업에 관한 추가 정보를 저장합니다. 속성을 작성할 때는 가능한 경우 OpenTelemetry 의미 체계 규칙을 따르는 것이 좋습니다.
- 링크 를 사용하면 스팬을 서로 연결할 수 있습니다.
자세한 내용은 OpenTelemetry: 스팬을 참고하세요.
리소스
OpenTelemetry 리소스:
다음 단계
- 컨텍스트 및 컨텍스트 전파에 대해 알아보기
- 샘플링에 대해 알아보기