pub enum MetricEvent {
LogSegmentLoaded {
operation_id: MetricId,
duration: Duration,
num_commit_files: u64,
num_checkpoint_files: u64,
num_compaction_files: u64,
},
ProtocolMetadataLoaded {
operation_id: MetricId,
duration: Duration,
},
SnapshotCompleted {
operation_id: MetricId,
version: u64,
total_duration: Duration,
},
SnapshotFailed {
operation_id: MetricId,
duration: Duration,
},
StorageListCompleted {
duration: Duration,
num_files: u64,
},
StorageReadCompleted {
duration: Duration,
num_files: u64,
bytes_read: u64,
},
StorageCopyCompleted {
duration: Duration,
},
JsonReadCompleted {
num_files: u64,
bytes_read: u64,
},
ParquetReadCompleted {
num_files: u64,
bytes_read: u64,
},
ScanMetadataCompleted {
operation_id: MetricId,
scan_type: ScanType,
total_duration: Duration,
num_add_files_seen: u64,
num_active_add_files: u64,
num_remove_files_seen: u64,
num_non_file_actions: u64,
num_predicate_filtered: u64,
peak_hash_set_size: usize,
dedup_visitor_time_ms: u64,
predicate_eval_time_ms: u64,
},
}Expand description
Metric events emitted during Delta Kernel operations.
Some events include an operation_id (MetricId) that uniquely identifies the operation
instance. This allows correlating multiple events from the same operation.
Variants§
LogSegmentLoaded
Log segment loading completed (listing and organizing log files).
Fields
ProtocolMetadataLoaded
Protocol and metadata loading completed.
SnapshotCompleted
Snapshot creation completed successfully.
SnapshotFailed
Snapshot creation failed.
StorageListCompleted
Storage list operation completed. These events track storage-level latencies and are emitted automatically by the default storage handler implementation.
StorageReadCompleted
Storage read operation completed.
StorageCopyCompleted
Storage copy operation completed.
JsonReadCompleted
JSON file read operation completed (one event per JsonHandler::read_json_files call).
bytes_read is the sum of FileMeta::size for the requested files (on-disk size),
which is the best available approximation without re-reading the bytes.
ParquetReadCompleted
Parquet file read operation completed (one event per
ParquetHandler::read_parquet_files call).
bytes_read is the sum of FileMeta::size for the requested files (on-disk size),
which is the best available approximation without re-reading the bytes.
ScanMetadataCompleted
Scan metadata iteration completed.
Emitted when the scan metadata iterator is exhausted. This event captures metrics about the log replay process, including file counts and timing information.
Fields
scan_type: ScanTypeIndicates which scan execution path produced this event.
This is SequentialPhase or ParallelPhase for parallel log replay, and Full for
crate::scan::Scan::scan_metadata.
Trait Implementations§
Source§impl Clone for MetricEvent
impl Clone for MetricEvent
Source§fn clone(&self) -> MetricEvent
fn clone(&self) -> MetricEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MetricEvent
impl Debug for MetricEvent
Auto Trait Implementations§
impl Freeze for MetricEvent
impl RefUnwindSafe for MetricEvent
impl Send for MetricEvent
impl Sync for MetricEvent
impl Unpin for MetricEvent
impl UnsafeUnpin for MetricEvent
impl UnwindSafe for MetricEvent
Blanket Implementations§
Source§impl<T> AsAny for T
impl<T> AsAny for T
Source§fn any_ref(&self) -> &(dyn Any + Send + Sync + 'static)
fn any_ref(&self) -> &(dyn Any + Send + Sync + 'static)
dyn Any reference to the object: Read moreSource§fn as_any(self: Arc<T>) -> Arc<dyn Any + Send + Sync>
fn as_any(self: Arc<T>) -> Arc<dyn Any + Send + Sync>
Arc<dyn Any> reference to the object: Read moreSource§fn into_any(self: Box<T>) -> Box<dyn Any + Send + Sync>
fn into_any(self: Box<T>) -> Box<dyn Any + Send + Sync>
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
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 moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.
Source§impl<KernelType, ArrowType> TryIntoArrow<ArrowType> for KernelTypewhere
ArrowType: TryFromKernel<KernelType>,
impl<KernelType, ArrowType> TryIntoArrow<ArrowType> for KernelTypewhere
ArrowType: TryFromKernel<KernelType>,
Source§fn try_into_arrow(self) -> Result<ArrowType, ArrowError>
fn try_into_arrow(self) -> Result<ArrowType, ArrowError>
default-engine-native-tls or default-engine-rustls or arrow-conversion) and crate feature arrow-conversion only.Source§impl<KernelType, ArrowType> TryIntoKernel<KernelType> for ArrowTypewhere
KernelType: TryFromArrow<ArrowType>,
impl<KernelType, ArrowType> TryIntoKernel<KernelType> for ArrowTypewhere
KernelType: TryFromArrow<ArrowType>,
Source§fn try_into_kernel(self) -> Result<KernelType, ArrowError>
fn try_into_kernel(self) -> Result<KernelType, ArrowError>
default-engine-native-tls or default-engine-rustls or arrow-conversion) and crate feature arrow-conversion only.