populate_run_pooled_taobench_distribution

Function populate_run_pooled_taobench_distribution 

Source
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).