pub struct ProgramCacheStats {
pub hits: AtomicU64,
pub misses: AtomicU64,
pub evictions: HashMap<Pubkey, u64>,
pub reloads: AtomicU64,
pub insertions: AtomicU64,
pub lost_insertions: AtomicU64,
pub replacements: AtomicU64,
pub one_hit_wonders: AtomicU64,
pub prunes_orphan: AtomicU64,
pub prunes_environment: AtomicU64,
pub empty_entries: AtomicU64,
pub water_level: AtomicU64,
}Expand description
Global cache statistics for ProgramCache.
Fields§
§hits: AtomicU64a program was already in the cache
misses: AtomicU64a program was not found and loaded instead
evictions: HashMap<Pubkey, u64>a compiled executable was unloaded
reloads: AtomicU64an unloaded program was loaded again (opposite of eviction)
insertions: AtomicU64a program was loaded or un/re/deployed
lost_insertions: AtomicU64a program was loaded but can not be extracted on its own fork anymore
replacements: AtomicU64a program which was already in the cache was reloaded by mistake
one_hit_wonders: AtomicU64a program was only used once before being unloaded
prunes_orphan: AtomicU64a program became unreachable in the fork graph because of rerooting
prunes_environment: AtomicU64a program got pruned because it was not recompiled for the next epoch
empty_entries: AtomicU64a program had no entries because all slot versions got pruned
water_level: AtomicU64water level of loaded entries currently cached
Implementations§
Trait Implementations§
Source§impl Debug for ProgramCacheStats
impl Debug for ProgramCacheStats
Source§impl Default for ProgramCacheStats
impl Default for ProgramCacheStats
Source§fn default() -> ProgramCacheStats
fn default() -> ProgramCacheStats
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for ProgramCacheStats
impl RefUnwindSafe for ProgramCacheStats
impl Send for ProgramCacheStats
impl Sync for ProgramCacheStats
impl Unpin for ProgramCacheStats
impl UnwindSafe for ProgramCacheStats
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> 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