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
sourceimpl<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, MappedRwLockReadGuard<'_, Option<Exemplar<S, N>>>)
pub fn get(&self) -> (N, MappedRwLockReadGuard<'_, Option<Exemplar<S, N>>>)
Get the current value of the CounterWithExemplar
as well as its
Exemplar
if any.
sourcepub fn inner(&self) -> MappedRwLockReadGuard<'_, A>
pub fn inner(&self) -> MappedRwLockReadGuard<'_, 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
sourceimpl<S, N, A> Clone for CounterWithExemplar<S, N, A>
impl<S, N, A> Clone for CounterWithExemplar<S, N, A>
sourceimpl<S, N, A: Default> Default for CounterWithExemplar<S, N, A>
impl<S, N, A: Default> Default for CounterWithExemplar<S, N, A>
sourceimpl<S, N, A> EncodeMetric for CounterWithExemplar<S, N, A>where
S: Encode,
N: Encode + Clone,
A: Atomic<N>,
impl<S, N, A> EncodeMetric for CounterWithExemplar<S, N, A>where
S: Encode,
N: Encode + Clone,
A: Atomic<N>,
fn encode(&self, encoder: Encoder<'_, '_>) -> Result<(), Error>
fn metric_type(&self) -> MetricType
Auto Trait Implementations
impl<S, N = u64, A = AtomicU64> !RefUnwindSafe for CounterWithExemplar<S, N, A>
impl<S, N, A> Send for CounterWithExemplar<S, N, A>where
A: Send + Sync,
N: Send + Sync,
S: Send + Sync,
impl<S, N, A> Sync for CounterWithExemplar<S, N, A>where
A: Send + Sync,
N: Send + Sync,
S: Send + Sync,
impl<S, N, A> Unpin for CounterWithExemplar<S, N, A>
impl<S, N = u64, A = AtomicU64> !UnwindSafe for CounterWithExemplar<S, N, A>
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