pub struct ExecutionMetadata {Show 13 fields
pub engine: Option<String>,
pub rows_processed: usize,
pub bytes_consumed: Option<u64>,
pub columns_detected: usize,
pub scan_time_ms: u128,
pub throughput_rows_sec: Option<f64>,
pub memory_peak_mb: Option<f64>,
pub error_count: usize,
pub ragged_row_count: usize,
pub source_exhausted: bool,
pub truncation_reason: Option<TruncationReason>,
pub sampling_applied: bool,
pub sampling_ratio: Option<f64>,
}Expand description
Metadata about the profiling execution.
Fields§
§engine: Option<String>Engine or parser that actually produced the report.
rows_processed: usizeNumber of rows actually processed or analyzed.
bytes_consumed: Option<u64>Number of bytes consumed from the source, if known.
columns_detected: usizeNumber of columns detected in the data.
scan_time_ms: u128Total execution time in milliseconds.
throughput_rows_sec: Option<f64>Throughput in rows per second, auto-calculated when possible.
memory_peak_mb: Option<f64>Peak process memory usage (resident set size) in megabytes observed during profiling, sampled at chunk/batch boundaries. Absent when the platform provided no reading or the input path does not track memory.
error_count: usizeNumber of errors encountered during profiling.
ragged_row_count: usizeNumber of data rows whose field count differed from the header’s.
These rows were recovered — extra trailing fields dropped, missing
trailing fields padded to null — so profiling continued, but each one
is a structural violation in the source. A nonzero value means the file
did not parse cleanly even though a report was produced. Additive field:
legacy documents without it deserialize as 0.
source_exhausted: boolWhether the entire source was consumed.
truncation_reason: Option<TruncationReason>If the source was not exhausted, why processing stopped.
sampling_applied: boolWhether sampling was applied.
sampling_ratio: Option<f64>Ratio of rows analyzed to total rows when sampling is meaningful.
Implementations§
Source§impl ExecutionMetadata
impl ExecutionMetadata
Sourcepub fn new(
rows_processed: usize,
columns_detected: usize,
scan_time_ms: u128,
) -> Self
pub fn new( rows_processed: usize, columns_detected: usize, scan_time_ms: u128, ) -> Self
Create new execution metadata with throughput calculated automatically.
Sourcepub fn with_engine(self, engine: impl Into<String>) -> Self
pub fn with_engine(self, engine: impl Into<String>) -> Self
Record the engine or parser that actually produced the report.
Sourcepub fn with_sampling(self, ratio: f64) -> Self
pub fn with_sampling(self, ratio: f64) -> Self
Set sampling information.
Sourcepub fn with_source_exhausted(self, exhausted: bool) -> Self
pub fn with_source_exhausted(self, exhausted: bool) -> Self
Explicitly set whether the source was fully consumed.
Sourcepub fn with_truncation(self, reason: TruncationReason) -> Self
pub fn with_truncation(self, reason: TruncationReason) -> Self
Mark the execution as truncated.
Sourcepub fn with_bytes_consumed(self, bytes: u64) -> Self
pub fn with_bytes_consumed(self, bytes: u64) -> Self
Set the number of bytes consumed from the source.
Sourcepub fn with_error_count(self, count: usize) -> Self
pub fn with_error_count(self, count: usize) -> Self
Set the error count.
Sourcepub fn with_ragged_row_count(self, count: usize) -> Self
pub fn with_ragged_row_count(self, count: usize) -> Self
Set the count of ragged rows (field count != header field count).
Sourcepub fn with_memory_peak_mb(self, mb: f64) -> Self
pub fn with_memory_peak_mb(self, mb: f64) -> Self
Set peak memory usage.
Trait Implementations§
Source§impl Clone for ExecutionMetadata
impl Clone for ExecutionMetadata
Source§fn clone(&self) -> ExecutionMetadata
fn clone(&self) -> ExecutionMetadata
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more