Menu Close
2.2.4.4. Jaeger 抽样配置选项
Operator 可用于定义抽样策略,以提供给已经被配置为使用远程 sampler 的 tracer。
虽然生成了所有 trace,但只有几个会被抽样。对某个 trace 进行抽样会标记该 trace 用于进一步处理和存储。
如果某个 trace 是由 Istio 代理启动的,则不相关,因为抽样决定是在那里做出的。只有在应用程序使用 Jaeger tracer 启动 trace 时,Jaeger 抽样决定才相关。
当服务收到不包含 trace 上下文的请求时,Jaeger tracer 会启动一个新的 trace,为它分配一个随机的 trace ID,并根据当前安装的抽样策略做出抽样决定。抽样决定被传播到 trace 中的所有后续请求,这样其他服务便不会再做出抽样决定。
Jaeger 库支持以下 sampler:
-
Probabilistic(概率) - sampler 做出一个随机抽样决定,其抽样的概率等于
sampling.param
属性的值。例如:如果 sample.param=0.1,则会对大约十分之一的 trace 进行抽样。 - Rate Limiting(速率限制) - sampler 使用泄漏存储桶速率限制器来确保 trace 使用某种恒定速率进行抽样。例如,当 sample.param=2.0 时,它将对请求进行抽样,速率是每秒 2 个 trace。
表 2.4. Jaeger 抽样选项
参数 | 描述 | 值 | 默认值 |
---|---|---|---|
spec: sampling: options: {} default_strategy: service_strategy: | 定义用于追踪的抽样策略的配置选项。 | 如果没有提供配置,则收集器会返回默认的概率抽样策略,所有服务都可能为 0.001(0.1%)。 | |
default_strategy: type: service_strategy: type: | 要使用的抽样策略。(请参阅上述描述。) |
有效值是 |
|
default_strategy: param: service_strategy: param: | 所选抽样策略的参数。 | 小数值和整数值 (0, .1, 1, 10) | 1 |
这个示例定义了一种概率性的默认抽样策略,trace 实例被抽样的几率为 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
如果没有用户提供的配置,Jaeger 将使用以下设置。
默认抽样
spec: sampling: options: default_strategy: type: probabilistic param: 1