ssh_crawler/stat/loadavg.go

34 lines
483 B
Go
Raw Normal View History

2017-10-23 05:31:04 +00:00
package stat
import (
"io"
"bufio"
"strings"
)
type LoadAvg struct {
min1,
min5,
min15 string
}
func (loadavg LoadAvg) Command() string {
return "cat /proc/loadavg"
}
func (loadavg LoadAvg) Parse(r io.Reader) (LoadAvg, error) {
var (
scanner = bufio.NewScanner(r)
)
load := LoadAvg{}
for scanner.Scan() {
line := scanner.Text()
parts := strings.Fields(line)
load.min1 = parts[0]
load.min5 = parts[1]
load.min15 = parts[2]
}
return load, scanner.Err()
}