pub struct SpikeStats {Show 14 fields
pub volume: String,
pub elapsed_volume_open_ms: u64,
pub elapsed_mft_load_ms: u64,
pub elapsed_iterate_ms: u64,
pub mft_bytes: u64,
pub total_records: u64,
pub files: u64,
pub dirs: u64,
pub reparse_points: u64,
pub no_name_in_base_record: u64,
pub name_utf16_units_total: u64,
pub max_name_utf16_units: u64,
pub frn_sequence_nonzero: u64,
pub peak_working_set_bytes: u64,
}Expand description
Measurements from a full $MFT scan of one volume.
Fields§
§volume: StringDrive letter spec of the scanned volume (e.g. C:).
elapsed_volume_open_ms: u64Time to open the raw volume handle, in milliseconds.
elapsed_mft_load_ms: u64Time for Mft::new: reads the whole $MFT into memory + fixups.
elapsed_iterate_ms: u64Time to walk every in-use record and extract name/size/dates.
mft_bytes: u64Size of the raw $MFT — the peak-RAM driver of this approach.
total_records: u64Total number of $MFT records walked (in-use and free), a count.
files: u64Number of named file records indexed, a count.
dirs: u64Number of named directory records indexed, a count.
reparse_points: u64Number of records whose name is a reparse point (junction/symlink), a count.
no_name_in_base_record: u64Records where the base record holds no usable $FILE_NAME (needs
attribute-list handling in M0).
name_utf16_units_total: u64Sum of name lengths across all named records, in UTF-16 code units.
max_name_utf16_units: u64Longest single name encountered, in UTF-16 code units.
frn_sequence_nonzero: u64Sanity check that reference_number() carries a sequence value.
peak_working_set_bytes: u64Peak working set of the process during the scan, in bytes.
Implementations§
Source§impl SpikeStats
impl SpikeStats
Sourcepub fn avg_name_utf16_units(&self) -> f64
pub fn avg_name_utf16_units(&self) -> f64
Mean name length across named records, in UTF-16 code units.
Trait Implementations§
Source§impl Debug for SpikeStats
impl Debug for SpikeStats
Source§impl Default for SpikeStats
impl Default for SpikeStats
Source§fn default() -> SpikeStats
fn default() -> SpikeStats
Auto Trait Implementations§
impl Freeze for SpikeStats
impl RefUnwindSafe for SpikeStats
impl Send for SpikeStats
impl Sync for SpikeStats
impl Unpin for SpikeStats
impl UnsafeUnpin for SpikeStats
impl UnwindSafe for SpikeStats
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