[][src]Struct glean_core::metrics::LabeledMetric

pub struct LabeledMetric<T> { /* fields omitted */ }

A labeled metric.

Labeled metrics allow to record multiple sub-metrics of the same type under different string labels.

Methods

impl<T> LabeledMetric<T> where
    T: MetricType + Clone
[src]

pub fn new(submetric: T, labels: Option<Vec<String>>) -> LabeledMetric<T>[src]

Create a new labeled metric from the given metric instance and optional list of labels.

See get for information on how static or dynamic labels are handled.

pub fn get(&mut self, label: &str) -> T[src]

Get a specific metric for a given label.

If a set of acceptable labels were specified in the metrics.yaml file, and the given label is not in the set, it will be recorded under the special OTHER_LABEL label.

If a set of acceptable labels was not specified in the metrics.yaml file, only the first 16 unique labels will be used. After that, any additional labels will be recorded under the special OTHER_LABEL label.

Labels must be snake_case and less than 30 characters. If an invalid label is used, the metric will be recorded in the special OTHER_LABEL label.

pub fn get_submetric(&self) -> &T[src]

Get the template submetric.

The template submetric is the actual metric that is cloned and modified to record for a specific label.

Trait Implementations

impl<T: Clone> Clone for LabeledMetric<T>[src]

impl<T: Debug> Debug for LabeledMetric<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for LabeledMetric<T> where
    T: RefUnwindSafe

impl<T> Send for LabeledMetric<T> where
    T: Send

impl<T> Sync for LabeledMetric<T> where
    T: Sync

impl<T> Unpin for LabeledMetric<T> where
    T: Unpin

impl<T> UnwindSafe for LabeledMetric<T> where
    T: UnwindSafe

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> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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>,