pub struct ExecutionMetadata {Show 16 fields
pub engine: Option<String>,
pub recovery_events: Option<Vec<RecoveryEvent>>,
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 unterminated_quote: Option<bool>,
pub source_exhausted: bool,
pub truncation_reason: Option<TruncationReason>,
pub sampling_applied: bool,
pub sampling_ratio: Option<f64>,
pub sampled_row_ranges: Option<Vec<[u64; 2]>>,
}Expand description
Metadata about the profiling execution.
Fields§
§engine: Option<String>Engine or parser that actually produced the report.
recovery_events: Option<Vec<RecoveryEvent>>Failed attempts and their retries. None means history was not recorded (e.g. a legacy report); Some([]) means no recovery occurred.
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.
unterminated_quote: Option<bool>Whether a CSV source ended inside a quoted field.
A quote that is never closed swallows every following row into the
last field of one record, and the parser accepts it. true means the
last record read may hold several source rows. Absent where it was not
checked: non-CSV input, a scan that stopped before the end of the
source, and reports written before 0.12.
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.
sampled_row_ranges: Option<Vec<[u64; 2]>>Exact zero-based, half-open source row ranges selected for analysis, in source order. Absent when the input path does not record a selection; an empty list means a recorded selection of zero rows.
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_unterminated_quote(self, ended_inside_quotes: bool) -> Self
pub fn with_unterminated_quote(self, ended_inside_quotes: bool) -> Self
Record whether a checked CSV source ended inside a quoted field.
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§impl Debug for ExecutionMetadata
impl Debug for ExecutionMetadata
Source§impl<'de> Deserialize<'de> for ExecutionMetadata
impl<'de> Deserialize<'de> for ExecutionMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for ExecutionMetadata
impl JsonSchema for ExecutionMetadata
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more