[][src]Struct dipstick::Timer

pub struct Timer { /* fields omitted */ }

A timer that sends values to the metrics backend Timers can record time intervals in multiple ways :

  • with the time! macrohich wraps an expression or block with start() and stop() calls.
  • with the time(Fn) methodhich wraps a closure with start() and stop() calls.
  • with start() and stop() methodsrapping around the operation to time
  • with the interval_us() method, providing an externally determined microsecond interval

Methods

impl Timer
[src]

pub fn interval_us(&self, interval_us: u64) -> u64
[src]

Record a microsecond interval for this timer Can be used in place of start()/stop() if an external time interval source is used

pub fn start(&self) -> TimeHandle
[src]

Obtain a opaque handle to the current time. The handle is passed back to the stop() method to record a time interval. This is actually a convenience method to the TimeHandle::now() Beware, handles obtained here are not bound to this specific timer instance for now but might be in the future for safety. If you require safe multi-timer handles, get them through TimeType::now()

pub fn stop(&self, start_time: TimeHandle) -> MetricValue
[src]

Record the time elapsed since the start_time handle was obtained. This call can be performed multiple times using the same handle, reporting distinct time intervals each time. Returns the microsecond interval value that was recorded.

pub fn time<F: FnOnce() -> R, R>(&self, operations: F) -> R
[src]

Record the time taken to execute the provided closure

Trait Implementations

impl From<InputMetric> for Timer
[src]

impl Clone for Timer
[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for Timer
[src]

Auto Trait Implementations

impl Send for Timer

impl Sync for Timer

Blanket Implementations

impl<T> From for T
[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]