#[derive(Debug, Clone)]
pub struct FileStats {
pub path: String,
pub file_size: u64,
pub num_rows: u64,
pub seq_range: (u64, u64),
pub has_dv: bool,
}
#[derive(Debug, Clone)]
pub struct LevelStats {
pub level: u8,
pub file_count: usize,
pub total_bytes: u64,
pub total_rows: u64,
pub files: Vec<FileStats>,
}
#[derive(Debug, Clone)]
pub struct MemtableStats {
pub active_size_bytes: usize,
pub active_entry_count: u64,
pub flush_threshold: usize,
pub immutable_count: usize,
}
#[derive(Debug, Clone)]
pub struct CacheStats {
pub capacity: usize,
pub size: usize,
pub hit_count: u64,
pub miss_count: u64,
}
#[derive(Debug, Clone)]
pub struct GcStats {
pub pending_count: usize,
pub oldest_pending_age_secs: u64,
}
#[derive(Debug, Clone)]
pub struct CompactionStats {
pub inflight_levels: usize,
}
#[derive(Debug, Clone)]
pub struct EngineStats {
pub snapshot_id: i64,
pub current_seq: u64,
pub levels: Vec<LevelStats>,
pub memtable: MemtableStats,
pub cache: CacheStats,
pub gc: GcStats,
pub compaction: CompactionStats,
}