pub struct PoolStats {Show 18 fields
pub imports_performed: u64,
pub reused: u64,
pub acquired: u64,
pub released_to_pool: u64,
pub released_dropped: u64,
pub drains: u64,
pub drained: u64,
pub fresh_import_refusals: u64,
pub rss_samples: u64,
pub rss_samples_unavailable: u64,
pub key_hits: u64,
pub key_misses: u64,
pub distinct_keys_seen: u64,
pub fresh_imports_avoided: u64,
pub miss_empty_pool: u64,
pub miss_reuse_disabled: u64,
pub miss_no_matching_key: u64,
pub last_miss_reason: Option<SessionPoolKeyMissReason>,
}Expand description
Cumulative metrics for one SessionPool.
Snapshot via SessionPool::stats. Counters never reset—to
compute a delta, take two snapshots and subtract.
imports_performed + reused == acquired by construction: every
SessionPool::acquire call increments acquired exactly once
plus either imports_performed (cache miss) or reused (cache
hit). Similarly, released_to_pool + released_dropped counts every
PooledSession::drop firing. released_to_pool is cumulative:
an entry counted there may later be removed by SessionPool::drain,
which records the removal in drained.
Fields§
§imports_performed: u64Number of fresh Lean.importModules calls performed because no
pooled environment matched the requested imports list.
reused: u64Number of acquire calls that found a matching pooled environment and reused it instead of re-importing.
acquired: u64Total acquire calls (== imports_performed + reused).
released_to_pool: u64Number of release events that pushed the environment back onto the free list.
released_dropped: u64Number of release events that dropped the environment because the pool was at capacity.
drains: u64Number of explicit SessionPool::drain calls.
drained: u64Number of cached environments dropped by explicit drains.
fresh_import_refusals: u64Number of fresh imports refused by SessionPoolMemoryPolicy.
rss_samples: u64Number of process RSS samples taken before fresh imports.
Number of process RSS samples that were unavailable.
key_hits: u64Number of acquire calls that matched a reusable session key.
key_misses: u64Number of acquire calls that could not reuse a session key.
distinct_keys_seen: u64Number of distinct session keys observed by this pool.
fresh_imports_avoided: u64Number of fresh imports avoided by key hits.
miss_empty_pool: u64Key misses because the pool had no reusable entry.
miss_reuse_disabled: u64Key misses because the pool has zero reuse capacity.
miss_no_matching_key: u64Key misses because cached entries existed but none matched the requested key.
last_miss_reason: Option<SessionPoolKeyMissReason>Most recent key-miss reason.