Skip to main content

ObserveStats

Struct ObserveStats 

Source
pub struct ObserveStats {
Show 19 fields pub index_nodes_read: u64, pub seed_nodes_fetched: u64, pub seed_nodes_materialized: u64, pub seed_nodes_executed: u64, pub seed_nodes_reused: u64, pub cache_bytes_written: u64, pub nodes_id_shared: u64, pub shared_resource_ids: u64, pub descriptor_bytes_read: u64, pub descriptor_read_mode: DescriptorReadMode, pub manifest_bytes_read: u64, pub index_bytes_read: u64, pub seed_bytes_read: u64, pub bytes_read: u64, pub bytes_returned: u64, pub deepened: bool, pub member_decodes: u64, pub xml_parses: u64, pub wall_micros: u64,
}
Expand description

Statistics of one observation — the evidence surface (ADR-0027).

Peak RSS and CPU time are deliberately not claimed here: std exposes no portable CPU-time API, and peak RSS is a Linux-only /proc read that the court already measures externally (the court reads Maximum resident set size from /usr/bin/time -v). Claiming either in-process would add a platform-specific, easily-misread field for no gain.

Fields§

§index_nodes_read: u64

Index entries consulted during the observation (the reference descent is counted by the entries it returns).

§seed_nodes_fetched: u64

Seed nodes fetched from the seed store.

§seed_nodes_materialized: u64

Seed nodes evaluated/materialized (including dependencies). With reuse enabled this counts cache misses only, so it never exceeds seed_nodes_executed.

§seed_nodes_executed: u64

Seed nodes actually executed during this observation (cache misses).

§seed_nodes_reused: u64

Seed nodes served whole from the persisted derived cache (their subtrees were not traversed).

§cache_bytes_written: u64

Output bytes written to the derived cache during this observation.

§nodes_id_shared: u64

Content-shared representation fact (Phase 12.8): the number of seed nodes this field’s ingest found already present by content id, so it wrote nothing for them. This is deliberately distinct from Self::seed_nodes_reused, which is a work fact about this observation. Read from the manifest provenance; 0 for an older field.

§shared_resource_ids: u64

Resource blobs this field shares with an earlier document (Phase 12.8); 0 when the field shares none. Read from the manifest provenance.

§descriptor_bytes_read: u64

Descriptor bytes physically fetched to open this observation’s field. For the full path this is the whole .voldoc blob; for the seek-based partial path it is only the record closure the query needed (see Self::descriptor_read_mode). It is not hidden behind bytes_read.

§descriptor_read_mode: DescriptorReadMode

Which descriptor read path produced Self::descriptor_bytes_read: full for the whole-blob parse, partial for a seek-based closure read.

§manifest_bytes_read: u64

Field-manifest bytes physically fetched.

§index_bytes_read: u64

Hierarchical-index-node bytes physically fetched.

§seed_bytes_read: u64

Seed-node bytes physically fetched (get_node + get_node_range).

§bytes_read: u64

Total physical bytes fetched by this observation: descriptor_bytes_read + manifest_bytes_read + index_bytes_read + seed_bytes_read. Unrelated to bytes_returned (the output size): a narrow observation can return fewer bytes than it reads.

§bytes_returned: u64

Bytes returned to the caller.

§deepened: bool

Whether a Stage-C promotion (deepening) happened during this observation.

§member_decodes: u64

Decoded package members this observation required (Phase 12.7), counted where the adapter resolves them. A member served whole from the persisted cache still counts as required; Self::seed_nodes_reused tells you it was not re-executed, so a warm observation can report the requirement without claiming fresh work.

§xml_parses: u64

Materialization requests for XML-derived model nodes (PackageOpcModel/DocxModel/DocxStory/EpubModel/EpubContent) at the observation boundary (Phase 12.7). Same honest scope as Self::member_decodes.

§wall_micros: u64

Wall-clock duration in microseconds.

Trait Implementations§

Source§

impl Clone for ObserveStats

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ObserveStats

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ObserveStats

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Eq for ObserveStats

Source§

impl PartialEq for ObserveStats

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ObserveStats

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.