summaryrefslogtreecommitdiffstats
path: root/devices/mem.go
blob: defb01f52667c59c5ebaa8ea2543ad6cbe8d3bd1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package devices

import "log"

var memFuncs []func(map[string]MemoryInfo) map[string]error

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)
			}
		}
	}
}