菜单
文档breadcrumb arrow Beylabreadcrumb arrow 配置breadcrumb arrow 跟踪采样
Grafana Cloud

配置 Beyla OpenTelemetry 跟踪采样

Beyla 接受标准的 OpenTelemetry 环境变量来配置跟踪的采样比例。

此外,您可以在 otel_traces_export 部分的 sampler YAML 子部分下配置采样。例如

yaml
otel_traces_export:
  sampler:
    name: "traceidratio"
    arg: "0.1"

如果您使用 Grafana Alloy 作为您的 OTEL Collector,您可以在该层面配置采样策略。

YAML环境变量类型默认值
nameOTEL_TRACES_SAMPLERstringparentbased_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环境变量类型默认值
argOTEL_TRACES_SAMPLER_ARGstring(未设置)

指定所选采样器的参数。目前,只有 traceidratioparentbased_traceidratio 需要参数。

在 YAML 中,此值必须作为字符串提供,因此即使是数值,也要确保在 YAML 文件中将其用引号括起来(例如,arg: "0.25")。