Struct solana_program_runtime::loaded_programs::Stats
source · pub struct Stats {
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,
}Expand description
Global cache statistics for LoadedPrograms.
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: AtomicU64the [SecondLevel] was empty because all slot versions got pruned
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Stats
impl RefUnwindSafe for Stats
impl Send for Stats
impl Sync for Stats
impl Unpin for Stats
impl UnwindSafe for Stats
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