pub struct Histogram { /* private fields */ }
Expand description
A [Metric
] counts individual observations from an event or sample stream
in configurable buckets. Similar to a Summary
,
it also provides a sum of observations and an observation count.
On the Prometheus server, quantiles can be calculated from a Histogram
using
the histogram_quantile
function in the query language.
Note that Histograms, in contrast to Summaries, can be aggregated with the
Prometheus query language (see the prometheus documentation for
detailed procedures). However, Histograms require the user to pre-define
suitable buckets, (see linear_buckets
and exponential_buckets
for
some helper provided here) and they are in general less accurate. The
Observe method of a Histogram
has a very low performance overhead in
comparison with the Observe method of a Summary.
Implementations§
§impl Histogram
impl Histogram
pub fn start_timer(&self) -> HistogramTimer
pub fn start_timer(&self) -> HistogramTimer
Return a [HistogramTimer
] to track a duration.
pub fn observe_closure_duration<F, T>(&self, f: F) -> Twhere
F: FnOnce() -> T,
pub fn observe_closure_duration<F, T>(&self, f: F) -> Twhere
F: FnOnce() -> T,
Observe execution time of a closure, in second.
pub fn local(&self) -> LocalHistogram
pub fn local(&self) -> LocalHistogram
Return a [LocalHistogram
] for single thread usage.
pub fn get_sample_sum(&self) -> f64
pub fn get_sample_sum(&self) -> f64
Return accumulated sum of all samples.
pub fn get_sample_count(&self) -> u64
pub fn get_sample_count(&self) -> u64
Return count of all samples.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Histogram
impl RefUnwindSafe for Histogram
impl Send for Histogram
impl Sync for Histogram
impl Unpin 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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)