pub struct IoSnapshot {Show 20 fields
pub edge_full_reads: u64,
pub edge_full_rows: u64,
pub edge_filtered_reads: u64,
pub edge_filtered_rows: u64,
pub node_full_reads: u64,
pub node_full_rows: u64,
pub node_filtered_reads: u64,
pub node_filtered_rows: u64,
pub edge_scanned_rows: u64,
pub node_scanned_rows: u64,
pub node_dense_row_selection_reads: u64,
pub node_row_group_predicate_reads: u64,
pub node_row_groups_considered: u64,
pub node_row_groups_selected: u64,
pub node_pages_considered: u64,
pub node_pages_selected: u64,
pub node_exact_rows_selected: u64,
pub node_metadata_fallbacks: u64,
pub node_validation_fallbacks: u64,
pub rewrite_commits: u64,
}Expand description
Fields§
§edge_full_reads: u64Full edge-file reads: read_edges plus the filtered-read fallback.
edge_full_rows: u64Rows returned by those full edge reads.
edge_filtered_reads: u64edge_id-filtered edge reads that took the predicate-pushdown path.
edge_filtered_rows: u64Rows materialized by those filtered reads (post-pruning).
node_full_reads: u64Full node-file reads: read_nodes plus the filtered-read fallback.
node_full_rows: u64Rows returned by those full node reads.
node_filtered_reads: u64node_id-filtered node reads that took the predicate-pushdown path
(read_nodes_filtered, #838).
node_filtered_rows: u64Rows materialized by those filtered node reads (post-pruning).
edge_scanned_rows: u64Edge rows the pushdown predicate actually evaluated — i.e. rows in the data pages the page index did not skip. The decode-cost proxy: for a clustered (localized) id set this is a few pages regardless of total file size; for a scattered set it approaches the whole file. (#838)
node_scanned_rows: u64Node rows the pushdown predicate evaluated (pages not page-index-skipped).
node_dense_row_selection_reads: u64Node reads that used exact dense row selection.
node_row_group_predicate_reads: u64Node reads that used conservative row-group and predicate pruning.
node_row_groups_considered: u64Node row groups whose metadata was considered for pruning.
node_row_groups_selected: u64Node row groups retained for decoding.
node_pages_considered: u64Node-id pages considered by exact dense selection.
node_pages_selected: u64Node-id pages containing selected rows.
node_exact_rows_selected: u64Exact node row ordinals selected before the membership guard.
node_metadata_fallbacks: u64Dense selection attempts rejected by the metadata contract.
node_validation_fallbacks: u64Dense selection attempts rejected by post-read validation.
rewrite_commits: u64Successful non-empty RewriteBatch commits.
This counts persistence cycles, not the number of files in a batch.
Trait Implementations§
Source§impl Clone for IoSnapshot
impl Clone for IoSnapshot
Source§fn clone(&self) -> IoSnapshot
fn clone(&self) -> IoSnapshot
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for IoSnapshot
Source§impl Debug for IoSnapshot
impl Debug for IoSnapshot
Source§impl Default for IoSnapshot
impl Default for IoSnapshot
Source§fn default() -> IoSnapshot
fn default() -> IoSnapshot
impl Eq for IoSnapshot
Source§impl PartialEq for IoSnapshot
impl PartialEq for IoSnapshot
impl StructuralPartialEq for IoSnapshot
Auto Trait Implementations§
impl Freeze for IoSnapshot
impl RefUnwindSafe for IoSnapshot
impl Send for IoSnapshot
impl Sync for IoSnapshot
impl Unpin for IoSnapshot
impl UnsafeUnpin for IoSnapshot
impl UnwindSafe for IoSnapshot
Blanket Implementations§
impl<T> Allocation for T
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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