Allow to hide swap stats for mem plugin, fix swap calculation
This commit is contained in:
39
memory.go
39
memory.go
@@ -1,6 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/shirou/gopsutil/mem"
|
||||
@@ -19,14 +20,38 @@ var Memory Mem
|
||||
// UpdateMemStats parses mem info stats.
|
||||
func UpdateMemStats() {
|
||||
for {
|
||||
v, _ := mem.VirtualMemory()
|
||||
v, err := mem.VirtualMemory()
|
||||
|
||||
if Memory.Usedpct != int64(v.UsedPercent) || Memory.Shared != int64(v.Shared/1024/1024) ||
|
||||
Memory.Swap != int64(v.SwapTotal-v.SwapFree) {
|
||||
Memory.Usedpct = int64(v.UsedPercent)
|
||||
Memory.Shared = int64(v.Shared / 1024 / 1024)
|
||||
Memory.Swap = int64(v.SwapTotal - v.SwapFree)
|
||||
UpdateReady <- true
|
||||
if err != nil {
|
||||
log.Printf("Unable to get memory statistics: %s", err)
|
||||
time.Sleep(1 * time.Second)
|
||||
|
||||
continue
|
||||
}
|
||||
|
||||
sw, err := mem.SwapMemory()
|
||||
|
||||
if err != nil {
|
||||
log.Printf("Unable to get swap statistics: %s", err)
|
||||
time.Sleep(1 * time.Second)
|
||||
|
||||
continue
|
||||
}
|
||||
|
||||
if Conf.Mem.ShowSwap {
|
||||
if Memory.Usedpct != int64(v.UsedPercent) || Memory.Shared != int64(v.Shared/1024/1024) ||
|
||||
Memory.Swap != int64(v.SwapTotal-v.SwapFree) {
|
||||
Memory.Usedpct = int64(v.UsedPercent)
|
||||
Memory.Shared = int64(v.Shared / 1024 / 1024)
|
||||
Memory.Swap = int64(sw.Total - sw.Free)
|
||||
UpdateReady <- true
|
||||
}
|
||||
} else {
|
||||
if Memory.Usedpct != int64(v.UsedPercent) || Memory.Shared != int64(v.Shared/1024/1024) {
|
||||
Memory.Usedpct = int64(v.UsedPercent)
|
||||
Memory.Shared = int64(v.Shared / 1024 / 1024)
|
||||
UpdateReady <- true
|
||||
}
|
||||
}
|
||||
|
||||
time.Sleep(3 * time.Second)
|
||||
|
||||
Reference in New Issue
Block a user