pub struct FragmentationReport {
pub total_bytes: u64,
pub used_bytes: u64,
pub free_bytes: u64,
pub free_extent_count: usize,
pub largest_free_extent: u64,
pub fragmentation_score: f64,
}Expand description
Summary statistics produced by StorageFragmentationAnalyzer::analyze.
Fields§
§total_bytes: u64Total addressable bytes (used + free).
used_bytes: u64Bytes occupied by live blocks.
free_bytes: u64Bytes that are currently unoccupied.
free_extent_count: usizeNumber of distinct free extents.
largest_free_extent: u64Size (in bytes) of the single largest free extent.
fragmentation_score: f64Fragmentation score in [0.0, 1.0].
0.0 means all free space is in one contiguous run (perfect).
1.0 means every byte of free space is isolated (totally fragmented).
Formula: 1.0 - (largest_free_extent / free_bytes) when free_bytes > 0, else 0.0.
Implementations§
Source§impl FragmentationReport
impl FragmentationReport
Sourcepub fn utilization(&self) -> f64
pub fn utilization(&self) -> f64
Fraction of total storage that is in use: used_bytes / total_bytes.max(1).
Trait Implementations§
Source§impl Clone for FragmentationReport
impl Clone for FragmentationReport
Source§fn clone(&self) -> FragmentationReport
fn clone(&self) -> FragmentationReport
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for FragmentationReport
impl RefUnwindSafe for FragmentationReport
impl Send for FragmentationReport
impl Sync for FragmentationReport
impl Unpin for FragmentationReport
impl UnsafeUnpin for FragmentationReport
impl UnwindSafe for FragmentationReport
Blanket Implementations§
impl<T> Allocation for T
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
Converts
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>
Converts
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