pub struct ExtendedMemoryStats {Show 18 fields
pub current_allocated_bytes: usize,
pub peak_allocated_bytes: u64,
pub total_allocations: u64,
pub total_deallocations: u64,
pub total_reallocations: u64,
pub net_allocations: i64,
pub bytes_allocated_lifetime: u64,
pub bytes_deallocated_lifetime: u64,
pub bytes_net_lifetime: i64,
pub large_allocations: u64,
pub large_allocation_bytes: u64,
pub small_allocations: u64,
pub small_allocation_bytes: u64,
pub medium_allocations: u64,
pub medium_allocation_bytes: u64,
pub average_allocation_size: f64,
pub fragmentation_ratio: f64,
pub allocation_efficiency: f64,
}
Expand description
A snapshot of comprehensive memory allocation statistics, including derived metrics.
Fields§
§current_allocated_bytes: usize
The total number of bytes currently in use.
peak_allocated_bytes: u64
The maximum number of bytes that were ever in use simultaneously.
total_allocations: u64
The total number of times an allocation was requested.
total_deallocations: u64
The total number of times a deallocation was requested.
total_reallocations: u64
The total number of times a reallocation was requested.
net_allocations: i64
The net number of active allocations (total_allocations
- total_deallocations
).
bytes_allocated_lifetime: u64
The cumulative sum of all bytes ever allocated.
bytes_deallocated_lifetime: u64
The cumulative sum of all bytes ever deallocated.
bytes_net_lifetime: i64
The net number of bytes allocated over the lifetime. Should be equal to current_allocated_bytes
.
large_allocations: u64
The number of allocations classified as “large”.
large_allocation_bytes: u64
The total byte size of all “large” allocations.
small_allocations: u64
The number of allocations classified as “small”.
small_allocation_bytes: u64
The total byte size of all “small” allocations.
medium_allocations: u64
The number of allocations not classified as small or large.
medium_allocation_bytes: u64
The total byte size of all “medium” allocations.
average_allocation_size: f64
The average size of a single allocation (bytes_allocated_lifetime
/ total_allocations
).
fragmentation_ratio: f64
A rough measure of memory fragmentation (1.0 - current / peak
).
allocation_efficiency: f64
The ratio of memory still in use compared to all memory ever allocated.
Implementations§
Source§impl ExtendedMemoryStats
impl ExtendedMemoryStats
Sourcepub fn calculate_derived_metrics(&mut self)
pub fn calculate_derived_metrics(&mut self)
Populates the derived metrics based on the raw counter values.
Trait Implementations§
Source§impl Clone for ExtendedMemoryStats
impl Clone for ExtendedMemoryStats
Source§fn clone(&self) -> ExtendedMemoryStats
fn clone(&self) -> ExtendedMemoryStats
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more