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