Skip to content

Commit

Permalink
Merge pull request #474 from Dentrax/stat-parse
Browse files Browse the repository at this point in the history
Separate /proc/stat parsing logic
  • Loading branch information
SuperQ committed Dec 17, 2022
2 parents ce30991 + 045a006 commit 945097a
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions stat.go
Expand Up @@ -170,12 +170,23 @@ func (fs FS) Stat() (Stat, error) {
if err != nil {
return Stat{}, err
}

stat := Stat{
CPU: make(map[int64]CPUStat),
procStat, err := parseStat(bytes.NewReader(data), fileName)
if err != nil {
return Stat{}, err
}
return procStat, nil
}

// parseStat parses the metrics from /proc/[pid]/stat.
func parseStat(r io.Reader, fileName string) (Stat, error) {
var (
scanner = bufio.NewScanner(r)
stat = Stat{
CPU: make(map[int64]CPUStat),
}
err error
)

scanner := bufio.NewScanner(bytes.NewReader(data))
for scanner.Scan() {
line := scanner.Text()
parts := strings.Fields(scanner.Text())
Expand Down

0 comments on commit 945097a

Please sign in to comment.