pub struct SlidingHistogram { /* private fields */ }Expand description
A sliding histogram with exponential buckets.
This histogram records up to a specified number of samples across a specified maximum amount of time. Within that range, it maintains an exponential histogram with the same form as ExponentialHistogram.
Implementations§
Source§impl SlidingHistogram
impl SlidingHistogram
Sourcepub const fn new(max_samples: usize, max_elapsed: Duration) -> Self
pub const fn new(max_samples: usize, max_elapsed: Duration) -> Self
Constructs a new sliding histogram. The histogram will keep at most the
most recent max_samples samples that have been recorded over at most
the most recent max_elapsed amount of time.
Sourcepub fn record_elapsed(&mut self, start: Instant)
pub fn record_elapsed(&mut self, start: Instant)
Records the time elapsed since start in the histogram, as a count of
microseconds.
Sourcepub fn snapshot(&mut self) -> ExponentialHistogramSnapshot
pub fn snapshot(&mut self) -> ExponentialHistogramSnapshot
Returns a snapshot of the histogram.
Sourcepub fn record_callback<F, T>(&mut self, f: F) -> Twhere
F: FnOnce() -> T,
pub fn record_callback<F, T>(&mut self, f: F) -> Twhere
F: FnOnce() -> T,
Calls f and records the amount of time that it takes to run, in
microseconds, in the histogram.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SlidingHistogram
impl RefUnwindSafe for SlidingHistogram
impl Send for SlidingHistogram
impl Sync for SlidingHistogram
impl Unpin for SlidingHistogram
impl UnsafeUnpin for SlidingHistogram
impl UnwindSafe for SlidingHistogram
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.