Grafana Cloud

Policy types

Here are the available policy types and their definitions. For more information on each of the policy types, refer to the Components documentation.

Policy typeDefinition
always_sampleSamples every trace that it encounters. It’s useful for debugging or when you need to capture all data.
probabilisticSamples a certain percentage of traces randomly. You can specify the sampling rate.
latencySamples traces based on their duration. You can set a threshold, and any trace that exceeds that threshold is sampled.
boolean_attributeSamples based on boolean attributes.
status_codeSamples traces based on their status code (for example, errors, success). This is very useful for capturing traces that contain errors.
string_attributeSamples 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_stateSamples based on the values of the TraceState.
rate_limitingSamples based on the rate of spans per second.
span_countSamples based on the number of spans within a trace.
ottl_conditionSamples based on OpenTelemetry Transformation Language (OTTL) conditions. This allows very complex and specific filtering.
andAllows you to combine multiple policies using a logical “AND” operation.
compositeAllows for a combination of samplers, with ordering, and rate allocation per sampler. This creates very flexible sampling strategies.
dropAllows 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.

Example

{
  "key": "foo",
  "values": [
    "normal-value",
    "regex-value.*"
  ],
  "enabled_regex_matching": true
}

Note

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.