func cpuacctStat()

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