]> arthur.barton.de Git - netdata.git/blobdiff - src/freebsd_sysctl.c
enable qemu cgroups; fixes #1949
[netdata.git] / src / freebsd_sysctl.c
index 83c3003c32fe1ed0009b2c91e65d543c057f4473..1dc9d47bbfd6b639b05fee9bd0fd19e21ed8a206 100644 (file)
@@ -274,7 +274,7 @@ int do_freebsd_sysctl(int update_every, usec_t dt) {
     char mntonname[MNAMELEN + 1];
 
     // NEEDED BY: do_uptime
-    struct timespec boot_time, cur_time;
+    struct timespec up_time;
 
     // --------------------------------------------------------------------
 
@@ -382,18 +382,18 @@ int do_freebsd_sysctl(int update_every, usec_t dt) {
                 if (unlikely(!st)) {
                     st = rrdset_create_localhost("system", "cpu", NULL, "cpu", "system.cpu", "Total CPU utilization", "percentage", 100, update_every, RRDSET_TYPE_STACKED);
 
-                    rrddim_add(st, "user", NULL, 1, 1, RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL);
                     rrddim_add(st, "nice", NULL, 1, 1, RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL);
                     rrddim_add(st, "system", NULL, 1, 1, RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL);
+                    rrddim_add(st, "user", NULL, 1, 1, RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL);
                     rrddim_add(st, "interrupt", NULL, 1, 1, RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL);
                     rrddim_add(st, "idle", NULL, 1, 1, RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL);
                     rrddim_hide(st, "idle");
                 }
                 else rrdset_next(st);
 
-                rrddim_set(st, "user", cp_time[0]);
                 rrddim_set(st, "nice", cp_time[1]);
                 rrddim_set(st, "system", cp_time[2]);
+                rrddim_set(st, "user", cp_time[0]);
                 rrddim_set(st, "interrupt", cp_time[3]);
                 rrddim_set(st, "idle", cp_time[4]);
                 rrdset_done(st);
@@ -425,18 +425,18 @@ int do_freebsd_sysctl(int update_every, usec_t dt) {
                             st = rrdset_create_localhost("cpu", cpuid, NULL, "utilization", "cpu.cpu", "Core utilization",
                                                "percentage", 1000, update_every, RRDSET_TYPE_STACKED);
 
-                            rrddim_add(st, "user", NULL, 1, 1, RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL);
                             rrddim_add(st, "nice", NULL, 1, 1, RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL);
                             rrddim_add(st, "system", NULL, 1, 1, RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL);
+                            rrddim_add(st, "user", NULL, 1, 1, RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL);
                             rrddim_add(st, "interrupt", NULL, 1, 1, RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL);
                             rrddim_add(st, "idle", NULL, 1, 1, RRD_ALGORITHM_PCENT_OVER_DIFF_TOTAL);
                             rrddim_hide(st, "idle");
                         } else
                             rrdset_next(st);
 
-                        rrddim_set(st, "user", pcpu_cp_time[i * 5 + 0]);
                         rrddim_set(st, "nice", pcpu_cp_time[i * 5 + 1]);
                         rrddim_set(st, "system", pcpu_cp_time[i * 5 + 2]);
+                        rrddim_set(st, "user", pcpu_cp_time[i * 5 + 0]);
                         rrddim_set(st, "interrupt", pcpu_cp_time[i * 5 + 3]);
                         rrddim_set(st, "idle", pcpu_cp_time[i * 5 + 4]);
                         rrdset_done(st);
@@ -2181,11 +2181,7 @@ int do_freebsd_sysctl(int update_every, usec_t dt) {
     // --------------------------------------------------------------------
 
     if (likely(do_uptime)) {
-        if (unlikely(GETSYSCTL("kern.boottime", boot_time))) {
-            do_uptime = 0;
-            error("DISABLED: system.uptime");
-        } else {
-            clock_gettime(CLOCK_REALTIME, &cur_time);
+            clock_gettime(CLOCK_UPTIME, &up_time);
             st = rrdset_find_localhost("system.uptime");
 
             if(unlikely(!st)) {
@@ -2194,9 +2190,8 @@ int do_freebsd_sysctl(int update_every, usec_t dt) {
             }
             else rrdset_next(st);
 
-            rrddim_set(st, "uptime", cur_time.tv_sec - boot_time.tv_sec);
+            rrddim_set(st, "uptime", up_time.tv_sec);
             rrdset_done(st);
-        }
     }
 
     return 0;