StorageStats

Struct StorageStats 

Source
pub struct StorageStats {
    pub current_key_bytes: u64,
    pub current_value_bytes: u64,
    pub historical_key_bytes: u64,
    pub historical_value_bytes: u64,
    pub current_count: u64,
    pub historical_count: u64,
    pub cdc_key_bytes: u64,
    pub cdc_value_bytes: u64,
    pub cdc_count: u64,
}
Expand description

Storage statistics for a single object or aggregate.

Tracks both “current” (latest MVCC version) and “historical” (older versions) separately to understand storage overhead from versioning.

Fields§

§current_key_bytes: u64

Total bytes used by keys for latest versions

§current_value_bytes: u64

Total bytes used by values for latest versions

§historical_key_bytes: u64

Total bytes used by keys for older MVCC versions

§historical_value_bytes: u64

Total bytes used by values for older MVCC versions

§current_count: u64

Number of current (latest version) entries

§historical_count: u64

Number of historical (older version) entries

§cdc_key_bytes: u64

Total CDC key bytes attributed to this object

§cdc_value_bytes: u64

Total CDC value bytes attributed to this object

§cdc_count: u64

Number of CDC entries attributed to this object

Implementations§

Source§

impl StorageStats

Source

pub fn new() -> StorageStats

Create new empty stats.

Source

pub fn total_bytes(&self) -> u64

Total bytes across current and historical data.

Source

pub fn current_bytes(&self) -> u64

Total bytes for current (latest) data only.

Source

pub fn historical_bytes(&self) -> u64

Total bytes for historical (older) data only.

Source

pub fn cdc_total_bytes(&self) -> u64

Total CDC bytes for this object.

Source

pub fn total_count(&self) -> u64

Total entry count across current and historical.

Source

pub fn record_cdc(&mut self, key_bytes: u64, value_bytes: u64, count: u64)

Record CDC bytes for a change attributed to this object.

Source

pub fn record_insert(&mut self, key_bytes: u64, value_bytes: u64)

Record a new entry (insert of a key that didn’t exist).

Source

pub fn record_update( &mut self, new_key_bytes: u64, new_value_bytes: u64, old_key_bytes: u64, old_value_bytes: u64, )

Record an update (new version of existing key).

The old version moves from current to historical.

Source

pub fn record_delete( &mut self, tombstone_key_bytes: u64, old_key_bytes: u64, old_value_bytes: u64, )

Record a delete (tombstone for existing key).

The old version moves to historical, tombstone key added to historical.

Source

pub fn record_drop(&mut self, key_bytes: u64, value_bytes: u64)

Record a drop (physical removal of a historical version entry).

Unlike delete, drop doesn’t create tombstones - it physically removes entries from storage. Used for MVCC cleanup of old versions.

Trait Implementations§

Source§

impl AddAssign for StorageStats

Source§

fn add_assign(&mut self, rhs: StorageStats)

Performs the += operation. Read more
Source§

impl Clone for StorageStats

Source§

fn clone(&self) -> StorageStats

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StorageStats

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for StorageStats

Source§

fn default() -> StorageStats

Returns the “default value” for a type. Read more
Source§

impl PartialEq for StorageStats

Source§

fn eq(&self, other: &StorageStats) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for StorageStats

Source§

impl StructuralPartialEq for StorageStats

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more