Observability · Cluster
Telemetry Pipelines
Collection, enrichment, and cost control.
- 01 Batching and Flush Policy in Telemetry Agents How size and time triggers interact in an export buffer, what per-request overhead a batch amortizes, and why an unbounded queue is not backpressure.
- 02 Push and Pull Collection Models and Who Owns the Sample Clock Why a scrape loop and a push agent produce different failure signals, how staleness replaces absence detection, and where each model breaks down at scale.
- 03 Head-Based Sampling by Trace-ID Threshold Why comparing the low bits of a trace identifier against a fraction gives an unbiased sample, and how propagation keeps the decision consistent across services.
- 04 Tail Sampling and the Cost of the Decision Window How a collector groups spans by trace identifier before deciding, why the wait is bounded, and what happens when spans of one trace land on different collectors.
- 05 Cardinality Control in Metric Pipelines Why label combinations explode faster than series limits expect, how aggregation drops dimensions, and what a pipeline can do when the limit is already exceeded.
- 06 Fan-Out Topologies and Duplicate Export What happens when one agent serves several backends, why a collector behind a load balancer exports each span twice, and how to keep retries from multiplying records.
- 07 Enrichment Order and Redaction in Flight Why the sequence of attribute processors changes the output, how a redaction rule can be undone by a later lookup, and where enrichment belongs in a pipeline.
- 08 Durable Buffers and the Cost of At-Least-Once Export What has to be true for a queue to survive a process restart, why a write-ahead log adds a disk round trip to the export path, and what at-least-once cannot promise.
- 09 Compression and the Real Cost of an Ingested Byte Why group varint framing makes a serialized batch compact, which codecs suit which signal, and how ingest pricing turns bytes in the wrong place into a bill.
- 10 Load Shedding and Retry Amplification How a collector decides what to discard when it cannot keep up, why synchronized retries sustain an outage, and how priority classes keep the useful signal alive.