pub struct CacheStats {
pub hits: usize,
pub misses: usize,
pub evictions: usize,
pub memory_usage_bytes: usize,
pub avg_access_frequency: f64,
pub resize_count: usize,
pub peak_memory_bytes: usize,
pub last_cleanup_time: Instant,
}Expand description
Cache statistics for performance monitoring
Fields§
§hits: usizeNumber of cache hits
misses: usizeNumber of cache misses
evictions: usizeNumber of cache evictions
memory_usage_bytes: usizeTotal memory usage in bytes
avg_access_frequency: f64Average access frequency for adaptive sizing
resize_count: usizeNumber of cache resizes
peak_memory_bytes: usizePeak memory usage
last_cleanup_time: InstantLast cleanup timestamp (for TTL-based eviction)
Implementations§
Source§impl CacheStats
impl CacheStats
Sourcepub fn efficiency_score(&self) -> f64
pub fn efficiency_score(&self) -> f64
Calculate cache efficiency score (combines hit ratio and memory usage)
Sourcepub fn memory_usage_mb(&self) -> f64
pub fn memory_usage_mb(&self) -> f64
Get memory usage in MB
Sourcepub fn peak_memory_mb(&self) -> f64
pub fn peak_memory_mb(&self) -> f64
Get peak memory usage in MB
Sourcepub fn update_memory_usage(&mut self, currentbytes: usize)
pub fn update_memory_usage(&mut self, currentbytes: usize)
Update memory usage statistics
Sourcepub fn update_access_frequency(&mut self, new_accesscount: usize)
pub fn update_access_frequency(&mut self, new_accesscount: usize)
Update access frequency for adaptive sizing
Sourcepub fn needs_cleanup(&self, thresholdsecs: u64) -> bool
pub fn needs_cleanup(&self, thresholdsecs: u64) -> bool
Check if cleanup is needed based on time threshold
Trait Implementations§
Source§impl Clone for CacheStats
impl Clone for CacheStats
Source§fn clone(&self) -> CacheStats
fn clone(&self) -> CacheStats
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CacheStats
impl Debug for CacheStats
Auto Trait Implementations§
impl Freeze for CacheStats
impl RefUnwindSafe for CacheStats
impl Send for CacheStats
impl Sync for CacheStats
impl Unpin for CacheStats
impl UnsafeUnpin for CacheStats
impl UnwindSafe for CacheStats
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.