pub struct ParseStats {
pub lines_processed: u64,
pub lines_unclassified: u64,
pub lines_in_entries: u64,
pub lines_empty_orphan: u64,
pub lines_split: u64,
pub lines_dropped: u64,
pub unclassified_lines: Vec<UnclassifiedLine>,
}Expand description
Cumulative parsing statistics, updated as lines flow through the stream.
Fields§
§lines_processed: u64§lines_unclassified: u64§lines_in_entries: u64Lines that became part of entries (primary line + attached lines per entry).
lines_empty_orphan: u64Empty lines that arrived with no pending entry to attach to.
lines_split: u64Physical lines that were split into multiple logical entries due to mod_logfile’s 2048-byte snprintf truncation causing same-line collisions.
lines_dropped: u64Continuation lines an entry could not store because its attached buffer
outgrew the offsets addressing it. The entry carries a
ParseWarning::AttachedOverflow
naming each one.
unclassified_lines: Vec<UnclassifiedLine>Populated only when tracking is TrackLines or CaptureData.
Implementations§
Source§impl ParseStats
impl ParseStats
Sourcepub fn unaccounted_lines(&self) -> u64
pub fn unaccounted_lines(&self) -> u64
Lines that were processed but not accounted for by any tracking category.
Returns 0 when the parser correctly accounts for every input line.
A non-zero value indicates a parser bug — lines were silently lost.
A line the parser knowingly could not keep is counted in
lines_dropped rather than going missing here.
Invariant:
lines_processed + lines_split == lines_in_entries + lines_empty_orphan + lines_dropped
Trait Implementations§
Source§impl Clone for ParseStats
impl Clone for ParseStats
Source§fn clone(&self) -> ParseStats
fn clone(&self) -> ParseStats
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more