#[non_exhaustive]pub struct ScanBackendDiagnostics {
pub portable_attempts: u64,
pub portable_directory_reads: u64,
pub macos_bulk_attempts: Option<u64>,
pub macos_bulk_successes: Option<u64>,
pub macos_bulk_fallbacks: Option<u64>,
pub unavailable_reason: Option<&'static str>,
pub linux_dents_attempts: Option<u64>,
pub linux_dents_successes: Option<u64>,
pub linux_dents_fallbacks: Option<u64>,
}Expand description
Directory enumeration backends used by one scan.
Each native reader’s listings are counted in its own fields, and a directory it
declines is counted as its fallback and then as a portable attempt. On Linux, for the
native reader (getdents64 and statx, glibc builds):
linux_dents_attempts=linux_dents_successes+linux_dents_fallbacks;- the report’s
dirs_read=linux_dents_successes+portable_directory_reads.
unavailable_reason describes only the macOS fields.
Non-exhaustive, as crate::counters::Counts is: a diagnostics record grows with the
backends it describes, so a later field is an additive change. Code outside the engine
reads its fields; only the engine builds one.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.portable_attempts: u64Portable read_dir calls attempted.
portable_directory_reads: u64Portable directory listings completed successfully.
macos_bulk_attempts: Option<u64>macOS bulk enumeration attempts, or null off macOS.
macos_bulk_successes: Option<u64>Successful macOS bulk listings, or null off macOS.
macos_bulk_fallbacks: Option<u64>Bulk attempts that fell back to portable enumeration, or null off macOS.
Why macOS fields are null.
linux_dents_attempts: Option<u64>Linux native getdents64 listing attempts, or null off Linux (and on a Linux
build without glibc, where the native reader is not compiled).
linux_dents_successes: Option<u64>Successful Linux native listings, or null off Linux.
linux_dents_fallbacks: Option<u64>Linux native attempts that fell back to portable enumeration, or null off Linux.