Head-based: decide at span start. Cheap; misses errors statistically.
Tail-based: collect all spans for a trace, decide at trace completion. Keep all error traces + all slow traces (>p99) + N% normal. Far better debuggability per dollar.
Implemented in OTel Collector tail-sampling processor, Honeycomb refinery.