From bccc1773743b5f7f514c65d50a7c5c0e23341805 Mon Sep 17 00:00:00 2001 From: Sebastiaan de Schaetzen Date: Sun, 30 Mar 2025 14:27:41 +0200 Subject: [PATCH] Fix disk/network IO measurements --- main.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 77cea96..2c7141a 100644 --- a/main.go +++ b/main.go @@ -55,6 +55,8 @@ var ( blockers []string currentStatus ResourceUsage nvmlAvailable bool + networkBytesIO uint64 + diskBytesIO uint64 lastBlockedTime time.Time ) @@ -267,12 +269,19 @@ func updateCurrentUsage() { for _, stat := range diskStats { totalIO += stat.ReadBytes + stat.WriteBytes } - usage.DiskIO = float64(totalIO) + + previousDiskBytesIO := diskBytesIO + diskBytesIO = totalIO + diff := diskBytesIO - previousDiskBytesIO + usage.DiskIO = float64(diff) / checkInterval.Seconds() } // Get network I/O if netStats, err := net.IOCounters(false); err == nil && len(netStats) > 0 { - usage.NetworkIO = float64(netStats[0].BytesSent + netStats[0].BytesRecv) + previousNetworkBytesIO := networkBytesIO + networkBytesIO = netStats[0].BytesSent + netStats[0].BytesRecv + diff := networkBytesIO - previousNetworkBytesIO + usage.NetworkIO = float64(diff) / checkInterval.Seconds() } // Count SSH connections