[−][src]Struct glean_core::metrics::TimingDistributionMetric
A timing distribution metric.
Timing distributions are used to accumulate and store time measurement, for analyzing distributions of the timing data.
Methods
impl TimingDistributionMetric
[src]
pub fn new(meta: CommonMetricData, time_unit: TimeUnit) -> Self
[src]
Create a new timing distribution metric.
pub fn set_start(&mut self, start_time: u64) -> TimerId
[src]
Start tracking time for the provided metric.
This records an error if it’s already tracking time (i.e. start was already called with no corresponding [stop]): in that case the original start time will be preserved.
Arguments
start_time
- Timestamp in nanoseconds.
Return value
Returns a unique TimerId
for the new timer.
pub fn set_stop_and_accumulate(
&mut self,
glean: &Glean,
id: TimerId,
stop_time: u64
)
[src]
&mut self,
glean: &Glean,
id: TimerId,
stop_time: u64
)
Stop tracking time for the provided metric and associated timer id.
Add a count to the corresponding bucket in the timing distribution.
This will record an error if no start
was called.
Arguments
id
- TheTimerId
to associate with this timing. This allows for concurrent timing of events associated with different ids to the same timespan metric.stop_time
- Timestamp in nanoseconds.
pub fn cancel(&mut self, id: TimerId)
[src]
Abort a previous set_start
call. No error is recorded if no set_start
was called.
Arguments
id
- TheTimerId
to associate with this timing. This allows for concurrent timing of events associated with different ids to the same timing distribution metric.
pub fn accumulate_samples_signed(&mut self, glean: &Glean, samples: Vec<i64>)
[src]
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 implementing metric type (e.g. if the
implementing class is a [TimingDistributionMetricType] and the instance this
method was called on is using [TimeUnit.Second], 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. Reports an ErrorType::InvalidOverflow
error for samples that
are longer than MAX_SAMPLE_TIME
.
pub fn test_get_value(
&self,
glean: &Glean,
storage_name: &str
) -> Option<Histogram<Functional>>
[src]
&self,
glean: &Glean,
storage_name: &str
) -> Option<Histogram<Functional>>
Test-only API (exported for FFI purposes).
Get the currently stored value as an integer.
This doesn't clear the stored value.
pub fn test_get_value_as_json_string(
&self,
glean: &Glean,
storage_name: &str
) -> Option<String>
[src]
&self,
glean: &Glean,
storage_name: &str
) -> Option<String>
Test-only API (exported for FFI purposes).
Get the currently-stored histogram as a JSON String of the serialized value.
This doesn't clear the stored value.
Trait Implementations
impl Debug for TimingDistributionMetric
[src]
impl MetricType for TimingDistributionMetric
[src]
fn meta(&self) -> &CommonMetricData
[src]
fn meta_mut(&mut self) -> &mut CommonMetricData
[src]
fn should_record(&self, glean: &Glean) -> bool
[src]
Auto Trait Implementations
impl RefUnwindSafe for TimingDistributionMetric
impl Send for TimingDistributionMetric
impl Sync for TimingDistributionMetric
impl Unpin for TimingDistributionMetric
impl UnwindSafe for TimingDistributionMetric
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,