pub struct IpcPerfStats {
pub total_ops: AtomicU64,
pub total_cycles: AtomicU64,
pub min_latency: AtomicU64,
pub max_latency: AtomicU64,
pub fast_path_count: AtomicU64,
pub slow_path_count: AtomicU64,
}Expand description
Global IPC performance statistics
Fields§
§total_ops: AtomicU64Total IPC operations
total_cycles: AtomicU64Total cycles spent in IPC
min_latency: AtomicU64Minimum latency observed
max_latency: AtomicU64Maximum latency observed
fast_path_count: AtomicU64Fast path success count
slow_path_count: AtomicU64Slow path count
Implementations§
Source§impl IpcPerfStats
impl IpcPerfStats
pub const fn new() -> Self
Sourcepub fn record_operation(&self, cycles: u64, is_fast_path: bool)
pub fn record_operation(&self, cycles: u64, is_fast_path: bool)
Record an IPC operation
Sourcepub fn average_latency(&self) -> u64
pub fn average_latency(&self) -> u64
Get average latency in cycles
Sourcepub fn get_report(&self) -> IpcPerfReport
pub fn get_report(&self) -> IpcPerfReport
Get a performance report