| 70 | } |
| 71 | |
| 72 | func (c *cpuacctController) percpuUsage(path string) ([]uint64, error) { |
| 73 | var usage []uint64 |
| 74 | data, err := os.ReadFile(filepath.Join(c.Path(path), "cpuacct.usage_percpu")) |
| 75 | if err != nil { |
| 76 | return nil, err |
| 77 | } |
| 78 | for _, v := range strings.Fields(string(data)) { |
| 79 | u, err := strconv.ParseUint(v, 10, 64) |
| 80 | if err != nil { |
| 81 | return nil, err |
| 82 | } |
| 83 | usage = append(usage, u) |
| 84 | } |
| 85 | return usage, nil |
| 86 | } |
| 87 | |
| 88 | func (c *cpuacctController) getUsage(path string) (user uint64, kernel uint64, err error) { |
| 89 | statPath := filepath.Join(c.Path(path), "cpuacct.stat") |