2021-09-13 18:39:26 -07:00
|
|
|
//! Cached data for hashing accounts
|
2023-08-18 09:24:59 -07:00
|
|
|
use std::sync::atomic::{AtomicU64, AtomicUsize, Ordering};
|
|
|
|
|
2021-09-13 18:39:26 -07:00
|
|
|
#[derive(Default, Debug)]
|
|
|
|
pub struct CacheHashDataStats {
|
2023-08-18 09:24:59 -07:00
|
|
|
pub cache_file_size: AtomicUsize,
|
|
|
|
pub cache_file_count: AtomicUsize,
|
|
|
|
pub total_entries: AtomicUsize,
|
|
|
|
pub loaded_from_cache: AtomicUsize,
|
|
|
|
pub entries_loaded_from_cache: AtomicUsize,
|
|
|
|
pub save_us: AtomicU64,
|
|
|
|
pub saved_to_cache: AtomicUsize,
|
|
|
|
pub write_to_mmap_us: AtomicU64,
|
|
|
|
pub create_save_us: AtomicU64,
|
|
|
|
pub load_us: AtomicU64,
|
|
|
|
pub read_us: AtomicU64,
|
|
|
|
pub unused_cache_files: AtomicUsize,
|
2021-09-13 18:39:26 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
impl CacheHashDataStats {
|
|
|
|
pub fn report(&self) {
|
|
|
|
datapoint_info!(
|
|
|
|
"cache_hash_data_stats",
|
2023-08-18 09:24:59 -07:00
|
|
|
(
|
|
|
|
"cache_file_size",
|
|
|
|
self.cache_file_size.load(Ordering::Relaxed),
|
|
|
|
i64
|
|
|
|
),
|
|
|
|
(
|
|
|
|
"cache_file_count",
|
|
|
|
self.cache_file_count.load(Ordering::Relaxed),
|
|
|
|
i64
|
|
|
|
),
|
|
|
|
(
|
|
|
|
"total_entries",
|
|
|
|
self.total_entries.load(Ordering::Relaxed),
|
|
|
|
i64
|
|
|
|
),
|
|
|
|
(
|
|
|
|
"loaded_from_cache",
|
|
|
|
self.loaded_from_cache.load(Ordering::Relaxed),
|
|
|
|
i64
|
|
|
|
),
|
|
|
|
(
|
|
|
|
"saved_to_cache",
|
|
|
|
self.saved_to_cache.load(Ordering::Relaxed),
|
|
|
|
i64
|
|
|
|
),
|
2021-09-13 18:39:26 -07:00
|
|
|
(
|
|
|
|
"entries_loaded_from_cache",
|
2023-08-18 09:24:59 -07:00
|
|
|
self.entries_loaded_from_cache.load(Ordering::Relaxed),
|
|
|
|
i64
|
|
|
|
),
|
|
|
|
("save_us", self.save_us.load(Ordering::Relaxed), i64),
|
|
|
|
(
|
|
|
|
"write_to_mmap_us",
|
|
|
|
self.write_to_mmap_us.load(Ordering::Relaxed),
|
|
|
|
i64
|
|
|
|
),
|
|
|
|
(
|
|
|
|
"create_save_us",
|
|
|
|
self.create_save_us.load(Ordering::Relaxed),
|
|
|
|
i64
|
|
|
|
),
|
|
|
|
("load_us", self.load_us.load(Ordering::Relaxed), i64),
|
|
|
|
("read_us", self.read_us.load(Ordering::Relaxed), i64),
|
|
|
|
(
|
|
|
|
"unused_cache_files",
|
|
|
|
self.unused_cache_files.load(Ordering::Relaxed),
|
2021-09-13 18:39:26 -07:00
|
|
|
i64
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|