Struct glean_core::metrics::TimespanMetric
source · pub struct TimespanMetric { /* private fields */ }
Expand description
A timespan metric.
Timespans are used to make a measurement of how much time is spent in a particular task.
Implementations§
source§impl TimespanMetric
impl TimespanMetric
sourcepub fn new(meta: CommonMetricData, time_unit: TimeUnit) -> Self
pub fn new(meta: CommonMetricData, time_unit: TimeUnit) -> Self
Creates a new timespan metric.
sourcepub fn start(&self)
pub fn start(&self)
Starts 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
set_stop
): in that case the original start
time will be preserved.
sourcepub fn stop(&self)
pub fn stop(&self)
Stops tracking time for the provided metric. Sets the metric to the elapsed time.
This will record an error if no set_start
was called.
sourcepub fn set_raw(&self, elapsed: Duration)
pub fn set_raw(&self, elapsed: Duration)
Explicitly sets the timespan value.
This API should only be used if your library or application requires
recording times in a way that can not make use of
set_start
/set_stop
/cancel
.
Care should be taken using this if the ping lifetime might contain more
than one timespan measurement. To be safe,
set_raw
should generally be followed by
sending a custom ping containing the timespan.
Arguments
elapsed
- The elapsed time to record.
sourcepub fn set_raw_nanos(&self, elapsed_nanos: i64)
pub fn set_raw_nanos(&self, elapsed_nanos: i64)
Explicitly sets the timespan value in nanoseconds.
This API should only be used if your library or application requires
recording times in a way that can not make use of
set_start
/set_stop
/cancel
.
Care should be taken using this if the ping lifetime might contain more
than one timespan measurement. To be safe,
set_raw
should generally be followed by
sending a custom ping containing the timespan.
Arguments
elapsed_nanos
- The elapsed time to record, in nanoseconds.
sourcepub fn test_get_value(&self, ping_name: Option<String>) -> Option<i64>
pub fn test_get_value(&self, ping_name: Option<String>) -> Option<i64>
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 insend_in_pings
.
Returns
The stored value or None
if nothing stored.
Trait Implementations§
source§impl Clone for TimespanMetric
impl Clone for TimespanMetric
source§fn clone(&self) -> TimespanMetric
fn clone(&self) -> TimespanMetric
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for TimespanMetric
impl Debug for TimespanMetric
source§impl MetricType for TimespanMetric
impl MetricType for TimespanMetric
Auto Trait Implementations§
impl RefUnwindSafe for TimespanMetric
impl Send for TimespanMetric
impl Sync for TimespanMetric
impl Unpin for TimespanMetric
impl UnwindSafe for TimespanMetric
Blanket Implementations§
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