pub struct CounterWithExemplar<S, N = u64, A = AtomicU64> { /* private fields */ }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.
Trait Implementations§
Source§impl<S, N, A> Clone for CounterWithExemplar<S, N, A>
impl<S, N, A> Clone for CounterWithExemplar<S, N, A>
Source§impl<S, N, A: Default> Default for CounterWithExemplar<S, N, A>
impl<S, N, A: Default> Default for CounterWithExemplar<S, N, A>
Source§impl<S, N, A> EncodeMetric for CounterWithExemplar<S, N, A>
impl<S, N, A> EncodeMetric for CounterWithExemplar<S, N, A>
Auto Trait Implementations§
impl<S, N, A> Freeze for CounterWithExemplar<S, N, A>
impl<S, N, A> RefUnwindSafe for CounterWithExemplar<S, N, A>
impl<S, N, A> Send for CounterWithExemplar<S, N, A>
impl<S, N, A> Sync for CounterWithExemplar<S, N, A>
impl<S, N, A> Unpin for CounterWithExemplar<S, N, A>
impl<S, N, A> UnwindSafe for CounterWithExemplar<S, N, A>
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