in aws-lc-rs/util/process-criterion-csv.rs [149:175]
fn data_line(&self, aws_stats: &FinalizedStats, ring_stats: &FinalizedStats) -> String {
let mut line = String::new();
if self.min {
let (aws, ring, rel) = compute(&aws_stats, &ring_stats, &FinalizedStats::min);
line = format!("{},{:.2},{:.2},{:.2}", line, aws, ring, rel);
}
if self.median {
let (aws, ring, rel) = compute(&aws_stats, &ring_stats, &FinalizedStats::median);
line = format!("{},{:.2},{:.2},{:.2}", line, aws, ring, rel);
}
if self.max {
let (aws, ring, rel) = compute(&aws_stats, &ring_stats, &FinalizedStats::max);
line = format!("{},{:.2},{:.2},{:.2}", line, aws, ring, rel);
}
if self.percentile.len() > 0 {
let mut percentiles = self.percentile.clone();
percentiles.sort();
for percentile in percentiles {
let percentile = percentile as f64 / 100.0;
let (aws, ring, rel) = compute(&aws_stats, &ring_stats, &|s: &FinalizedStats| {
s.percentile(percentile)
});
line = format!("{},{:.2},{:.2},{:.2}", line, aws, ring, rel);
}
}
line
}