Struct prometheus_client::metrics::exemplar::CounterWithExemplar
source · Expand description
Open Metrics Counter
with an Exemplar
to both measure discrete
events and track references to data outside of the metric set.
let counter_with_exemplar = CounterWithExemplar::<Vec<(String, String)>>::default();
counter_with_exemplar.inc_by(1, Some(vec![("user_id".to_string(), "42".to_string())]));
let _value: (u64, _) = counter_with_exemplar.get();
Implementations§
source§impl<S, N: Clone, A: Atomic<N>> CounterWithExemplar<S, N, A>
impl<S, N: Clone, A: Atomic<N>> CounterWithExemplar<S, N, A>
sourcepub fn inc_by(&self, v: N, label_set: Option<S>) -> N
pub fn inc_by(&self, v: N, label_set: Option<S>) -> N
Increase the CounterWithExemplar
by v
, updating the Exemplar
if a label set is provided, returning the previous value.
sourcepub fn get(
&self
) -> (N, OwningRef<RwLockReadGuard<'_, CounterWithExemplarInner<S, N, A>>, Option<Exemplar<S, N>>>)
pub fn get(
&self
) -> (N, OwningRef<RwLockReadGuard<'_, CounterWithExemplarInner<S, N, A>>, Option<Exemplar<S, N>>>)
Get the current value of the CounterWithExemplar
as well as its
Exemplar
if any.
sourcepub fn inner(
&self
) -> OwningRef<RwLockReadGuard<'_, CounterWithExemplarInner<S, N, A>>, A>
pub fn inner(
&self
) -> OwningRef<RwLockReadGuard<'_, CounterWithExemplarInner<S, N, A>>, A>
Exposes the inner atomic type of the CounterWithExemplar
.
This should only be used for advanced use-cases which are not directly supported by the library.
The caller of this function has to uphold the property of an Open Metrics counter namely that the value is monotonically increasing, i.e. either stays the same or increases.