pub struct Histogram { /* private fields */ }
Expand description
Open Metrics Histogram
to measure distributions of discrete events.
let histogram = Histogram::new(exponential_buckets(1.0, 2.0, 10));
histogram.observe(4.2);
Histogram
does not implement Default
, given that the choice of
bucket values depends on the situation Histogram
is used in. As an
example, to measure HTTP request latency, the values suggested in the
Golang implementation might work for you:
// Default values from go client(https://github.com/prometheus/client_golang/blob/5d584e2717ef525673736d72cd1d12e304f243d7/prometheus/histogram.go#L68)
let custom_buckets = [
0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1.0, 2.5, 5.0, 10.0,
];
let histogram = Histogram::new(custom_buckets.into_iter());
histogram.observe(4.2);
Implementations
Trait Implementations
sourceimpl EncodeMetric for Histogram
impl EncodeMetric for Histogram
fn encode(&self, encoder: Encoder<'_, '_>) -> Result<(), Error>
fn metric_type(&self) -> MetricType
sourceimpl TypedMetric for Histogram
impl TypedMetric for Histogram
const TYPE: MetricType = MetricType::Histogram
Auto Trait Implementations
impl !RefUnwindSafe for Histogram
impl Send for Histogram
impl Sync for Histogram
impl Unpin for Histogram
impl !UnwindSafe for Histogram
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more