pub struct BlockCacheStats {
pub hits: u64,
pub misses: u64,
pub decoded: u64,
pub fetched: u64,
pub entries: u64,
pub resident_bytes: u64,
}Expand description
Point-in-time snapshot of BlockCache activity, for metrics/monitoring.
hits/misses/decoded/fetched are monotonic since the cache was
created; entries/resident_bytes are the current (eventually-consistent)
cache occupancy. Poll this periodically and export to your metrics backend
(e.g. OpenTelemetry gauges/counters):
- hit ratio =
hits / (hits + misses), - decode-saving =
1 - decoded / misses, - fetch amplification =
fetched / decoded(1.0 = no duplicate fetches), resident_bytesvs the configured budget = memory pressure.
Fields§
§hits: u64Probe hits (block already decoded and resident).
misses: u64Probe misses (block needed fetch + decode).
decoded: u64Blocks decoded (single-flighted; ~= unique cold blocks).
fetched: u64Blocks fetched from the object store.
entries: u64Current number of cached blocks (eventually consistent).
resident_bytes: u64Current resident byte size of cached blocks (eventually consistent).
Trait Implementations§
Source§impl Clone for BlockCacheStats
impl Clone for BlockCacheStats
impl Copy for BlockCacheStats
Source§impl Debug for BlockCacheStats
impl Debug for BlockCacheStats
impl Eq for BlockCacheStats
Source§impl PartialEq for BlockCacheStats
impl PartialEq for BlockCacheStats
impl StructuralPartialEq for BlockCacheStats
Auto Trait Implementations§
impl Freeze for BlockCacheStats
impl RefUnwindSafe for BlockCacheStats
impl Send for BlockCacheStats
impl Sync for BlockCacheStats
impl Unpin for BlockCacheStats
impl UnsafeUnpin for BlockCacheStats
impl UnwindSafe for BlockCacheStats
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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