Skip to main content

ScanMetrics

Struct ScanMetrics 

Source
pub struct ScanMetrics { /* private fields */ }
Expand description

Aggregate work counters for one scan. These expose only logical scan accounting; physical descriptor tables and decoder state remain private.

The two byte counters answer different questions and are deliberately kept apart. Self::stream_bytes_decoded is the work projection removes: the stored size of the streams the scan actually decoded. Self::bytes_read is what the scan cost the file system, and it is larger, because reading a block verifies the whole frame body against its commit trailer before any stream is decoded. Projection narrows the first number, not the second.

Implementations§

Source§

impl ScanMetrics

Source

pub fn blocks_considered(&self) -> u64

Number of committed blocks examined by the scan planner.

Source

pub fn blocks_pruned(&self) -> u64

Number of blocks skipped using primary bounds before stream decoding.

Source

pub fn streams_decoded(&self) -> u64

Number of physical streams successfully decoded.

Source

pub fn stream_bytes_decoded(&self) -> u64

Stored byte count of the streams this scan decoded.

This is the measure projection and pruning reduce. It excludes every byte read for framing, block headers, and statistics; for the total cost of the scan use Self::bytes_read.

Source

pub fn bytes_read(&self) -> u64

Total bytes this scan read from the file.

This counts every byte of every candidate block the scan touched: the frame envelope streamed to verify the body checksum, the block header, the decoded streams, and any statistics that were verified. Pruned blocks contribute nothing. It is a byte count taken from the lengths the reader actually reads, not an estimate from the file size.

Source

pub fn rows_returned(&self) -> u64

Number of rows returned in yielded batches.

Trait Implementations§

Source§

impl Clone for ScanMetrics

Source§

fn clone(&self) -> ScanMetrics

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 Copy for ScanMetrics

Source§

impl Debug for ScanMetrics

Source§

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

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

impl Default for ScanMetrics

Source§

fn default() -> ScanMetrics

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

impl Eq for ScanMetrics

Source§

impl PartialEq for ScanMetrics

Source§

fn eq(&self, other: &ScanMetrics) -> 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 ScanMetrics

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> 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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.