pub struct ZsnapHeader {
pub zsnap: u32,
pub selectors: Vec<String>,
pub base: String,
pub collected_at: String,
pub collection_span_s: f64,
pub asked: u64,
pub answered: u64,
pub elided: u64,
pub errors: u64,
pub superseded: u64,
pub roster: Asked<usize>,
}Expand description
The first line of a .zsnap file (RFC 13 §4.4): what was asked, under
which base, when, and — the fact a capture does not need — over what
span. The base is the operator’s stated deployment base at collection
time; recorded keys are full wire keys and are never re-derived from it
(O3).
Fields§
§zsnap: u32Format version (ZSNAP_VERSION).
selectors: Vec<String>The full wire selectors the snapshot GET, one fan-in each. A **
never crosses an @-chunk, so a ** snapshot excludes the verbatim
planes by construction (O5).
base: StringThe deployment base the operator resolved at collection time (may be empty: the base-less bus-root deployment).
collected_at: StringCollection start, RFC 3339 wall clock.
collection_span_s: f64How long the collection took, first GET issued to last reply drained,
the roster ask included. The number every rendering states: a
fan-in GET is collected over this, not at collected_at.
asked: u64GETs issued — one per selector, whether or not it answered.
answered: u64Value replies received across every GET, before last-writer-wins
folded them per key — so answered - superseded is the row count.
elided: u64Replies that arrived and were not kept past the observer’s bound (O6). Absent at zero.
errors: u64Error replies (RFC 05 §3 envelopes) — a refusal is not a value and not silence. Absent at zero.
superseded: u64Answers that lost last-writer-wins to a newer reply on the same key (RFC 04 §1.2). Absent at zero.
roster: Asked<usize>How many origins the liveliness roster reported, when it was asked.
Absent when it was not (O4) — and then every row’s holder is
Holder::Unattributed.
Trait Implementations§
Source§impl Clone for ZsnapHeader
impl Clone for ZsnapHeader
Source§fn clone(&self) -> ZsnapHeader
fn clone(&self) -> ZsnapHeader
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 ZsnapHeader
impl Debug for ZsnapHeader
Source§impl<'de> Deserialize<'de> for ZsnapHeader
impl<'de> Deserialize<'de> for ZsnapHeader
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for ZsnapHeader
impl PartialEq for ZsnapHeader
Source§impl Serialize for ZsnapHeader
impl Serialize for ZsnapHeader
impl StructuralPartialEq for ZsnapHeader
Auto Trait Implementations§
impl Freeze for ZsnapHeader
impl RefUnwindSafe for ZsnapHeader
impl Send for ZsnapHeader
impl Sync for ZsnapHeader
impl Unpin for ZsnapHeader
impl UnsafeUnpin for ZsnapHeader
impl UnwindSafe for ZsnapHeader
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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