pub struct LabeledMetric<T> { /* private fields */ }
Expand description

A labeled metric.

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

Implementations§

source§

impl<T> LabeledMetric<T>
where T: AllowLabeled + Clone,

source

pub fn new( meta: LabeledMetricData, labels: Option<Vec<Cow<'static, str>>> ) -> LabeledMetric<T>

Creates 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.

source

pub fn get<S: AsRef<str>>(&self, label: S) -> Arc<T>

Gets 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.

source

pub fn test_get_num_recorded_errors(&self, error: ErrorType) -> i32

Exported for test purposes.

Gets the number of recorded errors for the given metric and error type.

Arguments
  • error - The type of error
Returns

The number of errors reported.

Trait Implementations§

source§

impl<T: Debug> Debug for LabeledMetric<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

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

§

impl<T> Send for LabeledMetric<T>
where T: Send + Sync,

§

impl<T> Sync for LabeledMetric<T>
where T: Send + Sync,

§

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

§

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

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
§

unsafe fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
§

unsafe fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<> Read more
§

unsafe fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.