Struct glean_core::metrics::MemoryDistributionMetric
source · pub struct MemoryDistributionMetric { /* private fields */ }
Expand description
A memory distribution metric.
Memory distributions are used to accumulate and store memory sizes.
Implementations§
source§impl MemoryDistributionMetric
impl MemoryDistributionMetric
sourcepub fn new(meta: CommonMetricData, memory_unit: MemoryUnit) -> Self
pub fn new(meta: CommonMetricData, memory_unit: MemoryUnit) -> Self
Creates a new memory distribution metric.
sourcepub fn accumulate(&self, sample: i64)
pub fn accumulate(&self, sample: i64)
Accumulates the provided sample in the metric.
Arguments
sample
- The sample to be recorded by the metric. The sample is assumed to be in the configured memory unit of the metric.
Notes
Values bigger than 1 Terabyte (240 bytes) are truncated
and an ErrorType::InvalidValue
error is recorded.
sourcepub fn accumulate_samples(&self, samples: Vec<i64>)
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.
Please note that this assumes that the provided samples are already in
the “unit” declared by the instance of the metric type (e.g. if the the
instance this method was called on is using MemoryUnit::Kilobyte
, then
samples
are assumed to be in that unit).
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.
Values bigger than 1 Terabyte (240 bytes) are truncated
and an ErrorType::InvalidValue
error is recorded.
sourcepub fn test_get_value(
&self,
ping_name: Option<String>
) -> Option<DistributionData>
pub fn test_get_value( &self, ping_name: Option<String> ) -> Option<DistributionData>
sourcepub fn test_get_num_recorded_errors(&self, error: ErrorType) -> i32
pub fn test_get_num_recorded_errors(&self, error: ErrorType) -> i32
sourcepub fn start_buffer(&self) -> LocalMemoryDistribution<'_>
pub fn start_buffer(&self) -> LocalMemoryDistribution<'_>
Experimental: Start a new histogram buffer associated with this memory distribution metric.
A histogram buffer accumulates in-memory. Data is recorded into the metric on drop.
Trait Implementations§
source§impl Clone for MemoryDistributionMetric
impl Clone for MemoryDistributionMetric
source§fn clone(&self) -> MemoryDistributionMetric
fn clone(&self) -> MemoryDistributionMetric
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for MemoryDistributionMetric
impl Debug for MemoryDistributionMetric
source§impl MetricType for MemoryDistributionMetric
impl MetricType for MemoryDistributionMetric
source§fn with_dynamic_label(&self, label: String) -> Self
fn with_dynamic_label(&self, label: String) -> Self
Auto Trait Implementations§
impl RefUnwindSafe for MemoryDistributionMetric
impl Send for MemoryDistributionMetric
impl Sync for MemoryDistributionMetric
impl Unpin for MemoryDistributionMetric
impl UnwindSafe for MemoryDistributionMetric
Blanket Implementations§
source§impl<T> AllowLabeled for Twhere
T: MetricType + Sealed,
impl<T> AllowLabeled for Twhere
T: MetricType + Sealed,
source§fn new_labeled(meta: LabeledMetricData) -> T
fn new_labeled(meta: LabeledMetricData) -> T
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Arc<>
Read more