Struct tikv_jemalloc_ctl::thread::allocatedp[][src]

pub struct allocatedp;

Access to the total number of bytes allocated by the current thread.

Unlike [::stats::allocated], the value returned by this type is not the number of bytes currently allocated, but rather the number of bytes that have ever been allocated by this thread.

The read method doesn’t return the value directly, but actually a pointer to the value. This allows for very fast repeated lookup, since there is no function call overhead. The pointer type cannot be sent to other threads, but allocated::read can be called on different threads and will return the appropriate pointer for each of them.

Example

use tikv_jemalloc_ctl::thread;
let allocated = thread::allocatedp::mib().unwrap();
let allocated = allocated.read().unwrap();

let a = allocated.get();
let buf = vec![0; 1024 * 1024];
let b = allocated.get();
drop(    buf);
let c = allocated.get();

assert!(a < b);
assert_eq!(b, c);

Implementations

impl allocatedp[src]

pub fn mib() -> Result<allocatedp_mib>[src]

Returns Management Information Base (MIB)

This value can be used to access the key without doing string lookup.

pub fn name() -> &'static Name[src]

Key [::keys::Name].

impl allocatedp[src]

pub fn read() -> Result<ThreadLocal<u64>>[src]

Reads value using string API.

Auto Trait Implementations

impl Send for allocatedp

impl Sync for allocatedp

impl Unpin for allocatedp

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.