Struct glean_core::metrics::CustomDistributionMetric

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

A custom distribution metric.

Memory distributions are used to accumulate and store memory sizes.

Implementations§

source§

impl CustomDistributionMetric

source

pub fn new( meta: CommonMetricData, range_min: i64, range_max: i64, bucket_count: i64, histogram_type: HistogramType ) -> Self

Creates a new memory distribution metric.

source

pub fn accumulate_samples(&self, samples: Vec<i64>)

Accumulates the provided signed samples in the metric.

This is required so that the platform-specific code can provide us with 64 bit signed integers if no u64 comparable type is available. This will take care of filtering and reporting errors for any provided negative sample.

§Arguments
  • samples - The vector holding the samples to be recorded by the metric.
§Notes

Discards any negative value in samples and report an ErrorType::InvalidValue for each of them.

source

pub fn accumulate_single_sample(&self, sample: i64)

Accumulates precisely one signed sample and appends it to the metric.

Signed is required so that the platform-specific code can provide us with a 64 bit signed integer if no u64 comparable type is available. This will take care of filtering and reporting errors.

§Arguments
  • sample - The singular sample to be recorded by the metric.
§Notes

Discards any negative value of sample and reports an ErrorType::InvalidValue.

source

pub fn test_get_value( &self, ping_name: Option<String> ) -> Option<DistributionData>

Test-only API (exported for FFI purposes).

Gets the currently stored value as an integer.

This doesn’t clear the stored value.

§Arguments
  • ping_name - the optional name of the ping to retrieve the metric for. Defaults to the first value in send_in_pings.
§Returns

The stored value or None if nothing stored.

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 Clone for CustomDistributionMetric

source§

fn clone(&self) -> CustomDistributionMetric

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CustomDistributionMetric

source§

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

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

impl MetricType for CustomDistributionMetric

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: String) -> 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

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.

source§

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

source§

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

Create a new handle for an Arc value Read more
source§

fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
source§

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

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

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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.