Span 태그 의미론 (Span Tag Semantics)
분산 시스템에서 생성되는 스팬에는 해당 작업 단위에 대한 추가 정보를 담은 스팬 태그가 붙어요. 이 페이지에서는 스팬 태그와 스팬 속성의 차이, 그리고 이름 짓는 규약(naming convention)이 어떻게 구성되는지 설명해요.
출처: 문서
본문
개요 (Overview)
Datadog SDK는 다양한 라이브러리를 계측할 수 있는 기본 지원을 제공해요. 이런 계측은 분산 시스템에서 논리적 작업 단위를 나타내는 스팬을 생성해요. 각 스팬은 시스템에서 발생하는 작업 단위에 대한 추가 정보를 제공하는 스팬 태그로 구성돼요. 이름 규약(naming convention)은 스팬 이벤트에서 사용할 수 있는 이름과 내용을 설명해요.
모든 스팬 태그, 예약 속성, 이름 규약의 전체 목록은 기본 표준 속성 (Default Standard Attributes)에서 확인할 수 있어요.
스팬 태그 이름 규약 (Span tag naming conventions)
시스템에서 발생하는 작업을 설명하는 스팬 태그는 다양해요. 예를 들어 다음 영역을 설명하는 스팬 태그가 있어요.
- 예약 (Reserved): 모든 스팬에 항상 존재하는 속성.
- 핵심 (Core): 사용된 계측과 작업 종류.
- 네트워크 통신 (Network communications): 네트워크 통신에 해당하는 작업 단위.
- HTTP 요청 (HTTP requests): HTTP 클라이언트·서버 스팬.
- 데이터베이스 (Database): 데이터베이스 스팬.
- 메시지 큐 (Message queue): 메시징 시스템 스팬.
- 원격 프로시저 호출 (Remote procedure calls): RMI나 gRPC 같은 원격 프로시저 호출에 해당하는 스팬.
- 오류 (Errors): 스팬과 관련된 오류.
자세한 내용은 기본 표준 속성을 참고하세요.
스팬 태그와 스팬 속성 (Span tags and span attributes)
스팬 태그와 스팬 속성은 비슷하지만 서로 다른 개념이에요.
- 스팬 태그는 스팬과 관련된 문맥(context)을 제공해요. 예를 들어 서비스가 실행 중인 인프라의 호스트·컨테이너 태그가 해당돼요.
- 스팬 속성은 스팬의 내용으로, 애플리케이션에서 자동 또는 수동 계측으로 수집돼요.
스팬 태그 (Span tags)
스팬 태그는 스팬과 관련된 문맥을 제공해요. 예를 들어 서비스가 실행 중인 인프라의 호스트·컨테이너 태그가 해당돼요. 더 많은 예시는 다음과 같아요.
- 호스트 태그:
hostname,availability-zone,cluster-name - 컨테이너 태그:
container_name,kube_deployment,pod_name
추가되는 태그 목록은 Kubernetes, Docker, Amazon ECS 문서에서 확인할 수 있어요.
태그는 보통 호스트, 컨테이너, Catalog 등 다른 데이터 소스에서 가져와 강화(enrich)돼요. 이런 태그는 문맥을 설명하기 위해 스팬에 추가되죠. 예를 들어 스팬이 오는 호스트·컨테이너의 속성, 또는 스팬을 내보낸 서비스의 속성을 설명할 수 있어요.
Datadog에서 스팬 태그를 찾으려면 Trace 사이드 패널에서 Infrastructure 탭으로 이동하세요.
스팬 속성 (Span attributes)
스팬 속성은 스팬의 내용으로, 애플리케이션에서 자동 또는 수동 계측으로 수집돼요. 예시는 다음과 같아요.
http.urlhttp.status_codeerror.message
스팬 속성을 쿼리하려면 검색창에 @ 문자 다음에 속성 이름을 사용하세요. 예를 들어 @http.url처럼요.
Datadog에서 스팬 속성을 찾으려면 Trace 사이드 패널에서 Info 탭으로 이동하세요.