Here are the available policy types and their definitions. For more information on each of the policy types, refer to the Components documentation.
Policy type
Definition
always_sample
Samples every trace that it encounters. It’s useful for debugging or when you need to capture all data.
probabilistic
Samples a certain percentage of traces randomly. You can specify the sampling rate.
latency
Samples traces based on their duration. You can set a threshold, and any trace that exceeds that threshold is sampled.
boolean_attribute
Samples based on boolean attributes.
status_code
Samples traces based on their status code (for example, errors, success). This is very useful for capturing traces that contain errors.
string_attribute
Samples traces based on the values of string attributes.
Note
When using regular expressions (regex) in string attributes, you must explicitly enable regex matching in the configuration.
trace_state
Samples based on the values of the TraceState.
rate_limiting
Samples based on the rate of spans per second.
span_count
Samples based on the number of spans within a trace.
ottl_condition
Samples based on OpenTelemetry Transformation Language (OTTL) conditions. This allows very complex and specific filtering.
and
Allows you to combine multiple policies using a logical “AND” operation.
composite
Allows for a combination of samplers, with ordering, and rate allocation per sampler. This creates very flexible sampling strategies.
drop
Allows for a combination of specific conditions to discard unwanted traces before any other rules are evaluated. When you create a drop policy, make sure you also have an active sampling policy (like always_sample) otherwise all of your traces will be dropped.
Regex matching for string attributes
When using regular expressions (regex) in string attributes, you must explicitly enable regex matching in the configuration.
Set enabled_regex_matching to true for the corresponding attribute block.
Without this option, regex patterns are treated as plain text, and invalid regex syntax may cause errors during evaluation.
The enabled_regex_matching option is required only when using regex in string_attribute filters. If this field is omitted, regex patterns are not interpreted, and misconfigured expressions can lead to processor errors.
For additional reference, see the Agent tail_sampling string_attribute documentation.