Skip to main content

MetricEvent

Enum MetricEvent 

Source
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

§operation_id: MetricId
§duration: Duration
§num_commit_files: u64
§num_checkpoint_files: u64
§num_compaction_files: u64
§

ProtocolMetadataLoaded

Protocol and metadata loading completed.

Fields

§operation_id: MetricId
§duration: Duration
§

SnapshotCompleted

Snapshot creation completed successfully.

Fields

§operation_id: MetricId
§version: u64
§total_duration: Duration
§

SnapshotFailed

Snapshot creation failed.

Fields

§operation_id: MetricId
§duration: Duration
§

StorageListCompleted

Storage list operation completed. These events track storage-level latencies and are emitted automatically by the default storage handler implementation.

Fields

§duration: Duration
§num_files: u64
§

StorageReadCompleted

Storage read operation completed.

Fields

§duration: Duration
§num_files: u64
§bytes_read: u64
§

StorageCopyCompleted

Storage copy operation completed.

Fields

§duration: Duration
§

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.

Fields

§num_files: u64
§bytes_read: u64
§

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.

Fields

§num_files: u64
§bytes_read: u64
§

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

§operation_id: MetricId

Unique ID to correlate this scan with other events.

§scan_type: ScanType

Indicates which scan execution path produced this event.

This is SequentialPhase or ParallelPhase for parallel log replay, and Full for crate::scan::Scan::scan_metadata.

§total_duration: Duration

Total duration from scan start to iterator exhaustion.

§num_add_files_seen: u64

Add files that entered the deduplication visitor. This excludes files filtered by data skipping before deduplication. For the total number of add actions in the log, this value plus num_predicate_filtered gives a closer approximation.

§num_active_add_files: u64

Add files that survived log replay (files to read).

§num_remove_files_seen: u64

Remove files seen (from delta/commit files only).

§num_non_file_actions: u64

Non-file actions seen (protocol, metadata, etc.).

§num_predicate_filtered: u64

Files filtered by predicates (data skipping + partition pruning).

§peak_hash_set_size: usize

Peak size of the deduplication hash set.

§dedup_visitor_time_ms: u64

Time spent in the deduplication visitor (milliseconds).

§predicate_eval_time_ms: u64

Time spent evaluating predicates (milliseconds).

Trait Implementations§

Source§

impl Clone for MetricEvent

Source§

fn clone(&self) -> MetricEvent

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for MetricEvent

Source§

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

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

impl Display for MetricEvent

Source§

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

Formats the value using the given formatter. Read more

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> AsAny for T
where T: Any + Send + Sync,

Source§

fn any_ref(&self) -> &(dyn Any + Send + Sync + 'static)

Obtains a dyn Any reference to the object: Read more
Source§

fn as_any(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Obtains an Arc<dyn Any> reference to the object: Read more
Source§

fn into_any(self: Box<T>) -> Box<dyn Any + Send + Sync>

Converts the object to Box<dyn Any>: Read more
Source§

fn type_name(&self) -> &'static str

Convenient wrapper for 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> 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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T> ToStringFallible for T
where T: Display,

Source§

fn try_to_string(&self) -> Result<String, TryReserveError>

ToString::to_string, but without panic on OOM.

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.
Source§

impl<KernelType, ArrowType> TryIntoArrow<ArrowType> for KernelType
where ArrowType: TryFromKernel<KernelType>,

Source§

fn try_into_arrow(self) -> Result<ArrowType, ArrowError>

Available on (crate features default-engine-native-tls or default-engine-rustls or arrow-conversion) and crate feature arrow-conversion only.
Source§

impl<KernelType, ArrowType> TryIntoKernel<KernelType> for ArrowType
where KernelType: TryFromArrow<ArrowType>,

Source§

fn try_into_kernel(self) -> Result<KernelType, ArrowError>

Available on (crate features default-engine-native-tls or default-engine-rustls or arrow-conversion) and crate feature arrow-conversion only.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,