29 lines
559 B
Go
29 lines
559 B
Go
package devices
|
|
|
|
import "log"
|
|
|
|
var memFuncs []func(map[string]MemoryInfo) map[string]error
|
|
|
|
// TODO Colors are wrong for #mem > 2
|
|
// TODO Swap memory values for remote devices is bogus
|
|
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)
|
|
}
|
|
}
|
|
}
|
|
}
|