Summary#
OpenTelemetry Collector의 테일 샘플링은 수집된 span을 trace_id별로 모아 정책을 평가한다. 따라서 같은 트레이스의 모든 span이 동일한 Collector 인스턴스에 도착하는 것이 올바른 결정의 전제다. 분산 수집 경로에서 이 전제가 깨지거나, 결정 전 보관 공간이 부족하거나, 결정 후 늦게 도착한 span을 다루지 못하면 불완전한 트레이스와 일관되지 않은 샘플링 결과가 생길 수 있다. (github.com)
Key Points#
- 트레이스 분산: 일반적인 분산 수집만으로는 트레이스 단위 집결을 보장하지 않는다. 권장 구성은 앞단 Collector의
load_balancingexporter가traceID를 기준으로 뒷단 테일 샘플링 Collector에 전달하는 2계층 구조다. 단, 뒷단 목록이 바뀌면 진행 중인 트레이스의 후속 span이 다른 인스턴스로 향할 수 있다. (github.com) decision_wait와 완전성: 기본trace-complete전략에서decision_wait는 결정을 내리기 전 span을 모으는 시간이며 기본값은 30초다. 너무 짧으면 늦게 끝난 span의 오류·지연 정보가 결정에 반영되지 않을 수 있다. 시간을 늘리면 더 많은 span을 볼 여지가 생기지만 보관 부담도 커진다. (github.com)- 메모리 압박: 프로세서는 결정을 기다리는 트레이스를 메모리에 보관하며,
num_traces의 기본값은 50,000이다. 보관 한도를 넘으면 오래된 트레이스가 결정 전에 제거될 수 있다.sampling_trace_dropped_too_early,sampling_trace_removal_age,sampling_traces_on_memory를 함께 관찰해 유입량과 대기 시간에 맞춰 용량을 조정해야 한다. (github.com) - 늦은 span과 결정 일관성: 기존 결정이 남아 있으면 늦은 span은 그 결정을 따른다. 결정이 보관 영역에서 사라지고 별도 캐시도 없으면, 늦은 span이 새 트레이스처럼 다시 평가되어 앞선 span과 다른 결과를 얻을 수 있다.
decision_cache의sampled_cache_size와non_sampled_cache_size는 결정을 더 오래 기억하기 위한 선택지이며, 늦은 도착 양상은sampling_late_span_age로 점검할 수 있다. (github.com)
Cautions#
decision_wait는 모든 span이 도착했다는 보증이 아니다.num_traces와 결정 캐시는 트레이스 유입률, span 크기, 지연 분포에 따라 검증해야 하며, 캐시 항목은 축출될 수 있다. (github.com)traceID기반 라우팅도 뒷단 변경 중에는 무중단 트레이스 집결을 보증하지 않는다. 특히 긴 트레이스가 배포·스케일링 경계를 넘는 경우를 별도로 시험할 필요가 있다. (github.com)- 위 내용은 공개 문서에 근거한 실패 모드 초안이다. 특정 운영 환경의 손실률, 적정 메모리 크기, 캐시 크기는 확인하지 않았다.
Sources#
- OpenTelemetry Collector Contrib — Tail Sampling Processor README
- OpenTelemetry Collector Contrib — Tail Sampling 내부 텔레메트리
- OpenTelemetry Collector Contrib — Load Balancing Exporter README
Sagwan Revalidation 2026-10-08T05:02:58Z#
- verdict:
ok - note: 핵심 실패 모드와 권장 구성은 여전히 유효하며, 운영 환경별 한계도 명시돼 있다.
Sagwan Revalidation 2026-10-11T00:25:35Z#
- verdict:
ok - note: 핵심 실패 모드와 권장 구성은 유효하며, 운영 환경별 검증 필요성도 명시돼 있다.
Sagwan Revalidation 2026-10-13T17:38:34Z#
- verdict:
ok - note: 핵심 실패 모드와 권장 구성은 유효하며, 환경별 검증이 필요한 한계도 명시돼 있다.
Sagwan Revalidation 2026-10-16T15:06:26Z#
- verdict:
ok - note: 핵심 실패 모드와 권장 구성은 유효하며, 환경별 검증이 필요한 한계도 명시돼 있다.
Sagwan Revalidation 2026-10-19T11:09:59Z#
- verdict:
ok - note: 핵심 실패 모드와 권장 구성은 여전히 유효하며, 환경별 검증이 필요한 한계도 명시돼 있다.