use crate::layout::BlobGuid;
#[derive(Debug, Clone, Copy)]
pub struct BlobStats {
pub guid: BlobGuid,
pub space_used: u32,
pub gap_space: u32,
pub num_slots: u16,
pub num_ext_blobs: u16,
pub compact_times: u32,
pub tombstone_leaf_cnt: u32,
}
#[derive(Debug, Clone)]
pub struct TreeStats {
pub blob_count: u32,
pub total_space_used: u64,
pub total_gap_space: u64,
pub total_slots: u64,
pub total_compactions: u64,
pub total_tombstones: u64,
pub blobs: Vec<BlobStats>,
pub bm_dirty_count: usize,
pub bm_pending_delete_count: usize,
pub bm_cache_hits: u64,
pub bm_cache_misses: u64,
pub bm_optimistic_restarts: u64,
pub checkpointer: Option<CheckpointerStats>,
}
#[derive(Debug, Clone, Copy)]
pub struct CheckpointerStats {
pub rounds_attempted: u64,
pub rounds_succeeded: u64,
pub blobs_flushed: u64,
pub merges_total: u64,
pub truncates: u64,
pub evictions: u64,
}