pub struct WriteCounters {
pub admission_waits: u64,
pub admission_wait_ms: u64,
pub checkpoints: u64,
pub checkpoint_wait_ms: u64,
pub wal_bytes_appended: u64,
pub applied_bytes: u64,
}Expand description
Cumulative write-path counters since the store opened. They are plain atomics, read live (no keyspace scan), so a metrics scrape reports them at every refresh.
Fields§
§admission_waits: u64Bounded admission-lock waits (including timed-out waits).
admission_wait_ms: u64Milliseconds spent waiting for admission-lock ownership.
checkpoints: u64Durability checkpoints that wrote: a checkpoint with nothing new to make durable is skipped and not counted.
checkpoint_wait_ms: u64Milliseconds spent in the checkpoints counted above.
wal_bytes_appended: u64Bytes appended to the WAL (framed records).
applied_bytes: u64Encoded bytes of every op, base and derived, handed to the backends.
With wal_bytes_appended, the two write streams a commit produces;
compare against rushdb.redb growth and the process’s block writes
to attribute write amplification.
Trait Implementations§
Source§impl Clone for WriteCounters
impl Clone for WriteCounters
impl Copy for WriteCounters
Source§impl Debug for WriteCounters
impl Debug for WriteCounters
Source§impl Default for WriteCounters
impl Default for WriteCounters
impl Eq for WriteCounters
Source§impl PartialEq for WriteCounters
impl PartialEq for WriteCounters
impl StructuralPartialEq for WriteCounters
Auto Trait Implementations§
impl Forget for WriteCounters
impl Freeze for WriteCounters
impl RefUnwindSafe for WriteCounters
impl Send for WriteCounters
impl Sync for WriteCounters
impl Unpin for WriteCounters
impl UnsafeUnpin for WriteCounters
impl UnwindSafe for WriteCounters
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§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.