Struct tikv_jemalloc_ctl::thread::allocatedp
source · pub struct allocatedp;
Expand description
Access to the total number of bytes allocated by the current thread.
Unlike crate::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§
source§impl allocatedp
impl allocatedp
sourcepub fn mib() -> Result<allocatedp_mib>
pub fn mib() -> Result<allocatedp_mib>
Returns Management Information Base (MIB)
This value can be used to access the key without doing string lookup.
sourcepub fn name() -> &'static Name
pub fn name() -> &'static Name
Key crate::keys::Name
.
source§impl allocatedp
impl allocatedp
sourcepub fn read() -> Result<ThreadLocal<u64>>
pub fn read() -> Result<ThreadLocal<u64>>
Reads value using string API.