Struct prometheus_client::metrics::histogram::Histogram
source · 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§
source§impl EncodeMetric for Histogram
impl EncodeMetric for Histogram
source§fn encode(&self, encoder: MetricEncoder<'_>) -> Result<(), Error>
fn encode(&self, encoder: MetricEncoder<'_>) -> Result<(), Error>
Encode the given instance in the OpenMetrics text encoding.
source§fn metric_type(&self) -> MetricType
fn metric_type(&self) -> MetricType
The OpenMetrics metric type of the instance.
source§impl TypedMetric for Histogram
impl TypedMetric for Histogram
source§const TYPE: MetricType = MetricType::Histogram
const TYPE: MetricType = MetricType::Histogram
The OpenMetrics metric type.
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
Mutably borrows from an owned value. Read more
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)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)