func FindStat(cgroup_path string, statgroup string, stat string) string {
path := fmt.Sprintf("%s/%s.%s", cgroup_path, statgroup, stat)
- if _, err := os.Stat(path); err != nil {
+ if _, err := os.Stat(path); err == nil {
return path
}
path = fmt.Sprintf("%s/%s/%s.%s", cgroup_path, statgroup, statgroup, stat)
- if _, err := os.Stat(path); err != nil {
+ if _, err := os.Stat(path); err == nil {
return path
}
return ""
cpuset_cpus := FindStat(cgroup_path, "cpuset", "cpus")
memory_stat := FindStat(cgroup_path, "memory", "stat")
+ if cpuacct_stat != "" {
+ stderr <- fmt.Sprintf("crunchstat: reading stats from %s", cpuacct_stat)
+ }
+ if blkio_io_service_bytes != "" {
+ stderr <- fmt.Sprintf("crunchstat: reading stats from %s", blkio_io_service_bytes)
+ }
+ if cpuset_cpus != "" {
+ stderr <- fmt.Sprintf("crunchstat: reading stats from %s", cpuset_cpus)
+ }
+ if memory_stat != "" {
+ stderr <- fmt.Sprintf("crunchstat: reading stats from %s", memory_stat)
+ }
+
var elapsed int64 = poll
for {