tail_sampling

July 9, 2026 ยท View on GitHub

tail_sampling

Internal Telemetry

The following telemetry is emitted by this component.

otelcol_processor_tail_sampling_count_bytes_sampled

Count of bytes that were sampled or not per sampling policy

UnitMetric TypeValue TypeMonotonicStability
BySumInttrueDevelopment

Attributes

NameDescriptionValuesSemantic Convention
policyName of the policyAny Str-
sampledWhether the sampling decision was sampled or not, false can mean either not sampled or droppedAny Bool-
decisionThe sampling decisionStr: sampled, not_sampled, dropped-

otelcol_processor_tail_sampling_count_spans_sampled

Count of spans that were sampled or not per sampling policy

UnitMetric TypeValue TypeMonotonicStability
{spans}SumInttrueDevelopment

Attributes

NameDescriptionValuesSemantic Convention
policyName of the policyAny Str-
sampledWhether the sampling decision was sampled or not, false can mean either not sampled or droppedAny Bool-
decisionThe sampling decisionStr: sampled, not_sampled, dropped-

otelcol_processor_tail_sampling_count_spans_with_unparseable_tracestate

Count of spans skipped while rewriting the effective th because their tracestate could not be parsed

UnitMetric TypeValue TypeMonotonicStability
{spans}SumInttrueDevelopment

otelcol_processor_tail_sampling_count_traces_sampled

Count of traces that were sampled or not per sampling policy

UnitMetric TypeValue TypeMonotonicStability
{traces}SumInttrueDevelopment

Attributes

NameDescriptionValuesSemantic Convention
policyName of the policyAny Str-
sampledWhether the sampling decision was sampled or not, false can mean either not sampled or droppedAny Bool-
decisionThe sampling decisionStr: sampled, not_sampled, dropped-

otelcol_processor_tail_sampling_early_releases_from_cache_decision

Number of spans that were able to be immediately released due to a decision cache hit.

UnitMetric TypeValue TypeMonotonicStability
{spans}SumInttrueDevelopment

Attributes

NameDescriptionValuesSemantic Convention
sampledWhether the sampling decision was sampled or not, false can mean either not sampled or droppedAny Bool-

otelcol_processor_tail_sampling_global_count_traces_sampled

Global count of traces that were sampled or not by at least one policy

UnitMetric TypeValue TypeMonotonicStability
{traces}SumInttrueDevelopment

Attributes

NameDescriptionValuesSemantic Convention
sampledWhether the sampling decision was sampled or not, false can mean either not sampled or droppedAny Bool-
decisionThe sampling decisionStr: sampled, not_sampled, dropped-

otelcol_processor_tail_sampling_new_trace_id_received

Counts the arrival of new traces

UnitMetric TypeValue TypeMonotonicStability
{traces}SumInttrueDevelopment

otelcol_processor_tail_sampling_sampling_decision_timer_latency

Latency (in milliseconds) of each run of the sampling decision timer

UnitMetric TypeValue TypeStability
msHistogramIntDevelopment

otelcol_processor_tail_sampling_sampling_late_span_age

Time (in seconds) from the sampling decision was taken and the arrival of a late span

UnitMetric TypeValue TypeStability
sHistogramIntDevelopment

otelcol_processor_tail_sampling_sampling_policy_evaluation_error

Count of sampling policy evaluation errors

UnitMetric TypeValue TypeMonotonicStability
{errors}SumInttrueDevelopment

otelcol_processor_tail_sampling_sampling_policy_execution_count

Total number of executions of a specific sampling policy

UnitMetric TypeValue TypeMonotonicStability
{executions}SumInttrueDevelopment

Attributes

NameDescriptionValuesSemantic Convention
policyName of the policyAny Str-

otelcol_processor_tail_sampling_sampling_policy_execution_time_sum

Total time spent (in microseconds) executing a specific sampling policy

UnitMetric TypeValue TypeMonotonicStability
usSumInttrueDevelopment

Attributes

NameDescriptionValuesSemantic Convention
policyName of the policyAny Str-

otelcol_processor_tail_sampling_sampling_trace_dropped_too_early

Count of traces that needed to be dropped before the configured wait time

UnitMetric TypeValue TypeMonotonicStability
{traces}SumInttrueDevelopment

otelcol_processor_tail_sampling_sampling_trace_removal_age

Time (in seconds) from arrival of a new trace until its removal from memory

UnitMetric TypeValue TypeStability
sHistogramIntDevelopment

otelcol_processor_tail_sampling_sampling_traces_on_memory

Tracks the number of traces current on memory

UnitMetric TypeValue TypeStability
{traces}GaugeIntDevelopment

otelcol_processor_tail_sampling_traces_dropped_too_large

Count of traces that were dropped because they were too large

UnitMetric TypeValue TypeMonotonicStability
{traces}SumInttrueDevelopment

Feature Gates

This component has the following feature gates:

Feature GateStageDescriptionFrom VersionTo VersionReference
processor.tailsamplingprocessor.metricstatcountbytessampledalphaWhen enabled, a new metric stat_count_bytes_sampled will be available in the tail sampling processor. Differently from stat_count_traces_sampled, this metric will count the number of bytes sampled or not per sampling policy, where the original counts traces.v0.152.0N/ALink
processor.tailsamplingprocessor.metricstatcountspanssampledalphaWhen enabled, a new metric stat_count_spans_sampled will be available in the tail sampling processor. Differently from stat_count_traces_sampled, this metric will count the number of spans sampled or not per sampling policy, where the original counts traces.v0.95.0N/ALink
processor.tailsamplingprocessor.recordpolicyalphaWhen enabled, attaches the name of the policy (and if applicable, composite policy) responsible for sampling a trace in the 'tailsampling.policy', 'tailsampling.composite_policy', and tailsampling.cached_decision attributes.v0.120.0N/ALink
processor.tailsamplingprocessor.tailstorageextensionalphaWhen enabled, allows configuring tail_storage to use a tail storage extension implementation.v0.150.0N/ALink
processor.tailsamplingprocessor.usetracestatealphaWhen enabled, sampling policies consult OpenTelemetry probability sampling information carried in W3C tracestate (the 'rv' and 'th' fields of the 'ot' section). The 'probabilistic' policy uses tracestate randomness for its sampling decision (falling back to the legacy FNV trace ID hash when no tracestate sampling info is present), and the processor rewrites the outgoing 'th' on sampled traces to the effective threshold across all matched policies.v0.154.0N/ALink

For more information about feature gates, see the Feature Gates documentation.