pub struct MetricsSnapshot {
pub wal_pages: Option<u64>,
pub wal_truncate_attempts: u64,
pub wal_truncate_consecutive_failures: u64,
pub wal_checkpoint_skipped_ticks: u64,
pub wal_checkpoint_consecutive_skips: u64,
pub wal_checkpoint_last_skip_wal_pages: Option<u64>,
pub oldest_pinned_tx_micros: Option<u64>,
pub oldest_pinned_tx_label: Option<String>,
pub open_tx_count: usize,
pub write_queue_depth: Option<usize>,
pub write_queue_capacity: Option<usize>,
}Expand description
Point-in-time snapshot of the daemon’s server-side gauges — the load/perf harness read-surface (measurement substrate, not a product feature).
Every field here is a server-side gauge reachable from handle_conn
without any mutation: khive_storage::tx_registry (ADR-091 Plank 0,
process-global singleton), the WAL checkpoint task’s last-observed page
count and TRUNCATE counters (khive_db::checkpoint), and the ADR-067
Component A write queue depth (only when KHIVE_WRITE_QUEUE=1). There is
no reset reachable through this type or through DaemonRequestFrame —
gauges out, nothing in.
Fields§
§wal_pages: Option<u64>Last-observed WAL page count from the periodic checkpoint tick.
None when the checkpoint task has never ticked in this process
(for example, an in-memory dispatcher with no pool, or a daemon that
just started and hasn’t hit its first tick yet).
wal_truncate_attempts: u64Total WAL TRUNCATE escalation attempts (ADR-091 Plank 2) made in this process’s lifetime, regardless of whether they succeeded in reclaiming pages.
wal_truncate_consecutive_failures: u64Current consecutive-failure count for TRUNCATE attempts that failed to
bring the WAL back below warn_pages; resets to 0 the next time an
attempt clears it.
wal_checkpoint_skipped_ticks: u64Total checkpoint ticks skipped because the writer mutex was busy
(ADR-091 checkpoint-pressure telemetry), across this process’s
lifetime. #[serde(default)] so an older client decoding a newer
daemon’s snapshot (or vice versa) does not fail.
wal_checkpoint_consecutive_skips: u64Current consecutive-skip run length; 0 once the next tick is observed.
wal_checkpoint_last_skip_wal_pages: Option<u64>WAL page count last known at the time of the most recent skip, if any skip has occurred yet in this process.
oldest_pinned_tx_micros: Option<u64>Age, in microseconds, of the oldest currently-open transaction
registry entry (ADR-091 Plank 0). None when no transaction is
currently open.
oldest_pinned_tx_label: Option<String>Diagnostic label of the oldest currently-open transaction registry entry, if any and if it was registered with one.
open_tx_count: usizeNumber of currently open transaction registry entries.
write_queue_depth: Option<usize>Current write-queue backlog depth (ADR-067 Component A): requests
enqueued but not yet accepted by the WriterTask drain loop. None
unless the write queue is enabled (KHIVE_WRITE_QUEUE=1) and a
file-backed pool is available.
write_queue_capacity: Option<usize>The write queue’s configured bounded capacity
(PoolConfig::write_queue_capacity), gated the same as
write_queue_depth.
Trait Implementations§
Source§impl Clone for MetricsSnapshot
impl Clone for MetricsSnapshot
Source§fn clone(&self) -> MetricsSnapshot
fn clone(&self) -> MetricsSnapshot
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more