1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//! Statistics tracking for benchmark iterations.
//!
//! This module provides data structures for collecting and aggregating benchmark
//! statistics across iterations. It supports both cumulative totals and rolling
//! window statistics for real-time monitoring.
//!
//! # Key Types
//!
//! - [`Counter`] - Tracks basic metrics: iterations, items, bytes, and duration.
//! - [`IterStats`] - Aggregates iteration statistics with per-status breakdowns.
//! - [`RotateWindowGroup`] - Manages multiple rolling windows at configurable time scales.
//! - [`RotateDiffWindow`] - Provides rate calculations over sliding windows.
pub use Counter;
pub use ;
use HashMap;
use crate::;
/// Aggregated statistics for benchmark iterations.
///
/// This structure collects statistics across multiple iterations, providing both
/// a cumulative total and per-status breakdowns. It's used internally by the
/// benchmark framework to track progress and generate reports.
///
/// # Fields
///
/// - `counter` - Cumulative totals across all iterations.
/// - `details` - Per-status breakdown of counters (e.g., separate counts for
/// successful vs failed iterations).