1use std::time::{Duration, SystemTime};
5
6#[derive(Debug, Clone, Copy)]
8pub enum CompactionTask {
9 ByRunCount,
11 BySize,
13 ByAge,
15}
16
17#[derive(Debug, Clone, Default)]
19pub struct CompactionStats {
20 pub files_compacted: usize,
21 pub bytes_before: u64,
22 pub bytes_after: u64,
23 pub duration: Duration,
24 pub crdt_merges: usize,
25}
26
27#[derive(Debug, Clone, Default)]
29pub struct CompactionStatus {
30 pub l1_runs: usize,
31 pub l1_size_bytes: u64,
32 pub oldest_l1_age: Duration,
33 pub compaction_in_progress: bool,
34 pub compaction_pending: usize,
35 pub last_compaction: Option<SystemTime>,
36 pub total_compactions: u64,
37 pub total_bytes_compacted: u64,
38}