Struct glean_core::metrics::DualLabeledCounterMetric

source ·
pub struct DualLabeledCounterMetric { /* private fields */ }
Expand description

A dual labled metric

Dual labled metrics allow recording multiple sub-metrics of the same type, in relation to two dimensions rather than the single label provided by the standard labeled type.

Implementations§

source§

impl DualLabeledCounterMetric

source

pub fn new( meta: CommonMetricData, keys: Option<Vec<Cow<'static, str>>>, catgories: Option<Vec<Cow<'static, str>>>, ) -> DualLabeledCounterMetric

Creates a new dual labeled counter from the given metric instance and optional list of labels.

source

pub fn get<S: AsRef<str>>(&self, key: S, category: S) -> Arc<CounterMetric>

Gets a specific metric for a given key/category combination.

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 Debug for DualLabeledCounterMetric

source§

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

Formats the value using the given formatter. Read more
source§

impl<UT> LiftRef<UT> for DualLabeledCounterMetric

source§

impl<UT> LowerError<UT> for DualLabeledCounterMetric

source§

fn lower_error(obj: Self) -> RustBuffer

Lower this value for scaffolding function return Read more
source§

impl<UT> LowerReturn<UT> for DualLabeledCounterMetric

source§

type ReturnType = <Arc<DualLabeledCounterMetric> as LowerReturn<UniFfiTag>>::ReturnType

The type that should be returned by scaffolding functions for this type. Read more
source§

fn lower_return(obj: Self) -> Result<Self::ReturnType, RustCallError>

Lower the return value from an scaffolding call Read more
§

fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>

Lower the return value for failed argument lifts Read more
source§

impl MallocSizeOf for DualLabeledCounterMetric

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.
source§

impl MetricType for DualLabeledCounterMetric

source§

fn meta(&self) -> &CommonMetricDataInternal

Access the stored metadata
source§

fn with_name(&self, _name: String) -> Self
where Self: Sized,

Create a new metric from this with a new name.
source§

fn with_dynamic_label(&self, _label: DynamicLabelType) -> Self
where Self: Sized,

Create a new metric from this with a specific label.
source§

fn should_record(&self, glean: &Glean) -> bool

Whether this metric should currently be recorded Read more
source§

impl<UT> TypeId<UT> for DualLabeledCounterMetric

source§

const TYPE_ID_META: MetadataBuffer = _

Auto Trait Implementations§

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<'a, T> MetricIdentifier<'a> for T
where T: MetricType,

source§

fn get_identifiers(&'a self) -> (&'a str, &'a str, Option<&'a str>)

Retrieve the category, name and (maybe) label of the metric
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.