스팬과 트레이스에서 커스텀 메트릭 생성하기 (Generate Custom Metrics from Spans and Traces)
수집된 스팬과 완전한 트레이스에서 커스텀 메트릭을 만들어 추세를 추적하고, 대시보드를 지원하고, 몬니터를 트리거할 수 있어요. 전체 트레이스 분석을 위해 보관되지 않는 스팬과 트레이스에서도 가능해요.
출처: 문서
본문
개요 (Overview)
수집된 스팬에서 커스텀 메트릭을 생성해 추세를 추적하고, 대시보드를 지원하고, 몬니터를 트리거하세요. 전체 트레이스 분석을 위해 보관되지 않는 스팬과 트레이스에서도 가능해요.
커스텀 메트릭은 보존 필터(retention filter)가 해당 스팬을 인덱싱하는지 여부와 관계없이 Datadog APM이 수집한 스팬에서 만들어져요. 스팬에서 숫자 값(카운트, 지속 시간, 커스텀 태그 등)이나 트레이스(엔드투엔드 트레이스 지속 시간)를 추출해 15개월 보존 기간의 장수명 커스텀 메트릭으로 저장해요.
참고 사항:
- Datadog는 애플리케이션 트래픽의 100%에 대해 요청 카운트, 오류율, 지연 분포를 캡처하는 트레이스 메트릭(Trace Metrics)을 자동으로 생성해요.
- 커스텀 메트릭 생성에 사용 가능한 스팬은 APM 수집 제어 설정에 따라 달라져요. 샘플링이나 필터링으로 드롭된 스팬은 메트릭을 생성할 수 없어요.
스팬 기반 커스텀 메트릭을 다음과 같은 용도로 사용하세요:
- 스팬 수준 지연, 오류율, 태그 수준 성능에 대한 세밀한 가시성
- 저지연·고해상도 메트릭으로 이상(anomaly) 또는 예측(forecast) 몬니터 지원
- 전체 스팬을 보관하지 않고 트렌딩이나 알림을 위한 핵심 신호 추출
트레이스 기반 커스텀 메트릭을 사용할 때 (When to use custom metrics from traces)
Datadog는 트레이스 쿼리(Trace Queries)에서 메트릭을 생성할 수 있게 해 줘요.
트레이스 기반 커스텀 메트릭을 다음과 같은 용도로 사용하세요:
- 전체 트레이스 지속 시간이나 트레이스별 작업 수 등 완전한 트레이스 컨텍스트에서 파생된 메트릭
- 전체 트레이스 지식이 필요한 조건에 대한 알림(예: N+1 쿼리 감지, 팬아웃 패턴)
- 전체 트레이스를 보관하지 않고 트렌딩이나 알림을 위한 핵심 신호 추출
스팬 또는 트레이스에서 메트릭 만들기 (Create a metric from spans or traces)
- APM > Generate Metrics로 이동하세요.
- New Metric을 클릭하세요.
- 메트릭 명명 규칙에 따라 메트릭 이름을 지정하세요.
trace.*로 시작하는 메트릭 이름은 허용되지 않아요. - 메트릭 유형을 선택하세요: Spans 또는 Traces. 둘 다 APM Search 및 Analytics와 동일한 쿼리 구문을 사용해요.
- 측정할 스팬이나 트레이스만 포함하도록 메트릭 쿼리를 정의하세요.
- 집계할 값을 선택하세요:
*를 선택하면 일치하는 모든 스팬 또는 트레이스를 카운트해요.- 숫자 속성(예:
@cassandra_row_count)을 입력하면 카운트, min, max, sum, 백분위수를 집계·추적해요.
- 그룹핑 차원을 설정하세요. 기본적으로 태그를 추가하지 않으면 메트릭에 태그가 없어요. 스팬 속성이나 태그를 사용해 메트릭 태그를 만들 수 있어요.
- 데이터 시각화와 라이브 미리보기의 일치하는 스팬·트레이스를 통해 쿼리가 실시간으로 미치는 영향을 미리 보세요.
- Create Metric을 클릭하세요.
경고: 스팬 기반 메트릭은 커스텀 메트릭으로 간주되어 그에 따라 청구돼요. 타임스탬프, 사용자 ID, 요청 ID, 세션 ID처럼 바운드되지 않거나 높은 카디널리티 속성으로 그룹핑하지 마세요. 청구에 영향을 줄 수 있어요.
기존 메트릭 업데이트하기 (Update existing metrics)
메트릭이 생성된 후에는 두 필드만 업데이트할 수 있어요:
| 필드 | 이유 |
|---|---|
| Stream filter query | 메트릭으로 집계할 일치하는 스팬 집합 변경 |
| Aggregation groups | 생성된 메트릭의 카디널리티를 관리하기 위한 태그 업데이트 |
참고: 메트릭 유형이나 이름을 변경하려면 새 메트릭을 만들고 기존 메트릭을 삭제하세요.
데이터 가용성 (Data availability)
트레이스에서 생성된 메트릭은 트레이스가 완료된 후에 방출돼요. 오래 실행되는 트레이스의 경우 지연이 그만큼 늘어나요(예: 45분 트레이스의 메트릭은 트레이스가 완료될 때까지 방출될 수 없어요).
몬니터에서 트레이스 기반 커스텀 메트릭을 사용할 때는 오탐을 피하기 위해 이 지연 시간을 고려하세요.