pub struct IndexStats {Show 21 fields
pub volume: String,
pub entries: u64,
pub live_entries: u64,
pub tombstones: u64,
pub name_pool_bytes: u64,
pub lower_pool_bytes: u64,
pub offsets_bytes: u64,
pub parent_bytes: u64,
pub size_bytes: u64,
pub mtime_bytes: u64,
pub frn_bytes: u64,
pub flag_bytes: u64,
pub permutations_bytes: u64,
pub frn_map_bytes: u64,
pub dead_name_bytes: u64,
pub pool_garbage_ratio: f64,
pub derived_cache_bytes: u64,
pub total_bytes: u64,
pub bytes_per_entry: f64,
pub content_generation: u64,
pub structural_generation: u64,
}Expand description
Per-column memory accounting for one volume index.
Fields§
§volume: StringThe volume this index covers (e.g. “C:”).
entries: u64Total rows in the index (live + tombstones).
live_entries: u64Number of live (non-tombstoned) rows.
tombstones: u64Number of tombstoned (deleted) rows.
name_pool_bytes: u64Bytes held by the original-case name pool.
lower_pool_bytes: u64Bytes held by the case-folded (lowercase) name pool.
offsets_bytes: u64Bytes held by the name-pool offset table.
parent_bytes: u64Bytes held by the parent-pointer column.
size_bytes: u64Bytes held by the file-size column.
mtime_bytes: u64Bytes held by the modification-time column.
frn_bytes: u64Bytes held by the File Reference Number column.
flag_bytes: u64Bytes held by the per-entry flag column.
permutations_bytes: u64Bytes held by the sort permutations.
frn_map_bytes: u64Bytes held by the FRN-to-row lookup map.
dead_name_bytes: u64Abandoned name bytes across both pools (tombstoned rows, in-place dir renames: the folded copy always, the original copy when one existed) — the reclaimable garbage. Compaction-trigger input; a lower bound right after a snapshot restore.
pool_garbage_ratio: f64dead_name_bytes / (name_pool + lower_pool).
derived_cache_bytes: u64Generation-cached query accelerators (offset table, dir-path memo). Part of the bytes/entry gate — they live in the engine process.
total_bytes: u64Total resident bytes for this index (sum of all columns + caches).
bytes_per_entry: f64total_bytes / entries — the bytes/entry gate metric.
content_generation: u64Content generation counter (bumps on name/data changes).
structural_generation: u64Structural generation counter (bumps on add/remove/rename).
Implementations§
Source§impl IndexStats
impl IndexStats
Sourcepub fn add_derived_bytes(&mut self, bytes: u64)
pub fn add_derived_bytes(&mut self, bytes: u64)
Fold the derived-cache footprint in (the index module cannot compute it itself — the cached types belong to the query layer).
Trait Implementations§
Source§impl Clone for IndexStats
impl Clone for IndexStats
Source§fn clone(&self) -> IndexStats
fn clone(&self) -> IndexStats
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IndexStats
impl Debug for IndexStats
Source§impl Default for IndexStats
impl Default for IndexStats
Source§fn default() -> IndexStats
fn default() -> IndexStats
Auto Trait Implementations§
impl Freeze for IndexStats
impl RefUnwindSafe for IndexStats
impl Send for IndexStats
impl Sync for IndexStats
impl Unpin for IndexStats
impl UnsafeUnpin for IndexStats
impl UnwindSafe for IndexStats
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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