pub struct LatencyReport {
pub self_stamped: Option<LatencySummary>,
pub foreign: Option<LatencySummary>,
pub unattributable: Option<LatencySummary>,
pub stampers: Vec<String>,
pub stampers_dropped: u64,
}Expand description
One key’s observed latency, kept apart by who stamped it (issue #213).
Three populations, never folded into one median. A publisher-stamped sample measures publisher → observer; a router-stamped one measures that router → observer, which is a different quantity on the same axis. Averaging them produces a number that describes neither, and a fleet where some producers timestamp and some do not would report it without a word.
Fields§
§self_stamped: Option<LatencySummary>Samples the publishing session stamped itself.
foreign: Option<LatencySummary>Samples stamped by another node — commonly a router.
unattributable: Option<LatencySummary>Stamped, but with no SourceInfo to compare against: unknown, not
foreign (RFC 09 §5.1 O4).
stampers: Vec<String>The distinct stamping nodes seen on this key, rendered. Empty when every sample was self-stamped — there is no third party to name.
stampers_dropped: u64Stampers beyond the retained bound that were dropped (O6: a bound reports what it cost).
Implementations§
Source§impl LatencyReport
impl LatencyReport
Sourcepub fn populations(&self) -> Vec<(&'static str, LatencySummary)>
pub fn populations(&self) -> Vec<(&'static str, LatencySummary)>
The populations present, each with the label that says what it measures. Ordered self → foreign → unattributable.
Trait Implementations§
Source§impl Clone for LatencyReport
impl Clone for LatencyReport
Source§fn clone(&self) -> LatencyReport
fn clone(&self) -> LatencyReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LatencyReport
impl Debug for LatencyReport
Source§impl Default for LatencyReport
impl Default for LatencyReport
Source§fn default() -> LatencyReport
fn default() -> LatencyReport
impl Eq for LatencyReport
Source§impl PartialEq for LatencyReport
impl PartialEq for LatencyReport
Source§impl Serialize for LatencyReport
impl Serialize for LatencyReport
impl StructuralPartialEq for LatencyReport
Auto Trait Implementations§
impl Freeze for LatencyReport
impl RefUnwindSafe for LatencyReport
impl Send for LatencyReport
impl Sync for LatencyReport
impl Unpin for LatencyReport
impl UnsafeUnpin for LatencyReport
impl UnwindSafe for LatencyReport
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> ⓘ
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> ⓘ
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