This documentation has an index for AI agents at /llms.txt. A Markdown version of this page is available at https://explorer.opentelemetry.io/collector/components/contrib/adaptivetailsamplingprocessor.md.

Adaptive Tail Sampling Processor

OpenTelemetry Collector processor · contrib distribution

The Adaptive Tail Sampling Processor performs adaptive trace sampling using first-match rules-based routing to adaptive samplers. Each sampler produces a known sample rate which is encoded as ot=th in W3C TraceState for correct downstream metric weighting.

  • Component ID: contrib-adaptivetailsamplingprocessor
  • Name: adaptivetailsamplingprocessor
  • Type: processor
  • Distribution: contrib
  • Repository: opentelemetry-collector-contrib

Stability

LevelSignals
developmenttraces

Internal telemetry

MetricTypeValue typeUnitStabilityEnabledAttributesDescription
processor_adaptive_tail_sampling_decision_sample_ratehistogramint{rate}developmentyesDistribution of effective sample rates produced per rule. Useful for detecting adaptive samplers settling at unexpected rates.
processor_adaptive_tail_sampling_decision_triggerssum (monotonic)int{decisions}developmentyesNumber of trace decisions made, labelled by which event triggered the decision (root_span, trace_timeout, eviction, shutdown, span_limit).
processor_adaptive_tail_sampling_fingerprint_durationhistogramintusdevelopmentyesTime spent extracting a rule's fingerprint per decision, in microseconds, labelled by rule. A relative signal for spotting expensive fingerprints (wide scopes such as any. on large traces); absolute values depend on host and load.
processor_adaptive_tail_sampling_incoming_tracestate_unparseablesum (monotonic)int{spans}developmentyesNumber of spans whose incoming W3C tracestate could not be parsed when applying the sampling threshold.
processor_adaptive_tail_sampling_ottl_eval_errorssum (monotonic)int{errors}developmentyesNumber of OTTL condition evaluation errors, labelled by the rule the condition belongs to (_root_span_condition for the root-span condition).
processor_adaptive_tail_sampling_trace_span_counthistogramint{spans}developmentyesDistribution of buffered span counts per trace at decision time, labelled by rule. Useful for sizing span_limit against the real trace-size distribution.
processor_adaptive_tail_sampling_traces_activegaugeint{traces}developmentyesNumber of traces currently in the accumulation buffer awaiting a decision.
processor_adaptive_tail_sampling_traces_droppedsum (monotonic)int{traces}developmentyesNumber of traces that were dropped, labelled by the rule that selected them. Sentinel rule values are prefixed with an underscore (e.g. _unmatched, _eviction).
processor_adaptive_tail_sampling_traces_evictedsum (monotonic)int{traces}developmentyesNumber of traces evicted from the buffer due to num_traces pressure. Evicted traces are decided immediately per the configured eviction policy.
processor_adaptive_tail_sampling_traces_sampledsum (monotonic)int{traces}developmentyesNumber of traces that were sampled, labelled by the rule that selected them. Sentinel rule values are prefixed with an underscore (e.g. _eviction).

Data

  • JSON: /data/collector/components/contrib-adaptivetailsamplingprocessor/contrib-adaptivetailsamplingprocessor-d22d26eeffc4.json
  • Explore: /collector/components/contrib/adaptivetailsamplingprocessor