Logs the number of storages kept alive by fastboot (#34667)

This commit is contained in:
Brooks 2024-01-05 14:56:07 -05:00 committed by GitHub
parent 47b40757e3
commit e84974cf63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 2 deletions

View File

@ -104,12 +104,21 @@ impl AccountsHashVerifier {
));
if let Some(snapshot_storages_for_fastboot) = snapshot_storages_for_fastboot {
let num_storages = snapshot_storages_for_fastboot.len();
// Get the number of storages that are being kept alive for fastboot.
// Looking at the storage Arc's strong reference count, we know that one
// ref is for fastboot, and one ref is for snapshot packaging. If there
// are no others, then the storage will be kept alive because of fastboot.
let num_storages_kept_alive = snapshot_storages_for_fastboot
.iter()
.filter(|storage| Arc::strong_count(storage) == 2)
.count();
let num_storages_total = snapshot_storages_for_fastboot.len();
fastboot_storages = Some(snapshot_storages_for_fastboot);
datapoint_info!(
"fastboot",
("slot", slot, i64),
("num_storages", num_storages, i64),
("num_storages_total", num_storages_total, i64),
("num_storages_kept_alive", num_storages_kept_alive, i64),
);
}