配置 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

OTEL_TRACES_SAMPLER

指定采样器的名称。接受来自 OpenTelemetry 规范的标准采样器名称。有关详细信息,请参阅 采样器名称字符串parentbased_always_on
arg

OTEL_TRACES_SAMPLER_ARG

指定所选采样器的参数。只有 traceidratioparentbased_traceidratio 需要参数。有关详细信息,请参阅 采样器参数字符串(未设置)

采样器名称

name 属性接受以下标准采样器名称

  • always_on:对每个追踪进行采样。在流量很大的应用程序中,使用此采样器要小心:每个请求都会启动并导出一个新的追踪。
  • always_off:不采样任何追踪。
  • traceidratio:对一定比例的追踪进行采样(由 arg 属性指定)。比例必须是介于 0 和 1 之间的实数值。例如,值为 "0.5" 将采样 50% 的追踪。大于等于 1 的比例将始终采样。小于 0 的比例将被视为零。要尊重父追踪的采样配置,请使用 parentbased_traceidratio 采样器。
  • parentbased_always_on(默认):always_on 采样器的基于父级的版本。
  • parentbased_always_offalways_off 采样器的基于父级的版本。
  • parentbased_traceidratiotraceidratio 采样器的基于父级的版本。

基于父级的采样器是复合采样器,其行为根据追踪跨度的父级而有所不同。如果跨度没有父级,则使用根采样器来决定采样。如果跨度有父级,则采样配置取决于父级采样。

采样器参数

arg 属性指定所选采样器的参数。只有 traceidratioparentbased_traceidratio 需要参数。

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


最后修改于 2025 年 8 月 11 日:迁移 beyla 文档以支持 OBI (#7399) (c6df1ca9)