pub trait TimingDistribution {
    // Required methods
    fn start(&self) -> TimerId;
    fn stop_and_accumulate(&self, id: TimerId);
    fn cancel(&self, id: TimerId);
    fn test_get_value<'a, S: Into<Option<&'a str>>>(
        &self,
        ping_name: S
    ) -> Option<DistributionData>;
    fn test_get_num_recorded_errors(&self, error: ErrorType) -> i32;
}
Expand description

A description for the TimingDistributionMetric type.

When changing this trait, make sure all the operations are implemented in the related type in ../metrics/.

Required Methods§

source

fn start(&self) -> TimerId

Start tracking time for the provided metric. Multiple timers can run simultaneously.

Returns

A unique TimerId for the new timer.

source

fn stop_and_accumulate(&self, id: TimerId)

Stops tracking time for the provided metric and associated timer id.

Adds a count to the corresponding bucket in the timing distribution. This will record an error if no start was called.

Arguments
  • id - The TimerId to associate with this timing. This allows for concurrent timing of events associated with different ids to the same timespan metric.
source

fn cancel(&self, id: TimerId)

Aborts a previous start call. No error is recorded if no start was called.

Arguments
  • id - The TimerId to associate with this timing. This allows for concurrent timing of events associated with different ids to the same timing distribution metric.
source

fn test_get_value<'a, S: Into<Option<&'a str>>>( &self, ping_name: S ) -> Option<DistributionData>

Exported for test purposes.

Gets the currently stored value of the metric.

This doesn’t clear the stored value.

Arguments
  • ping_name - represents the optional name of the ping to retrieve the metric for. Defaults to the first value in send_in_pings.
source

fn test_get_num_recorded_errors(&self, error: ErrorType) -> i32

Exported for test purposes.

Gets the number of recorded errors for the given error type.

Arguments
  • error - The type of error
Returns

The number of errors recorded.

Implementors§