ssh_crawler/stat/loadavg.go

32 lines
526 B
Go
Raw Normal View History

2017-10-23 05:31:04 +00:00
package stat
import (
"bufio"
2017-10-23 09:08:19 +00:00
"io"
2017-10-23 05:31:04 +00:00
"strings"
)
type LoadAvg struct {
}
func (loadavg LoadAvg) Command() string {
return "cat /proc/loadavg"
}
2017-10-24 09:23:56 +00:00
func (loadavg LoadAvg) Read(r io.Reader) (*map[string]string, error) {
2017-10-23 05:31:04 +00:00
var (
scanner = bufio.NewScanner(r)
2017-10-24 09:23:56 +00:00
resMap = make(map[string]string)
2017-10-23 05:31:04 +00:00
)
for scanner.Scan() {
line := scanner.Text()
parts := strings.Fields(line)
2017-10-24 09:23:56 +00:00
resMap["cpu.load.avg1"] = parts[0]
resMap["cpu.load.avg5"]= parts[1]
resMap["cpu.load.avg15"] = parts[2]
2017-10-23 05:31:04 +00:00
}
2017-10-24 09:23:56 +00:00
return &resMap, scanner.Err()
2017-10-23 05:31:04 +00:00
}