#[non_exhaustive]pub struct DeltaScanMetricsSnapshot {Show 30 fields
pub snapshot_version: u64,
pub parquet_backend: ParquetReaderBackend,
pub scan_partitions_planned: u64,
pub files_planned: u64,
pub add_actions_excluded_during_planning: Option<u64>,
pub estimated_input_rows: Option<u64>,
pub estimated_input_bytes: Option<u64>,
pub scan_partitions_started: u64,
pub scan_partitions_completed: u64,
pub file_tasks_started: u64,
pub file_tasks_completed: u64,
pub scheduler_batches_emitted: u64,
pub scheduler_rows_emitted: u64,
pub deletion_vector_payloads_loaded: u64,
pub deletion_vectors_applied: u64,
pub deletion_vector_rows_deleted: u64,
pub deletion_vector_failures: u64,
pub deletion_vector_coordinate_rejections: u64,
pub parquet_data_file_exact_ranges_requested: Option<u64>,
pub parquet_data_file_exact_range_bytes_requested: Option<u64>,
pub parquet_data_file_physical_range_requests_planned: Option<u64>,
pub parquet_data_file_physical_range_bytes_planned: Option<u64>,
pub parquet_data_file_cold_start_range_plans: Option<u64>,
pub parquet_data_file_cost_based_exact_range_plans: Option<u64>,
pub parquet_data_file_cost_based_merged_range_plans: Option<u64>,
pub parquet_data_file_store_delegated_range_plans: Option<u64>,
pub parquet_data_file_range_get_operations: Option<u64>,
pub parquet_data_file_full_get_operations: Option<u64>,
pub parquet_data_file_bytes_received: Option<u64>,
pub estimated_parquet_task_bytes_admitted: Option<u64>,
}Expand description
Immutable point-in-time copy of one Delta scan’s metrics.
A snapshot taken while the scan is running may contain partial progress. It does not change
after creation; call DeltaScanMetrics::snapshot again to observe later progress.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.snapshot_version: u64Delta snapshot version selected for the scan.
parquet_backend: ParquetReaderBackendParquet reader backend selected for the scan.
scan_partitions_planned: u64Final execution partitions planned for the scan, including source repartitioning.
files_planned: u64Data files selected during planning.
add_actions_excluded_during_planning: Option<u64>Add actions excluded during planning, when known.
estimated_input_rows: Option<u64>Estimated rows in selected input files before row filtering, when known for every file.
estimated_input_bytes: Option<u64>Estimated bytes in selected input files, when every file reported a size.
scan_partitions_started: u64Scan partitions whose execution started.
scan_partitions_completed: u64Scan partitions that completed normally.
file_tasks_started: u64Data-file tasks that started, including independently read file ranges.
file_tasks_completed: u64Data-file tasks that completed normally, including independently read file ranges.
scheduler_batches_emitted: u64Batches emitted by the scheduler before final stream operations.
scheduler_rows_emitted: u64Rows emitted by the scheduler before final stream operations.
deletion_vector_payloads_loaded: u64Deletion-vector payloads loaded.
deletion_vectors_applied: u64Deletion-vector masks applied.
deletion_vector_rows_deleted: u64Rows removed by deletion-vector masks.
deletion_vector_failures: u64Deletion-vector read or masking failures.
deletion_vector_coordinate_rejections: u64Deletion-vector coordinate operations rejected by safety checks.
parquet_data_file_exact_ranges_requested: Option<u64>Normalized exact Parquet ranges requested through direct multi-range calls.
parquet_data_file_exact_range_bytes_requested: Option<u64>Bytes in those normalized exact Parquet ranges.
parquet_data_file_physical_range_requests_planned: Option<u64>Physical range requests selected by the automatic planner.
parquet_data_file_physical_range_bytes_planned: Option<u64>Bytes covered by those automatically planned physical range requests.
parquet_data_file_cold_start_range_plans: Option<u64>Automatic range plans selected without a usable transport estimate.
parquet_data_file_cost_based_exact_range_plans: Option<u64>Automatic range plans where an estimate favored the normalized exact ranges.
parquet_data_file_cost_based_merged_range_plans: Option<u64>Automatic range plans where an estimate favored merging gaps between exact ranges.
parquet_data_file_store_delegated_range_plans: Option<u64>Range-planning decisions delegated to the store’s own implementation.
parquet_data_file_range_get_operations: Option<u64>Direct Parquet ranged GET operations, or None for another backend.
parquet_data_file_full_get_operations: Option<u64>Direct Parquet full GET operations, or None for another backend.
parquet_data_file_bytes_received: Option<u64>Direct Parquet payload bytes received, or None for another backend.
estimated_parquet_task_bytes_admitted: Option<u64>Estimated bytes admitted across direct Parquet tasks, or None for another backend.
Trait Implementations§
Source§impl Clone for DeltaScanMetricsSnapshot
impl Clone for DeltaScanMetricsSnapshot
Source§fn clone(&self) -> DeltaScanMetricsSnapshot
fn clone(&self) -> DeltaScanMetricsSnapshot
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 DeltaScanMetricsSnapshot
impl Debug for DeltaScanMetricsSnapshot
impl Eq for DeltaScanMetricsSnapshot
Source§impl PartialEq for DeltaScanMetricsSnapshot
impl PartialEq for DeltaScanMetricsSnapshot
impl StructuralPartialEq for DeltaScanMetricsSnapshot
Auto Trait Implementations§
impl Freeze for DeltaScanMetricsSnapshot
impl RefUnwindSafe for DeltaScanMetricsSnapshot
impl Send for DeltaScanMetricsSnapshot
impl Sync for DeltaScanMetricsSnapshot
impl Unpin for DeltaScanMetricsSnapshot
impl UnsafeUnpin for DeltaScanMetricsSnapshot
impl UnwindSafe for DeltaScanMetricsSnapshot
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> AsAny for T
impl<T> AsAny for T
Source§fn any_ref(&self) -> &(dyn Any + Sync + Send + 'static)
fn any_ref(&self) -> &(dyn Any + Sync + Send + 'static)
dyn Any reference to the object: Read moreSource§fn as_any(self: Arc<T>) -> Arc<dyn Any + Sync + Send> ⓘ
fn as_any(self: Arc<T>) -> Arc<dyn Any + Sync + Send> ⓘ
Arc<dyn Any> reference to the object: Read moreSource§fn into_any(self: Box<T>) -> Box<dyn Any + Sync + Send>
fn into_any(self: Box<T>) -> Box<dyn Any + Sync + Send>
Box<dyn Any>: Read moreSource§fn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
std::any::type_name, since Any does not provide it and
Any::type_id is useless as a debugging aid (its Debug is just a mess of hex digits).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> DynPartialEq for T
impl<T> DynPartialEq for T
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> 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