pub struct Histogram { /* private fields */ }Expand description
Thread-safe histogram with configurable buckets.
Each observation is placed into the appropriate bucket(s) and contributes to the running sum and count.
Implementations§
Source§impl Histogram
impl Histogram
Sourcepub fn new(name: &'static str, help: &'static str, buckets: Vec<f64>) -> Self
pub fn new(name: &'static str, help: &'static str, buckets: Vec<f64>) -> Self
Create a new histogram with the given bucket boundaries.
Buckets are sorted automatically. A +Inf bucket is always
appended internally.
Sourcepub fn time<F, R>(&self, f: F) -> Rwhere
F: FnOnce() -> R,
pub fn time<F, R>(&self, f: F) -> Rwhere
F: FnOnce() -> R,
Time a closure and record its duration in seconds.
Sourcepub fn bucket_count(&self, index: usize) -> u64
pub fn bucket_count(&self, index: usize) -> u64
Get cumulative count for a specific bucket index.
Sourcepub fn bucket_boundaries(&self) -> &[f64]
pub fn bucket_boundaries(&self) -> &[f64]
Get the bucket boundaries (excluding +Inf).
Auto Trait Implementations§
impl !Freeze for Histogram
impl RefUnwindSafe for Histogram
impl Send for Histogram
impl Sync for Histogram
impl Unpin for Histogram
impl UnsafeUnpin for Histogram
impl UnwindSafe for Histogram
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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>
Converts
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>
Converts
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