pub fn populate_run_pooled_taobench_distribution(stats: &mut ScenarioStats)Expand description
Inject the taobench WHOLE-RUN open-loop serve-latency percentiles into
stats.ext_metrics as the taobench_serve_*_us_whole keys, re-pooled
run-level by UNIONING the per-phase per-cgroup serve PlatStats histograms
(stats.phases[].per_cgroup[].taobench.serve_lat) across every step-attributed
phase and every cgroup, then re-deriving each percentile / min / max over the
merged histogram (PlatStats::combine is an associative bucket-count add, so
the merged histogram is the faithful pooled sample set and the re-derived
percentile is the percentile OF the union — NOT a mean of per-source
percentiles). The taobench analog of
populate_run_pooled_schbench_distribution, with the same source: the
BASELINE (epoch 0) and inter-step-gap (u32::MAX) epochs are excluded (they
are dropped from stats.phases by expand_backdrop_phase_buckets), so this is
the steady-state serve distribution over the measured steps — a faithful
PerRunDistribution, distinct from the standalone driver’s full-run histogram.
Runs in populate_run_ext_all (post-merge); reads the per-phase carriers
(disjoint from the taobench counter pool) and writes distinct *_whole keys,
so it is order-independent. Keys are written only when the merged histogram
has samples (sample_count() > 0) — a closed-loop run (no serve samples)
reads ABSENT, never a false 0. The keys are MetricKind::PerRunDistribution:
noise-compared per-run by crate::stats::noise_findings, NEVER cross-run
folded (a percentile of a union is not a mean of per-run percentiles, and the
per-phase histograms are dropped at the cross-run boundary).