Struct substrate_prometheus_endpoint::Histogram [−][src]
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
[src]
pub fn with_opts(opts: HistogramOpts) -> Result<Histogram, Error>
[src]
with_opts
creates a Histogram
with the opts
options.
impl Histogram
[src]
pub fn observe(&self, v: f64)
[src]
Add a single observation to the Histogram
.
pub fn start_timer(&self) -> HistogramTimer
[src]
Return a HistogramTimer
to track a duration.
pub fn observe_closure_duration<F, T>(&self, f: F) -> T where
F: FnOnce() -> T,
[src]
F: FnOnce() -> T,
Observe execution time of a closure, in second.
pub fn local(&self) -> LocalHistogram
[src]
Return a LocalHistogram
for single thread usage.
pub fn get_sample_sum(&self) -> f64
[src]
Return accumulated sum of all samples.
pub fn get_sample_count(&self) -> u64
[src]
Return count of all samples.
Trait Implementations
impl Clone for Histogram
[src]
impl Collector for Histogram
[src]
pub fn desc(&self) -> Vec<&Desc, Global>
[src]
pub fn collect(&self) -> Vec<MetricFamily, Global>
[src]
impl Debug for Histogram
[src]
impl Metric for Histogram
[src]
Auto Trait Implementations
impl RefUnwindSafe for Histogram
[src]
impl Send for Histogram
[src]
impl Sync for Histogram
[src]
impl Unpin for Histogram
[src]
impl UnwindSafe for Histogram
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,