in metric/system/cgroup/cgv1/cpuacct.go [70:95]
func cpuacctStat(path string, cpuacct *CPUAccountingSubsystem) error {
f, err := os.Open(filepath.Join(path, "cpuacct.stat"))
if err != nil {
if os.IsNotExist(err) {
return nil
}
return err
}
defer f.Close()
sc := bufio.NewScanner(f)
for sc.Scan() {
t, v, err := cgcommon.ParseCgroupParamKeyValue(sc.Text())
if err != nil {
return err
}
switch t {
case "user":
cpuacct.Stats.User.NS = convertJiffiesToNanos(v)
case "system":
cpuacct.Stats.System.NS = convertJiffiesToNanos(v)
}
}
return sc.Err()
}