Struct glean_core::metrics::LabeledMetric

source ·
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 have a maximum of 111 characters, and may comprise any printable ASCII 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
source§

impl<T: MallocSizeOf> MallocSizeOf for LabeledMetric<T>

source§

fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize

Measure the heap usage of all descendant heap-allocated structures, but not the space taken up by the value itself.

Auto Trait Implementations§

§

impl<T> !Freeze for LabeledMetric<T>

§

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: Sync + Send,

§

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

source§

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

source§

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.