pub struct Timed { /* private fields */ }Expand description
A wrapper around a histogram that can time operations using a caller-provided clock.
Implementations§
Source§impl Timed
impl Timed
Sourcepub fn register<M: Metrics>(
context: &M,
name: &'static str,
help: &'static str,
) -> Self
pub fn register<M: Metrics>( context: &M, name: &'static str, help: &'static str, ) -> Self
Register a duration histogram (see duration_histogram) wrapped for timing.
Sourcepub fn timer<C: Clock>(&self, clock: &C) -> Timer
pub fn timer<C: Clock>(&self, clock: &C) -> Timer
Create a new timer that can record a duration from the current time.
Sourcepub async fn time_some<C: Clock, T>(
&self,
clock: &C,
op: impl Future<Output = Option<T>>,
) -> Option<T>
pub async fn time_some<C: Clock, T>( &self, clock: &C, op: impl Future<Output = Option<T>>, ) -> Option<T>
Time an operation, recording a sample only if it resolves to Some.
Sourcepub fn scoped<C: Clock>(&self, clock: &Arc<C>) -> ScopedTimer<C>
pub fn scoped<C: Clock>(&self, clock: &Arc<C>) -> ScopedTimer<C>
Start a timer guard that observes the elapsed duration when dropped.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Timed
impl !UnwindSafe for Timed
impl Freeze for Timed
impl Send for Timed
impl Sync for Timed
impl Unpin for Timed
impl UnsafeUnpin for Timed
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more