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.
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
Source§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>
Source§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Source§impl MallocSizeOf for TimespanMetric
impl MallocSizeOf for TimespanMetric
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Source§impl MetricType for TimespanMetric
impl MetricType for TimespanMetric
Source§fn with_name(&self, _name: String) -> Selfwhere
Self: Sized,
fn with_name(&self, _name: String) -> Selfwhere
Self: Sized,
Source§fn with_dynamic_label(&self, _label: DynamicLabelType) -> Selfwhere
Self: Sized,
fn with_dynamic_label(&self, _label: DynamicLabelType) -> Selfwhere
Self: Sized,
Source§impl TestGetValue<i64> for TimespanMetric
impl TestGetValue<i64> for TimespanMetric
Source§fn test_get_value(&self, ping_name: Option<String>) -> Option<i64>
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.