solana_runtime/
cache_hash_data_stats.rs1#[derive(Default, Debug)]
3pub struct CacheHashDataStats {
4 pub cache_file_size: usize,
5 pub cache_file_count: usize,
6 pub total_entries: usize,
7 pub loaded_from_cache: usize,
8 pub entries_loaded_from_cache: usize,
9 pub save_us: u64,
10 pub saved_to_cache: usize,
11 pub write_to_mmap_us: u64,
12 pub create_save_us: u64,
13 pub load_us: u64,
14 pub read_us: u64,
15 pub decode_us: u64,
16 pub merge_us: u64,
17 pub unused_cache_files: usize,
18}
19
20impl CacheHashDataStats {
21 pub fn merge(&mut self, other: &CacheHashDataStats) {
22 self.cache_file_size += other.cache_file_size;
23 self.total_entries += other.total_entries;
24 self.loaded_from_cache += other.loaded_from_cache;
25 self.entries_loaded_from_cache += other.entries_loaded_from_cache;
26 self.load_us += other.load_us;
27 self.read_us += other.read_us;
28 self.decode_us += other.decode_us;
29 self.save_us += other.save_us;
30 self.saved_to_cache += other.saved_to_cache;
31 self.create_save_us += other.create_save_us;
32 self.cache_file_count += other.cache_file_count;
33 self.write_to_mmap_us += other.write_to_mmap_us;
34 self.unused_cache_files += other.unused_cache_files;
35 }
36
37 pub fn report(&self) {
38 datapoint_info!(
39 "cache_hash_data_stats",
40 ("cache_file_size", self.cache_file_size, i64),
41 ("cache_file_count", self.cache_file_count, i64),
42 ("total_entries", self.total_entries, i64),
43 ("loaded_from_cache", self.loaded_from_cache, i64),
44 ("saved_to_cache", self.saved_to_cache, i64),
45 (
46 "entries_loaded_from_cache",
47 self.entries_loaded_from_cache,
48 i64
49 ),
50 ("save_us", self.save_us, i64),
51 ("write_to_mmap_us", self.write_to_mmap_us, i64),
52 ("create_save_us", self.create_save_us, i64),
53 ("load_us", self.load_us, i64),
54 ("read_us", self.read_us, i64),
55 ("decode_us", self.decode_us, i64),
56 ("unused_cache_files", self.unused_cache_files, i64),
57 );
58 }
59}