diff --git a/runtime/src/accounts_db.rs b/runtime/src/accounts_db.rs index 0655cd36d0..6014c74b1f 100644 --- a/runtime/src/accounts_db.rs +++ b/runtime/src/accounts_db.rs @@ -7076,7 +7076,7 @@ impl AccountsDb { snapshot_storages: &SortedStorages, scanner: S, bin_range: &Range, - stats: &HashStats, + stats: &mut HashStats, ) -> Vec where S: AppendVecScan, @@ -7089,6 +7089,7 @@ impl AccountsDb { snapshot_storages, ); + stats.scan_chunks = splitter.chunk_count; (0..splitter.chunk_count) .into_par_iter() .map(|chunk| { @@ -10378,7 +10379,7 @@ pub mod tests { &get_storage_refs(&[storage]), test_scan, &Range { start: 0, end: 1 }, - &HashStats::default(), + &mut HashStats::default(), ); assert_eq!(calls.load(Ordering::Relaxed), 1); assert_scan( diff --git a/runtime/src/accounts_hash.rs b/runtime/src/accounts_hash.rs index 3516f8251f..5f9c8f0d3f 100644 --- a/runtime/src/accounts_hash.rs +++ b/runtime/src/accounts_hash.rs @@ -127,6 +127,7 @@ pub struct HashStats { pub hash_total: usize, pub unreduced_entries: usize, pub num_snapshot_storage: usize, + pub scan_chunks: usize, pub num_slots: usize, pub num_dirty_slots: usize, pub collect_snapshots_us: u64, @@ -206,6 +207,7 @@ impl HashStats { self.num_snapshot_storage as i64, i64 ), + ("scan_chunks", self.scan_chunks as i64, i64), ("num_slots", self.num_slots as i64, i64), ("num_dirty_slots", self.num_dirty_slots as i64, i64), ("min_bin_size", self.min_bin_size as i64, i64),