2020-02-27 18:51:28 -06:00
|
|
|
package devices
|
|
|
|
|
|
|
|
import "log"
|
|
|
|
|
|
|
|
var memFuncs []func(map[string]MemoryInfo) map[string]error
|
|
|
|
|
2021-07-17 13:19:30 -05:00
|
|
|
// TODO Colors are wrong for #mem > 2
|
2021-07-20 09:31:42 -05:00
|
|
|
// TODO Swap memory values for remote devices is bogus
|
2020-02-27 18:51:28 -06:00
|
|
|
type MemoryInfo struct {
|
|
|
|
Total uint64
|
|
|
|
Used uint64
|
|
|
|
UsedPercent float64
|
|
|
|
}
|
|
|
|
|
|
|
|
func RegisterMem(f func(map[string]MemoryInfo) map[string]error) {
|
|
|
|
memFuncs = append(memFuncs, f)
|
|
|
|
}
|
|
|
|
|
|
|
|
func UpdateMem(mem map[string]MemoryInfo) {
|
|
|
|
for _, f := range memFuncs {
|
|
|
|
errs := f(mem)
|
|
|
|
if errs != nil {
|
|
|
|
for k, e := range errs {
|
|
|
|
log.Printf("%s: %s", k, e)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|