1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5pub struct DbStats {
6 pub expired_count: u64,
8 pub operations_count: u64,
10 pub size_bytes: usize,
12 pub hot_state_objects: usize,
14 pub cold_state_trajectories: usize,
16 pub cold_state_buffer_bytes: usize,
18 pub memory_usage_bytes: usize,
20}
21
22impl DbStats {
23 pub fn new() -> Self {
24 Self::default()
25 }
26
27 pub fn record_operation(&mut self) {
28 self.operations_count += 1;
29 }
30
31 pub fn record_expired(&mut self, count: u64) {
32 self.expired_count += count;
33 }
34
35 pub fn set_size_bytes(&mut self, bytes: usize) {
36 self.size_bytes = bytes;
37 }
38}