Bugfix in logging which cgroup stats files it uses. refs #2882
[arvados.git] / services / crunch / crunchstat / src / arvados.org / crunchstat / crunchstat.go
index 09a99e5df2a5b72eb38671df4e250aa9d109d983..c3479bfe8462ec10ba8197e62696c46bec23f472 100644 (file)
@@ -44,11 +44,11 @@ func OutputChannel(stdout chan string, stderr chan string) {
 
 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 ""
@@ -75,6 +75,19 @@ func PollCgroupStats(cgroup_path string, stderr chan string, poll int64) {
        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 {