pub struct ExportSnapshot {
pub scopes: Vec<String>,
pub excluded: Vec<String>,
pub registry: Asked<RegistryInfo>,
pub max_series: usize,
pub started_at_unix_s: u64,
pub taken_at_unix_s: u64,
pub series: Vec<SeriesRow>,
pub observer: ObserverCounters,
pub contract: ContractCounters,
pub suppressed: BTreeMap<String, u64>,
pub unregistered_keys: u64,
pub doctor: Asked<DoctorSummary>,
}Expand description
One snapshot of the exporter’s ledger, folded at scrape time.
Fields§
§scopes: Vec<String>The exact selectors watched — coverage is this list and no wider (RFC 13 §3 O5).
excluded: Vec<String>The planes a wildcard in scopes cannot reach, named verbatim; empty
when no scope carries a wildcard. Never implied by the selector alone.
registry: Asked<RegistryInfo>The registry the contract came from: how many producers’ slices were
loaded. Not asked when no registry was loaded at all — then no key
refines and every key counts under unregistered_keys, which is a
statement about the exporter, not about the fleet (O4).
max_series: usizeThe ledger’s own bound on distinct series; overflow is counted under
suppressed["max_series"], never silent.
started_at_unix_s: u64When the observer started watching (unix seconds). A claim about a
span longer than taken_at - started_at is unobservable.
taken_at_unix_s: u64When this fold was taken (unix seconds). Deliberately not in the exposition: two scrapes with no traffic between them must be byte-identical, and the scrape time is the scraper’s to record.
series: Vec<SeriesRow>Every series the ledger holds, in a deterministic order.
observer: ObserverCounters§contract: ContractCounters§suppressed: BTreeMap<String, u64>Samples that produced no series, by reason — cardinality
(over the declared budget), max_series, fields (past the
per-subject field cap), text (a declared text kind), non_numeric,
undecodable, unparsed (not a v1 data key). Absent when nothing was
suppressed.
unregistered_keys: u64Distinct keys the registry does not declare (or, with no registry loaded, every key): counted and never exported — the contract is the registry, and the count keeps the omission visible (O4).
doctor: Asked<DoctorSummary>The last doctor run, when one was asked for (--doctor-every).
Trait Implementations§
Source§impl Clone for ExportSnapshot
impl Clone for ExportSnapshot
Source§fn clone(&self) -> ExportSnapshot
fn clone(&self) -> ExportSnapshot
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 ExportSnapshot
impl Debug for ExportSnapshot
Source§impl PartialEq for ExportSnapshot
impl PartialEq for ExportSnapshot
Source§impl Serialize for ExportSnapshot
impl Serialize for ExportSnapshot
impl StructuralPartialEq for ExportSnapshot
Auto Trait Implementations§
impl Freeze for ExportSnapshot
impl RefUnwindSafe for ExportSnapshot
impl Send for ExportSnapshot
impl Sync for ExportSnapshot
impl Unpin for ExportSnapshot
impl UnsafeUnpin for ExportSnapshot
impl UnwindSafe for ExportSnapshot
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