Foundationপ্রথম নীতি থেকে
LEVEL 9 · Distributed Systems

Tail Sampling

টেইল স্যাম্পলিং

Trace শেষ হওয়ার পরে সিদ্ধান্ত — slow/error trace রাখুন, সুস্থগুলোর বেশিরভাগ ফেলে দিন; cost আর signal-এর সেতু।

Head vs tail:

head : request entry-তেই সিদ্ধান্ত → সস্তা, কিন্তু rare-slow trace
       হারানোর ঝুঁকি — ঠিক যেগুলো চাই সেগুলোই পালায়
tail : সব span buffer-এ → trace complete → policy:
       latency > p99? error? অস্বাভাবিক route? → keep; নাহলে random %
  • Buffering-এর দাম: collector-কে পুরো trace-এর spans জোড়া লাগাতে হয় — OpenTelemetry Collector tail_sampling processor, বা Jaeger remote storage
  • Policy stack সাধারণত: errors 100% + high-latency 100% + baseline 1–5% — observability budget সচেতন বণ্টন
  • Distributed system-এর lesson-ই: খারাপ খবর tail-এ থাকে — average-ভিত্তিক sampling ঠিক সেই tail-টাই blind করে রাখে