add hash calc scan_chunks metric (#30333)

This commit is contained in:
Jeff Washington (jwash) 2023-02-20 14:55:48 -06:00 committed by GitHub
parent ec288ded9b
commit 46b42e1888
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 2 deletions

View File

@ -7076,7 +7076,7 @@ impl AccountsDb {
snapshot_storages: &SortedStorages, snapshot_storages: &SortedStorages,
scanner: S, scanner: S,
bin_range: &Range<usize>, bin_range: &Range<usize>,
stats: &HashStats, stats: &mut HashStats,
) -> Vec<CacheHashDataFile> ) -> Vec<CacheHashDataFile>
where where
S: AppendVecScan, S: AppendVecScan,
@ -7089,6 +7089,7 @@ impl AccountsDb {
snapshot_storages, snapshot_storages,
); );
stats.scan_chunks = splitter.chunk_count;
(0..splitter.chunk_count) (0..splitter.chunk_count)
.into_par_iter() .into_par_iter()
.map(|chunk| { .map(|chunk| {
@ -10378,7 +10379,7 @@ pub mod tests {
&get_storage_refs(&[storage]), &get_storage_refs(&[storage]),
test_scan, test_scan,
&Range { start: 0, end: 1 }, &Range { start: 0, end: 1 },
&HashStats::default(), &mut HashStats::default(),
); );
assert_eq!(calls.load(Ordering::Relaxed), 1); assert_eq!(calls.load(Ordering::Relaxed), 1);
assert_scan( assert_scan(

View File

@ -127,6 +127,7 @@ pub struct HashStats {
pub hash_total: usize, pub hash_total: usize,
pub unreduced_entries: usize, pub unreduced_entries: usize,
pub num_snapshot_storage: usize, pub num_snapshot_storage: usize,
pub scan_chunks: usize,
pub num_slots: usize, pub num_slots: usize,
pub num_dirty_slots: usize, pub num_dirty_slots: usize,
pub collect_snapshots_us: u64, pub collect_snapshots_us: u64,
@ -206,6 +207,7 @@ impl HashStats {
self.num_snapshot_storage as i64, self.num_snapshot_storage as i64,
i64 i64
), ),
("scan_chunks", self.scan_chunks as i64, i64),
("num_slots", self.num_slots as i64, i64), ("num_slots", self.num_slots as i64, i64),
("num_dirty_slots", self.num_dirty_slots as i64, i64), ("num_dirty_slots", self.num_dirty_slots as i64, i64),
("min_bin_size", self.min_bin_size as i64, i64), ("min_bin_size", self.min_bin_size as i64, i64),