From: Michael Tremer Date: Fri, 27 Mar 2026 12:10:45 +0000 (+0000) Subject: sources: disk: Store power-on time in seconds X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=41e6bbbe881df34b2cddfebc0b6800035ff52ad9;p=telemetry.git sources: disk: Store power-on time in seconds Signed-off-by: Michael Tremer --- diff --git a/src/daemon/sources/disk.c b/src/daemon/sources/disk.c index 3c1d789..c5c5ccc 100644 --- a/src/daemon/sources/disk.c +++ b/src/daemon/sources/disk.c @@ -34,6 +34,7 @@ #include "../parse.h" #include "../source.h" #include "../string.h" +#include "../time.h" #include "disk.h" // Ignore these devices @@ -61,8 +62,9 @@ static int disk_read_smart(td_ctx* ctx, const char* node, td_metrics* metrics) { SkBool smart_status; uint64_t bad_sectors; uint64_t power_cycles; - uint64_t power_on_time; + uint64_t power_on_time_msec; uint64_t temp_mk; + double power_on_time; double temp_k; int r; @@ -129,13 +131,16 @@ static int disk_read_smart(td_ctx* ctx, const char* node, td_metrics* metrics) { } // Read power on time - r = sk_disk_smart_get_power_on(disk, &power_on_time); + r = sk_disk_smart_get_power_on(disk, &power_on_time_msec); if (r < 0) { ERROR(ctx, "Failed to read power on time from %s: %m\n", node); r = -errno; goto ERROR; } + // Convert to seconds + power_on_time = MSEC_TO_SEC(power_on_time_msec); + // Read power cycles r = sk_disk_smart_get_power_cycle(disk, &power_cycles); if (r < 0) {