photondb_engine/tree/
stats.rs1use crate::util::Counter;
2
3#[derive(Default, Debug)]
4pub struct Stats {
5 pub cache_size: u64,
6 pub succeeded: OpStats,
7 pub conflicted: OpStats,
8}
9
10#[derive(Default, Debug)]
11pub struct OpStats {
12 pub num_gets: u64,
13 pub num_inserts: u64,
14 pub num_data_splits: u64,
15 pub num_data_consolidates: u64,
16 pub num_index_splits: u64,
17 pub num_index_consolidates: u64,
18}
19
20#[derive(Default)]
21pub struct AtomicStats {
22 pub succeeded: AtomicOpStats,
23 pub conflicted: AtomicOpStats,
24}
25
26#[derive(Default)]
27pub struct AtomicOpStats {
28 pub num_gets: Counter,
29 pub num_inserts: Counter,
30 pub num_data_splits: Counter,
31 pub num_data_consolidates: Counter,
32 pub num_index_splits: Counter,
33 pub num_index_consolidates: Counter,
34}
35
36impl AtomicOpStats {
37 pub fn snapshot(&self) -> OpStats {
38 OpStats {
39 num_gets: self.num_gets.get(),
40 num_inserts: self.num_inserts.get(),
41 num_data_splits: self.num_data_splits.get(),
42 num_data_consolidates: self.num_data_consolidates.get(),
43 num_index_splits: self.num_index_splits.get(),
44 num_index_consolidates: self.num_index_consolidates.get(),
45 }
46 }
47}