allow FlushStats to accumulate (#215)

This commit is contained in:
Jeff Washington (jwash) 2024-03-13 18:47:55 -05:00 committed by GitHub
parent 7c007ea737
commit 794cb2f856
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 9 additions and 3 deletions

View File

@ -1721,6 +1721,14 @@ struct FlushStats {
total_size: u64,
}
impl FlushStats {
fn accumulate(&mut self, other: &Self) {
saturating_add_assign!(self.num_flushed, other.num_flushed);
saturating_add_assign!(self.num_purged, other.num_purged);
saturating_add_assign!(self.total_size, other.total_size);
}
}
#[derive(Debug, Default)]
struct LatestAccountsIndexRootsStats {
roots_len: AtomicUsize,
@ -6078,9 +6086,7 @@ impl AccountsDb {
if old_slot > max_flushed_root {
if self.should_aggressively_flush_cache() {
if let Some(stats) = self.flush_slot_cache(old_slot) {
flush_stats.num_flushed += stats.num_flushed;
flush_stats.num_purged += stats.num_purged;
flush_stats.total_size += stats.total_size;
flush_stats.accumulate(&stats);
}
}
} else {