Configure Beyla OpenTelemetry trace sampling

Configure how to sample OpenTelemetry traces.

Estás viendo la versión en inglés de está página porque aún no ha sido traducida. ¿Te interesa ayudar? Mira en Contribuir.

Configure Beyla OpenTelemetry trace sampling

Beyla accepts the standard OpenTelemetry environment variables to configure the sampling ratio of traces.

You can also configure sampling under the sampler YAML subsection of the otel_traces_export section. For example:

otel_traces_export:
  sampler:
    name: 'traceidratio'
    arg: '0.1'

If you’re using Grafana Alloy as your OTEL collector, you can configure the sampling policy at that level instead.

YAML
environment variable
DescriptionTypeDefault
name
OTEL_TRACES_SAMPLER
Specifies the name of the sampler. Accepts standard sampler names from the OpenTelemetry specification. Refer to sampler name for details.stringparentbased_always_on
arg
OTEL_TRACES_SAMPLER_ARG
Specifies the argument for the selected sampler. Only traceidratio and parentbased_traceidratio require an argument. Refer to sampler argument for details.string(unset)

Sampler name

The name property accepts the following standard sampler names:

  • always_on: samples every trace. Be careful using this sampler in an application with significant traffic: a new trace will be started and exported for every request
  • always_off: samples no traces
  • traceidratio: samples a given fraction of traces (specified by the arg property). The fraction must be a real value between 0 and 1. For example, a value of "0.5" samples 50% of the traces. Fractions >= 1 always sample. Fractions < 0 are treated as zero. To respect the parent trace’s sampling configuration, use the parentbased_traceidratio sampler
  • parentbased_always_on (default): parent-based version of always_on sampler
  • parentbased_always_off: parent-based version of always_off sampler
  • parentbased_traceidratio: parent-based version of traceidratio sampler

Parent-based samplers are composite samplers that behave differently based on the parent of the traced span. If the span has no parent, the root sampler is used to make the sampling decision. If the span has a parent, the sampling configuration depends on the sampling parent.

Sampler argument

The arg property specifies the argument for the selected sampler. Only traceidratio and parentbased_traceidratio require an argument.

In YAML, you MUST provide this value as a string. Even if the value is numeric, make sure to enclose it in quotes in the YAML file (for example, arg: "0.25").


Última modificación July 10, 2025: Migrate beyla documentation for OBI (4e2cb561)