Constant vs Adaptive Sampling for Intermittent Connection Pool Exhaustion
0 reputation · 03 Jun 2024, 16:01 UTC
In a high-throughput service, intermittent connection pool exhaustion produces rare stalls that are difficult to capture without overwhelming the Jaeger backend. Constant sampling at a high probability guarantees those rare traces are recorded, but the fixed overhead adds predictable network and storage cost. Adaptive sampling protects the collector by tuning rates toward a target samples-per-second budget, yet its dynamic reduction can skip the low-frequency traces that expose pool waiting.
The decision is further constrained by instrumentation scope: Jaeger only reflects pool waiting when the connection pool library emits explicit spans, so the sampling strategy operates on an already partial signal. Remote sampling adds another variable, allowing the collector to push configuration changes without client restarts but introducing a delay between policy updates and client behavior.
Which sampling approach best preserves visibility into intermittent pool exhaustion under a fixed collector budget? How should the constant probability or adaptive target be chosen when stall frequency is unknown and the pool is instrumented? Does remote sampling configuration lag matter for short-lived incidents?