Skip to main content

AllocStats

Struct AllocStats 

Source
#[non_exhaustive]
pub struct AllocStats { pub alloc_count: u64, pub total_bytes: u64, pub peak_bytes: u64, pub current_bytes: u64, pub live_count: u64, pub peak_live_count: u64, }
Expand description

Snapshot of allocation statistics at a point in time.

Produced by ModAlloc::snapshot and Profiler::stop.

§Example

use mod_alloc::AllocStats;

// Construct via Default (literal construction is closed off as
// of v1.0 — see "Stability" below).
let mut stats = AllocStats::default();
stats.alloc_count = 10;
stats.total_bytes = 1024;
assert_eq!(stats.alloc_count, 10);

§Stability

Marked #[non_exhaustive] as of v1.0.0. New counter fields may be added in future minor versions without bumping the major version. Construct via AllocStats::default (or consume snapshots from ModAlloc::snapshot / Profiler::stop) rather than struct-literal syntax. Reading individual fields by name is fully stable.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§alloc_count: u64

Number of allocations performed.

§total_bytes: u64

Total bytes allocated across all allocations. Reallocations contribute the growth delta (or zero on shrink).

§peak_bytes: u64

Peak resident bytes (highest current_bytes ever observed).

§current_bytes: u64

Currently-allocated bytes (allocations minus deallocations).

§live_count: u64

Currently-alive allocation count (allocations minus deallocations). Mirrors dhat::HeapStats::curr_blocks.

§peak_live_count: u64

Peak live allocation count (highest live_count ever observed). Mirrors dhat::HeapStats::max_blocks.

Trait Implementations§

Source§

impl Clone for AllocStats

Source§

fn clone(&self) -> AllocStats

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AllocStats

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for AllocStats

Source§

fn default() -> AllocStats

Returns the “default value” for a type. Read more
Source§

impl PartialEq for AllocStats

Source§

fn eq(&self, other: &AllocStats) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for AllocStats

Source§

impl Eq for AllocStats

Source§

impl StructuralPartialEq for AllocStats

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.