# tail-based-sampling

Published articles for tail-based-sampling.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## How to Use Message Bus DLQs for Advanced Tail-Based Sampling

DevFeed: [How to Use Message Bus DLQs for Advanced Tail-Based Sampling](<https://devfeed.tech/articles/how-to-use-message-bus-dlqs-for-advanced-tail-based-sampling-115704.md>)

Original publisher: [Read original article](<https://hackernoon.com/how-to-use-message-bus-dlqs-for-advanced-tail-based-sampling?source=rss>)

Author: Stephen Tsoi

Published: 2026-11-03T21:13:20Z

Content type: article

Language: en

Sources: [HackerNoon](<https://devfeed.tech/sources/hackernoon.md>)

Topics: [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [Publish-subscribe pattern](<https://devfeed.tech/topics/pubsub.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>), [event driven](<https://devfeed.tech/topics/event-driven.md>), [Cloud Architecture](<https://devfeed.tech/topics/cloud-architecture.md>)

Tags: [2](<https://devfeed.tech/tags/2.md>), [abstraction](<https://devfeed.tech/tags/abstraction.md>), [active-active](<https://devfeed.tech/tags/active-active.md>), [addition](<https://devfeed.tech/tags/addition.md>), [agents](<https://devfeed.tech/tags/agents.md>), [all](<https://devfeed.tech/tags/all.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [based](<https://devfeed.tech/tags/based.md>), [bus](<https://devfeed.tech/tags/bus.md>), [collector](<https://devfeed.tech/tags/collector.md>), [dead-letter-queues](<https://devfeed.tech/tags/dead-letter-queues.md>), [design](<https://devfeed.tech/tags/design.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [distributed-tracing](<https://devfeed.tech/tags/distributed-tracing.md>), [eda](<https://devfeed.tech/tags/eda.md>), [event](<https://devfeed.tech/tags/event.md>), [event-driven-architecture](<https://devfeed.tech/tags/event-driven-architecture.md>), [memory](<https://devfeed.tech/tags/memory.md>), [message](<https://devfeed.tech/tags/message.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [opentelemtry-collector](<https://devfeed.tech/tags/opentelemtry-collector.md>), [point](<https://devfeed.tech/tags/point.md>), [sampling](<https://devfeed.tech/tags/sampling.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [tail-based-sampling](<https://devfeed.tech/tags/tail-based-sampling.md>), [telemetry-pipelines](<https://devfeed.tech/tags/telemetry-pipelines.md>), [with](<https://devfeed.tech/tags/with.md>)

### AI overview

The excerpt proposes using a message bus's queue TTL and Dead Letter Queue (DLQ) as the buffer window for OpenTelemetry tail-based sampling. Tier-1 collectors publish spans with mandatory Span Type and Trace ID headers to trace-specific topics; a shared queue retains messages for 30 seconds, then moves unconsumed messages to the DLQ. A tier-2 collector uses an expired root span as a trigger, retrieves spans with the same Trace ID from the active and dead-message queues, applies sampling rules, batches qualified traces to the APM backend, and discards unqualified traces. The buffer duration can be changed dynamically. The design aims to shift buffering and coordination out of collectors, but it is presented as a proposed enterprise pattern, not official OpenTelemetry reference architecture. It also requires message-bus integration and may require custom exporters where broker components are unavailable; Redis or another store is optional for trace metadata and global sampling settings.

### Source excerpt

Discover how to eliminate OpenTelemetry memory bottlenecks by replacing point-to-point collector connections with an Event-Driven Architecture (EDA) design.