pub struct MemoryProfileData {
pub peak_usage_mb: f32,
pub current_usage_mb: f32,
pub allocation_timeline: Vec<MemorySnapshot>,
pub memory_leaks: Option<Vec<MemoryLeak>>,
pub fragmentation_ratio: Option<f32>,
pub gc_pressure: Option<f32>,
pub memory_bandwidth_utilization: Option<f32>,
pub cache_performance: CachePerformance,
}Expand description
Comprehensive memory profiling data
Fields§
§peak_usage_mb: f32Real peak resident memory observed during profiling (MB).
current_usage_mb: f32Real resident memory at the time metrics were read (MB).
allocation_timeline: Vec<MemorySnapshot>§memory_leaks: Option<Vec<MemoryLeak>>Detected memory leaks, when leak detection is actually implemented.
None means “not measured” (no allocator instrumentation is wired
up here) – distinct from Some(vec![]), which would claim leak
detection ran and found nothing.
fragmentation_ratio: Option<f32>Fragmentation ratio, when it can be measured from allocator
introspection. None if unmeasured.
gc_pressure: Option<f32>§memory_bandwidth_utilization: Option<f32>Memory bandwidth utilization, when it can be measured from hardware
performance counters. None if unmeasured.
cache_performance: CachePerformanceTrait Implementations§
Source§impl Clone for MemoryProfileData
impl Clone for MemoryProfileData
Source§fn clone(&self) -> MemoryProfileData
fn clone(&self) -> MemoryProfileData
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MemoryProfileData
impl Debug for MemoryProfileData
Source§impl Default for MemoryProfileData
impl Default for MemoryProfileData
Source§fn default() -> Self
fn default() -> Self
Used when memory profiling was not enabled at all
(enable_memory_profiling: false). Every field is a genuine zero/
None for “not collected”, not a fabricated “everything is
perfect” reading (the previous implementation reported 100% cache
hit rates here, which claimed cache performance had been checked
and was flawless – when in fact nothing had been measured at all).
Auto Trait Implementations§
impl Freeze for MemoryProfileData
impl RefUnwindSafe for MemoryProfileData
impl Send for MemoryProfileData
impl Sync for MemoryProfileData
impl Unpin for MemoryProfileData
impl UnsafeUnpin for MemoryProfileData
impl UnwindSafe for MemoryProfileData
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more