pub struct RateRow {
pub key: String,
pub count: u64,
pub bytes: u64,
pub sn_gaps: Asked<u64>,
pub latency: Option<LatencyReport>,
pub unstamped: Asked<u64>,
}Expand description
One key’s measured traffic over a rate window.
Fields§
§key: String§count: u64§bytes: u64§sn_gaps: Asked<u64>Source-sequence gaps. NotAsked = --loss was not asked — the same
gate the report-level sn_gaps always had; the row used to serialize
an uncaveated 0 regardless (#238’s twin, review finding R3). Even
when asked, zero also means “publishers attach no SourceInfo” — an
observation, not proof of losslessness.
latency: Option<LatencyReport>Observed skewed latency over the window (#119). Gated on
--latency like unstamped (#238), but deliberately still Option
— the Asked split’s other half: even when asked, it is absent
when no sample was HLC-stamped, which is asked-but-absent (not
zero latency, and not “not asked”). Whether the gate was on is what
unstamped being Asked(_) says. Split by who stamped it (#213):
the three populations measure from different clocks and are never
folded into one median.
unstamped: Asked<u64>Samples that carried no HLC — the other half of the latency
observation, so it rides the same gate: NotAsked = --latency was
not asked (R3, matching #238’s fix for latency itself).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RateRow
impl RefUnwindSafe for RateRow
impl Send for RateRow
impl Sync for RateRow
impl Unpin for RateRow
impl UnsafeUnpin for RateRow
impl UnwindSafe for RateRow
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<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