pub struct ScanStats {Show 25 fields
pub volume: String,
pub elapsed_total_ms: u64,
pub elapsed_mft_load_ms: u64,
pub elapsed_parse_ms: u64,
pub elapsed_deferred_ms: u64,
pub deferred_names: u64,
pub elapsed_build_ms: u64,
pub elapsed_sort_ms: u64,
pub pipeline_fallbacks: u64,
pub files: u64,
pub dirs: u64,
pub skipped_no_name: u64,
pub peak_working_set_bytes: u64,
pub mft_bytes: u64,
pub extension_records: u64,
pub corrupt_records: u64,
pub deferred_unresolved: u64,
pub ext_name_cache_skipped: u64,
pub deferred_name_read_failures: u64,
pub walk_dirs: u64,
pub walk_files: u64,
pub elapsed_walk_ms: u64,
pub walk_read_errors: u64,
pub walk_depth_truncated: u64,
pub walk_excluded_pruned: u64,
}Expand description
Statistics from a full index build.
Fields§
§volume: StringDrive letter spec that was scanned (e.g. C:).
elapsed_total_ms: u64Wall-clock time for the whole scan + build (ms).
elapsed_mft_load_ms: u64Accumulated device-read time. Overlaps with parsing on the pipelined path, so read + parse + build + sort may exceed total.
elapsed_parse_ms: u64Accumulated record-parse time (fixup + attribute walk + WTF-8).
elapsed_deferred_ms: u64Deferred $ATTRIBUTE_LIST name resolution.
deferred_names: u64Records whose name needed the deferred pass at all.
elapsed_build_ms: u64Builder finish: parent resolution + EXCLUDED propagation.
elapsed_sort_ms: u64Builder finish: the three permutation sorts.
pipeline_fallbacks: u641 when the read-ahead I/O thread could not start and the scan degraded to inline sequential reads.
files: u64Files indexed (count).
dirs: u64Directories indexed (count).
skipped_no_name: u64Records dropped because no usable name could be resolved (count).
peak_working_set_bytes: u64Peak working-set RAM of the scanning process (bytes).
mft_bytes: u64Raw $MFT size — the bytes the initial scan reads.
extension_records: u64Extension records (base_reference != 0) — parts of other files,
correctly not indexed standalone.
corrupt_records: u64Records failing signature/fixup validation.
deferred_unresolved: u64Deferred $ATTRIBUTE_LIST records whose name never resolved.
ext_name_cache_skipped: u64Name-bearing extension records past the in-RAM cache cap (those targets fall back to disk reads in the deferred pass).
deferred_name_read_failures: u64Deferred-pass targeted disk reads that failed — each one is a name that stays unresolved until the next rescan.
walk_dirs: u64Scope-mode (folder-walk, ADR-0024) only: directories enumerated.
walk_files: u64Scope-mode only: files enumerated.
elapsed_walk_ms: u64Scope-mode only: wall-clock of the enumeration phase (ms).
walk_read_errors: u64Scope-mode only: roots/dirs/entries skipped because they could not be read (permission, vanished). The worker maps this to a counter + warn.
walk_depth_truncated: u64Scope-mode only: subtrees not descended because they hit MAX_DEPTH.
walk_excluded_pruned: u64Scope-mode only: directories (and their subtrees) skipped because they matched a user exclude (ADR-0025). Normal behaviour, not a degradation — surfaced in the scan-complete log, never a degrade counter.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ScanStats
impl RefUnwindSafe for ScanStats
impl Send for ScanStats
impl Sync for ScanStats
impl Unpin for ScanStats
impl UnsafeUnpin for ScanStats
impl UnwindSafe for ScanStats
Blanket Implementations§
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more