配置 Beyla OpenTelemetry 跟踪采样
Beyla 接受标准的 OpenTelemetry 环境变量来配置跟踪的采样比例。
此外,您可以在 otel_traces_export
部分的 sampler
YAML 子部分下配置采样。例如
otel_traces_export:
sampler:
name: "traceidratio"
arg: "0.1"
如果您使用 Grafana Alloy 作为您的 OTEL Collector,您可以在该层面配置采样策略。
YAML | 环境变量 | 类型 | 默认值 |
---|---|---|---|
name | OTEL_TRACES_SAMPLER | string | parentbased_always_on |
指定采样器的名称。它接受 OpenTelemetry 规范中的以下标准采样器名称
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
采样器的基于父级的版本(参见下面的解释)。
基于父级的采样器是复合采样器,其行为根据跟踪跨度的父级而异。如果跨度没有父级,则使用根采样器进行采样决策。如果跨度有父级,则采样配置将取决于采样父级。
YAML | 环境变量 | 类型 | 默认值 |
---|---|---|---|
arg | OTEL_TRACES_SAMPLER_ARG | string | (未设置) |
指定所选采样器的参数。目前,只有 traceidratio
和 parentbased_traceidratio
需要参数。
在 YAML 中,此值必须作为字符串提供,因此即使是数值,也要确保在 YAML 文件中将其用引号括起来(例如,arg: "0.25"
)。