[][src]Struct metrix::instruments::Counter

pub struct Counter { /* fields omitted */ }

A simple ever increasing counter

Reacts to the following Observations:

  • Observation::Observed(Update::Observations)
  • Obervation::ObservedOne(Update::Observation)
  • Obervation::ObservedOneValue(Update::ObservationWithValue)

Example

use std::time::Instant;
use metrix::instruments::*;

let mut counter = Counter::new_with_defaults("example");
let update = Update::Observation(Instant::now());
counter.update(&update);

assert_eq!(1, counter.get());

Methods

impl Counter[src]

pub fn new<T: Into<String>>(name: T) -> Counter[src]

pub fn new_with_defaults<T: Into<String>>(name: T) -> Counter[src]

pub fn get_name(&self) -> &str[src]

pub fn set_name<T: Into<String>>(&mut self, name: T)[src]

pub fn name<T: Into<String>>(self, name: T) -> Self[src]

pub fn set_title<T: Into<String>>(&mut self, title: T)[src]

pub fn title<T: Into<String>>(self, title: T) -> Self[src]

pub fn set_description<T: Into<String>>(&mut self, description: T)[src]

pub fn description<T: Into<String>>(self, description: T) -> Self[src]

pub fn inc(&mut self)[src]

Increase the stored value by one.

pub fn inc_by(&mut self, n: u64)[src]

Increase the stored value by n

pub fn get(&self) -> u64[src]

Get the current value

pub fn accept<L: Eq + Send + 'static, F: Into<LabelFilter<L>>>(
    self,
    accept: F
) -> InstrumentAdapter<L, Self>
[src]

pub fn for_label<L: Eq + Send + 'static>(
    self,
    label: L
) -> InstrumentAdapter<L, Self>
[src]

Creates an InstrumentAdapter that makes this instrument react on observations on the given label.

pub fn for_labels<L: Eq + Send + 'static>(
    self,
    labels: Vec<L>
) -> InstrumentAdapter<L, Self>
[src]

Creates an InstrumentAdapter that makes this instrument react on observations with the given labels.

If labels is empty the instrument will not react to any observations

pub fn for_all_labels<L: Eq + Send + 'static>(
    self
) -> InstrumentAdapter<L, Self>
[src]

Creates an InstrumentAdapter that makes this instrument react on all observations.

pub fn for_labels_by_predicate<L, P>(
    self,
    label_predicate: P
) -> InstrumentAdapter<L, Self> where
    L: Eq + Send + 'static,
    P: Fn(&L) -> bool + Send + 'static, 
[src]

Creates an InstrumentAdapter that makes this instrument react on observations with labels specified by the predicate.

pub fn adapter<L: Eq + Send + 'static>(self) -> InstrumentAdapter<L, Self>[src]

Creates an InstrumentAdapter that makes this instrument to no observations.

Trait Implementations

impl Descriptive for Counter[src]

impl Instrument for Counter[src]

impl PutsSnapshot for Counter[src]

impl Updates for Counter[src]

Auto Trait Implementations

impl RefUnwindSafe for Counter

impl Send for Counter

impl Sync for Counter

impl Unpin for Counter

impl UnwindSafe for Counter

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,