Skip to main content

mi_prof_stats_t

Struct mi_prof_stats_t 

Source
#[repr(C)]
pub struct mi_prof_stats_t {
Show 22 fields pub size: usize, pub version: c_int, pub enabled: bool, pub accum: bool, pub sample_rate: usize, pub live_samples: usize, pub live_bytes: usize, pub accum_samples: usize, pub accum_bytes: usize, pub unique_stacks: usize, pub arena_committed: usize, pub stack_table_overflows: usize, pub dropped_samples: usize, pub heap_committed: usize, pub heap_reserved: usize, pub heap_malloc_requested: usize, pub heap_pages: usize, pub heap_pages_abandoned: usize, pub heap_count: usize, pub theap_count: usize, pub heap_purged: usize, pub heap_stats_detailed: bool,
}
Expand description

Mirrors mi_prof_stats_t (include/mimalloc/profile.h) field-for-field.

Fields§

§size: usize§version: c_int§enabled: bool§accum: bool§sample_rate: usize§live_samples: usize§live_bytes: usize§accum_samples: usize§accum_bytes: usize§unique_stacks: usize§arena_committed: usize§stack_table_overflows: usize§dropped_samples: usize

v2. Mirrors mi_prof_stats_t.dropped_samples: count of ALL dropped samples (record-alloc failure, stack-intern failure, including the MI_PROF_STACK_CAP cap); stack_table_overflows is a subset, so dropped_samples >= stack_table_overflows always.

§heap_committed: usize

v3. Allocator-level (“ground truth”) counters read from mi_stats_get(). Unlike every field above, these are exact rather than sampled.

§heap_reserved: usize§heap_malloc_requested: usize§heap_pages: usize§heap_pages_abandoned: usize§heap_count: usize§theap_count: usize

Live thread-local heaps. The main thread’s statically-initialized theap is not counted, so a single-threaded process reports 0.

§heap_purged: usize§heap_stats_detailed: bool

True when the C library was built with MI_STAT >= 2. heap_malloc_requested is only maintained at that level; a default release build reports 0.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.