All checks were successful
Build and Release / build-and-release (push) Successful in 1m20s
Major architectural refactor to eliminate false "host offline" alerts: - Replace sequential blocking collectors with independent async tasks - Each collector runs at configurable interval and updates shared cache - ZMQ sender reads cache every 1-2s regardless of collector speed - Collector intervals: CPU/Memory (1-10s), Backup/NixOS (30-60s), Disk/Systemd (60-300s) All intervals now configurable via NixOS config: - collectors.*.interval_seconds (collection frequency per collector) - collectors.*.command_timeout_seconds (timeout for shell commands) - notifications.check_interval_seconds (status change detection rate) Command timeouts increased from hardcoded 2-3s to configurable 10-30s: - Disk collector: 30s (SMART operations, lsblk) - Systemd collector: 15s (systemctl, docker, du commands) - Network collector: 10s (ip route, ip addr) Benefits: - No false "offline" alerts when slow collectors take >10s - Different update rates for different metric types - Better resource management with longer timeouts - Full NixOS configuration control Bump version to v0.1.193
23 lines
641 B
TOML
23 lines
641 B
TOML
[package]
|
|
name = "cm-dashboard-agent"
|
|
version = "0.1.193"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
cm-dashboard-shared = { workspace = true }
|
|
tokio = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
chrono = { workspace = true }
|
|
clap = { workspace = true }
|
|
zmq = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
lettre = { workspace = true }
|
|
gethostname = { workspace = true }
|
|
chrono-tz = "0.8"
|
|
toml = { workspace = true }
|
|
async-trait = "0.1"
|
|
reqwest = { version = "0.11", features = ["json", "blocking"] } |