Struct metered::common::ResponseTime[][src]

pub struct ResponseTime<H: Histogram = AtomicHdrHistogram, T: Instant = StdInstant>(pub H, _);

A metric measuring the response time of an expression, that is the duration the expression needed to complete.

Because it retrieves the current time before calling the expression, computes the elapsed duration and registers it to an histogram, this is a rather heavy-weight metric better applied at entry-points.

By default, ResponseTime uses an atomic hdr histogram and a synchronized time source, which work better in multithread scenarios. Non-threaded applications can gain performance by using unsynchronized structures instead.

Trait Implementations

impl<H: Histogram, T: Instant> Clear for ResponseTime<H, T>[src]

impl<H: Clone + Histogram, T: Clone + Instant> Clone for ResponseTime<H, T>[src]

impl<H: Histogram + Debug, T: Instant> Debug for ResponseTime<H, T>[src]

impl<H: Histogram, T: Instant> Default for ResponseTime<H, T>[src]

impl<H: Histogram, T: Instant> Deref for ResponseTime<H, T>[src]

type Target = H

The resulting type after dereferencing.

impl<H: Histogram, T: Instant> Enter for ResponseTime<H, T>[src]

type E = T

The type returned by the enter function and carried to OnResult

impl<H: Histogram, T: Instant, R> Metric<R> for ResponseTime<H, T>[src]

impl<H: Histogram, T: Instant, R> OnResult<R> for ResponseTime<H, T>[src]

impl<H: Histogram + Serialize, T: Instant> Serialize for ResponseTime<H, T>[src]

Auto Trait Implementations

impl<H, T> RefUnwindSafe for ResponseTime<H, T> where
    H: RefUnwindSafe,
    T: RefUnwindSafe

impl<H, T> Send for ResponseTime<H, T> where
    H: Send,
    T: Send

impl<H, T> Sync for ResponseTime<H, T> where
    H: Sync,
    T: Sync

impl<H, T> Unpin for ResponseTime<H, T> where
    H: Unpin,
    T: Unpin

impl<H, T> UnwindSafe for ResponseTime<H, T> where
    H: UnwindSafe,
    T: UnwindSafe

Blanket Implementations

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

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

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

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

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

impl<R, A> OnResultMut<R> for A where
    A: OnResult<R>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

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

type Owned = T

The resulting type after obtaining ownership.

impl<T> TryConv for T

impl<T> TryConv for T

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.