From f5913dbd43709c14857d9d5effb5260517cc3d12 Mon Sep 17 00:00:00 2001 From: Christoffer Martinsson Date: Sat, 29 Nov 2025 17:41:11 +0100 Subject: [PATCH] Add archive count to backup disk display --- Cargo.lock | 6 +++--- agent/src/collectors/backup.rs | 6 ++++++ dashboard/src/ui/widgets/system.rs | 3 +++ shared/src/agent_data.rs | 1 + 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fd88659..b7d47f1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -279,7 +279,7 @@ checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" [[package]] name = "cm-dashboard" -version = "0.1.213" +version = "0.1.214" dependencies = [ "anyhow", "chrono", @@ -301,7 +301,7 @@ dependencies = [ [[package]] name = "cm-dashboard-agent" -version = "0.1.213" +version = "0.1.214" dependencies = [ "anyhow", "async-trait", @@ -324,7 +324,7 @@ dependencies = [ [[package]] name = "cm-dashboard-shared" -version = "0.1.213" +version = "0.1.214" dependencies = [ "chrono", "serde", diff --git a/agent/src/collectors/backup.rs b/agent/src/collectors/backup.rs index b423738..d479a0f 100644 --- a/agent/src/collectors/backup.rs +++ b/agent/src/collectors/backup.rs @@ -142,6 +142,11 @@ impl BackupCollector { // Build service list for this disk let services: Vec = backup_status.services.keys().cloned().collect(); + // Calculate total archives across all services on this disk + let total_archives: i64 = backup_status.services.values() + .map(|service| service.archive_count) + .sum(); + // Create disk data let disk_data = BackupDiskData { serial: backup_status.disk_serial_number.unwrap_or_else(|| "Unknown".to_string()), @@ -155,6 +160,7 @@ impl BackupCollector { disk_total_gb: total_gb, usage_status, services, + total_archives, }; disks.push(disk_data); diff --git a/dashboard/src/ui/widgets/system.rs b/dashboard/src/ui/widgets/system.rs index 031eaee..982fc4a 100644 --- a/dashboard/src/ui/widgets/system.rs +++ b/dashboard/src/ui/widgets/system.rs @@ -544,6 +544,9 @@ impl SystemWidget { details.push(format!("W: {}%", wear as i32)); } + // Add archive count + details.push(format!("Archives: {}", disk.total_archives)); + let disk_text = if !details.is_empty() { format!("{} {}", truncated_serial, details.join(" ")) } else { diff --git a/shared/src/agent_data.rs b/shared/src/agent_data.rs index 5ea686d..347dd27 100644 --- a/shared/src/agent_data.rs +++ b/shared/src/agent_data.rs @@ -195,6 +195,7 @@ pub struct BackupDiskData { pub disk_total_gb: f32, pub usage_status: Status, pub services: Vec, + pub total_archives: i64, } impl AgentData {