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<UT> LiftRef<UT> for TimespanMetric
impl<UT> LiftRef<UT> for TimespanMetric
type LiftType = Arc<TimespanMetric>
source§impl<UT> LowerError<UT> for TimespanMetric
impl<UT> LowerError<UT> for TimespanMetric
source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
source§impl<UT> LowerReturn<UT> for TimespanMetric
impl<UT> LowerReturn<UT> for TimespanMetric
§type ReturnType = <Arc<TimespanMetric> as LowerReturn<UniFfiTag>>::ReturnType
type ReturnType = <Arc<TimespanMetric> as LowerReturn<UniFfiTag>>::ReturnType
source§fn lower_return(obj: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(obj: Self) -> Result<Self::ReturnType, RustCallError>
§fn handle_failed_lift(
error: LiftArgsError
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError ) -> Result<Self::ReturnType, RustCallError>
source§impl MetricType for TimespanMetric
impl MetricType for TimespanMetric
source§impl<UT> TypeId<UT> for TimespanMetric
impl<UT> TypeId<UT> for TimespanMetric
const TYPE_ID_META: MetadataBuffer = _
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