diff --git a/daemon/src/diag.rs b/daemon/src/diag.rs index 1fd3fcd..7ebca83 100644 --- a/daemon/src/diag.rs +++ b/daemon/src/diag.rs @@ -251,7 +251,10 @@ impl DiagTask { { self.container_count += 1; - if self.container_count % SPACE_CHECK_INTERVAL_CONTAINERS == 0 { + if self + .container_count + .is_multiple_of(SPACE_CHECK_INTERVAL_CONTAINERS) + { let min_continue_bytes = self.min_space_to_continue_mb * 1024 * 1024; let min_start_bytes = self.min_space_to_start_mb * 1024 * 1024; match DiskStats::new(qmdl_store.path.to_str().unwrap()) { @@ -277,7 +280,10 @@ impl DiagTask { return; } Ok(disk_stats) if disk_stats.available_bytes.unwrap_or(0) < min_start_bytes => { - if self.container_count % (SPACE_CHECK_INTERVAL_CONTAINERS * 10) == 0 { + if self + .container_count + .is_multiple_of(SPACE_CHECK_INTERVAL_CONTAINERS * 10) + { let available_mb = disk_stats.available_bytes.unwrap_or(0) / 1024 / 1024; warn!("Disk space low: {}MB remaining", available_mb); diff --git a/daemon/web/src/lib/components/DiskSpaceAlert.svelte b/daemon/web/src/lib/components/DiskSpaceAlert.svelte new file mode 100644 index 0000000..4a79449 --- /dev/null +++ b/daemon/web/src/lib/components/DiskSpaceAlert.svelte @@ -0,0 +1,64 @@ + + +{#if warning_message} +
+ + + Low Disk Space + +

{warning_message}

+
+{/if} diff --git a/daemon/web/src/lib/systemStats.ts b/daemon/web/src/lib/systemStats.ts index 97648f5..88f44cd 100644 --- a/daemon/web/src/lib/systemStats.ts +++ b/daemon/web/src/lib/systemStats.ts @@ -18,6 +18,7 @@ export interface DiskStats { available_size: string; used_percent: string; mounted_on: string; + available_bytes?: number; } export interface MemoryStats { diff --git a/daemon/web/src/routes/+page.svelte b/daemon/web/src/routes/+page.svelte index 5abb235..2d529d5 100644 --- a/daemon/web/src/routes/+page.svelte +++ b/daemon/web/src/routes/+page.svelte @@ -11,6 +11,7 @@ import ConfigForm from '$lib/components/ConfigForm.svelte'; import ActionErrors from '$lib/components/ActionErrors.svelte'; import ClockDriftAlert from '$lib/components/ClockDriftAlert.svelte'; + import DiskSpaceAlert from '$lib/components/DiskSpaceAlert.svelte'; import LogView from '$lib/components/LogView.svelte'; let manager: AnalysisManager = new AnalysisManager(); @@ -210,6 +211,7 @@ {#if loaded} +
{#if current_entry}