awesome-everything RU
↑ Back to the climb

Observability

Trace propagation: multiple-choice review

Crux Multiple-choice synthesis across the trace-propagation unit — the W3C header, consistent sampling, tail-sampling collector limits, async boundaries, and silent production failures.
Your altitude — climbing toward senior
ZeroJuniorMiddleSenior
You are at senior altitude — in orbit
◷ 13 min

Six questions that cut across the whole unit. Each one mirrors a call you make in a real incident — not a definition to recite, but a propagation decision to weigh while a dashboard lies to you about how much you can see.

Goal

Confirm you can connect the W3C header format, consistent sampling, tail-sampling collector economics, async-boundary failures, and propagation observability — the synthesis the individual lessons built toward.

Quiz

A service receives 'traceparent: 99-aaaaaaaa-bbbbbbbb-01'. Per the W3C spec, what must it do, and why does this rule matter for the whole fleet?

Quiz

A team runs probabilistic head sampling at 1% across 12 services with no central coordinator. How do all 12 independently agree to keep or drop the same trace?

Quiz

A tail-sampling collector OOMs every few hours. Trace count is flat but spans-per-trace is climbing. What is the cause, and which 'fix' makes it worse?

Quiz

A Node service uses OTel HTTP auto-instrumentation. Work deferred via setTimeout, and messages it publishes to Kafka, both show up as orphan traces. What is the correct two-part fix?

Quiz

An internal service's orphan-span rate sits at 5% for a quarter while dashboards show full-looking traces. The team adds tail sampling hoping to clean it up. What is the core misunderstanding?

Quiz

A consumer pulls 1,000 Kafka messages and processes them in one batch. Modelling this as one parent span with 1,000 children OOMs the collector. What is the idiomatic fix and what does it preserve?

Recap

The unit’s through-line is one chain: the 55-byte W3C traceparent stitches services together, an invalid header means start fresh, and a uniformly random trace-id lets every service hash the same keep/drop verdict for consistent sampling. The tail-sampling collector trades RAM (active-traces × spans × bytes × window) for outcome-aware selection, so long-running traces and fan-in must be broken up with span-links. Async boundaries (setTimeout needs context.bind, queues need inject/extract) are the leading source of orphans — and because propagation fails silently, the orphan-span rate is the only metric that tells you the dashboard is lying.

Continue the climb ↑Trace propagation: free-recall review
shortcuts expand
search
K
prev piece
k
next piece
j
cycle tier
t
this menu
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.