pub struct HiResMetrics {
pub count: AtomicU64,
pub total_ps: AtomicU64,
pub min_ps: AtomicU64,
pub max_ps: AtomicU64,
pub sum_sq_ns2: AtomicU64,
}Expand description
High-resolution metrics accumulator
Tracks timing statistics at picosecond granularity with proper statistical aggregation.
Fields§
§count: AtomicU64Number of samples
total_ps: AtomicU64Sum of all measurements (picoseconds)
min_ps: AtomicU64Minimum measurement (picoseconds)
max_ps: AtomicU64Maximum measurement (picoseconds)
sum_sq_ns2: AtomicU64Sum of squares for variance calculation (in units of ns²) We use ns² to avoid overflow while maintaining reasonable precision
Implementations§
Source§impl HiResMetrics
impl HiResMetrics
pub const fn new() -> Self
Sourcepub fn record(&self, timestamp: HiResTimestamp)
pub fn record(&self, timestamp: HiResTimestamp)
Record a measurement
Sourcepub fn record_timer(&self, timer: &HiResTimer)
pub fn record_timer(&self, timer: &HiResTimer)
Record from HiResTimer
Sourcepub fn snapshot(&self) -> HiResMetricsSnapshot
pub fn snapshot(&self) -> HiResMetricsSnapshot
Get snapshot of metrics
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for HiResMetrics
impl RefUnwindSafe for HiResMetrics
impl Send for HiResMetrics
impl Sync for HiResMetrics
impl Unpin for HiResMetrics
impl UnwindSafe for HiResMetrics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more