pub struct GapStats {
pub count: u64,
pub retained: usize,
pub mean_ms: f64,
pub stddev_ms: f64,
pub max_ms: f64,
pub p50_ms: f64,
pub p90_ms: f64,
pub p99_ms: f64,
}Expand description
2026-09-26: One response’s (or one pool’s) arrival-gap distribution, in ms.
Fields§
§count: u642026-09-26: Gaps observed.
retained: usize2026-09-26: Gaps the percentiles were computed over (< count only
when a response ran past RETAIN_CAP).
mean_ms: f64§stddev_ms: f64§max_ms: f642026-09-26: A stall is a tail event; the mean hides it and this does not.
p50_ms: f64§p90_ms: f64§p99_ms: f64Implementations§
Source§impl GapStats
impl GapStats
Sourcepub fn stability(&self) -> Option<f64>
pub fn stability(&self) -> Option<f64>
2026-09-26: stability = (p99 − p50) / p50: the arrival-gap tail
spread relative to its median. Dimensionless, so it compares runs
whose absolute step times differ.
Lower is better: it is a dispersion measure, and 0 means no tail at
all. None unless p50 is positive and finite and p99 is finite.
Trait Implementations§
impl Copy for GapStats
impl StructuralPartialEq for GapStats
Auto Trait Implementations§
impl Freeze for GapStats
impl RefUnwindSafe for GapStats
impl Send for GapStats
impl Sync for GapStats
impl Unpin for GapStats
impl UnwindSafe for GapStats
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.