配置 OBI OpenTelemetry 追踪采样
配置如何采样 OpenTelemetry 追踪。
OBI 接受标准的 OpenTelemetry 环境变量来配置追踪的采样率。
YAML 段:otel_traces_export.sampler
您可以在 YAML 配置的 otel_traces_export.sampler 部分下配置此组件,或通过环境变量进行配置。
otel_traces_export:
sampler:
name: 'traceidratio'
arg: '0.1'
| YAML 环境变量 | 描述 | 类型 | 默认值 |
|---|---|---|---|
name
| 指定采样器的名称。接受来自 OpenTelemetry 规范的标准采样器名称。有关详细信息,请参阅 采样器名称。 | 字符串 | parentbased_always_on |
arg
| 指定所选采样器的参数。只有 traceidratio 和 parentbased_traceidratio 需要参数。有关详细信息,请参阅 采样器参数。 | 字符串 | (未设置) |
采样器名称
name 属性接受以下标准采样器名称
always_on:对每个追踪进行采样。在流量很大的应用程序中,使用此采样器要小心:每个请求都会启动并导出一个新的追踪。always_off:不采样任何追踪。traceidratio:对一定比例的追踪进行采样(由arg属性指定)。比例必须是介于 0 和 1 之间的实数值。例如,值为"0.5"将采样 50% 的追踪。大于等于 1 的比例将始终采样。小于 0 的比例将被视为零。要尊重父追踪的采样配置,请使用parentbased_traceidratio采样器。parentbased_always_on(默认):always_on采样器的基于父级的版本。parentbased_always_off:always_off采样器的基于父级的版本。parentbased_traceidratio:traceidratio采样器的基于父级的版本。
基于父级的采样器是复合采样器,其行为根据追踪跨度的父级而有所不同。如果跨度没有父级,则使用根采样器来决定采样。如果跨度有父级,则采样配置取决于父级采样。
采样器参数
arg 属性指定所选采样器的参数。只有 traceidratio 和 parentbased_traceidratio 需要参数。
在 YAML 中,必须将此值提供为字符串。即使该值是数字,也要确保在 YAML 文件中将其用引号括起来(例如,arg: "0.25")。