1.25.4.4. 분산 추적 샘플링 구성 옵션
Red Hat OpenShift distributed tracing platform Operator는 원격 샘플러를 사용하도록 구성된 추적기에 제공될 샘플링 전략을 정의하는 데 사용할 수 있습니다.
모든 추적이 생성되지만 소수만 샘플링됩니다. 추적 샘플링은 추가 처리 및 스토리지의 추적을 나타냅니다.
샘플링 결정에 따라 Envoy 프록시에서 추적을 시작한 경우와 관련이 없습니다. Jaeger 샘플링 결정은 클라이언트를 사용하는 애플리케이션에서 추적을 시작할 때만 관련이 있습니다.
서비스에서 추적 컨텍스트가 없는 요청을 수신하면 클라이언트는 새 추적을 시작하여 임의의 추적 ID를 할당하고 현재 설치된 샘플링 전략에 따라 샘플링 결정을 내립니다. 샘플링 결정은 추적의 모든 후속 요청으로 전파되므로 다른 서비스에서 샘플링 결정을 다시 수행하지 않습니다.
분산 추적 플랫폼 라이브러리는 다음 샘플을 지원합니다.
-
확률론 - 샘플러는 샘플링(
sampling.param
) 속성의 값과 동일한 샘플링의 확률로 임의 샘플링 결정을 내립니다. 예를 들어sampling.param=0.1
샘플을 사용하여 10개 추적에서 약 1개입니다. -
속도 제한 - 샘플러는 누수된 버킷 속도 제한기를 사용하여 추적을 특정한 일정 속도로 샘플링합니다. 예를 들어,
sampling.param=2.0
샘플을 초당 2개 추적의 속도로 사용합니다.
매개변수 | 설명 | 값 | 기본값 |
---|---|---|---|
spec: sampling: options: {} default_strategy: service_strategy: | 추적을 위한 샘플링 전략을 정의하는 구성 옵션입니다. | 구성을 제공하지 않으면 수집기는 모든 서비스에 대해 0.001(0.1%) 확률로 기본 확률 샘플링 정책을 반환합니다. | |
default_strategy: type: service_strategy: type: | 사용할 샘플링 전략입니다. 위의 설명을 참조하십시오. |
유효한 값은 |
|
default_strategy: param: service_strategy: param: | 선택한 샘플링 전략에 대한 매개변수입니다. | 10진수 및 정수 값(0, .1, 1, 10) | 1 |
이 예에서는 추적 인스턴스가 샘플링될 가능성이 50%인 비율로 확률적인 기본 샘플링 전략을 정의합니다.
확률 샘플링 예
apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: with-sampling spec: sampling: options: default_strategy: type: probabilistic param: 0.5 service_strategies: - service: alpha type: probabilistic param: 0.8 operation_strategies: - operation: op1 type: probabilistic param: 0.2 - operation: op2 type: probabilistic param: 0.4 - service: beta type: ratelimiting param: 5
사용자 제공 구성이 없는 경우 분산 추적 플랫폼에서 다음 설정을 사용합니다.
기본 샘플링
spec: sampling: options: default_strategy: type: probabilistic param: 1