]> arthur.barton.de Git - netdata.git/commitdiff
convert sys_fs_cgroup to heartbeat API
authorRémi Lefèvre <remi.lefevre@parrot.com>
Tue, 13 Dec 2016 18:18:27 +0000 (19:18 +0100)
committerRémi Lefèvre <remi.lefevre@parrot.com>
Mon, 23 Jan 2017 16:39:49 +0000 (17:39 +0100)
Signed-off-by: Rémi Lefèvre <remi.lefevre@parrot.com>
src/sys_fs_cgroup.c

index 2b7254f47aa3b34607328b0d9d8143db42d19462..8ea8b5b6a8655fd8a4dc016158d9106d0a8ff818 100644 (file)
@@ -2079,24 +2079,20 @@ void *cgroups_main(void *ptr) {
 
     RRDSET *stcpu_thread = NULL;
 
+    heartbeat_t hb;
+    heartbeat_init(&hb);
     usec_t step = cgroup_update_every * USEC_PER_SEC;
-    usec_t find_every = cgroup_check_for_new_every * USEC_PER_SEC, find_next = 0;
+    usec_t find_every = cgroup_check_for_new_every * USEC_PER_SEC, find_dt = 0;
     for(;;) {
-        usec_t now = now_monotonic_usec();
-        usec_t next = now - (now % step) + step;
-
-        while(now < next) {
-            sleep_usec(next - now);
-            now = now_monotonic_usec();
-        }
-
+        usec_t hb_dt = heartbeat_next(&hb, step);
         if(unlikely(netdata_exit)) break;
 
         // BEGIN -- the job to be done
 
-        if(unlikely(now >= find_next)) {
+        find_dt += hb_dt;
+        if(unlikely(find_dt >= find_every)) {
             find_all_cgroups();
-            find_next = now + find_every;
+            find_dt = 0;
         }
 
         read_all_cgroups(cgroup_root);