Browse Source

Do not force internal collectors to call rrdset_next. (#13926)

* Remove calls to rrdset_next().

* Rm checks plugin

* Update documentantion

* Call rrdset_next from within rrdset_done

This wraps up the removal of rrdset_next from internal collectors, which
removes a lot of unecessary code and the need for if/else clauses in
every place.

The pluginsd parser is the only component that calls rrdset_next*()
functions because it's not strictly speaking a collector but more of a
collector manager/proxy.

With the current changes it's possible to simplify the API we expose
from RRD significantly, but this will be follow-up work in the future.

* Remove stale reference to checks.plugin

* Fix RRD unit test

rrdset_next is not meant to be called from these tests.

* Fix db engine unit test.

* Schedule rrdset_next when we have completed at least one collection.

* Mark chart creation clauses as unlikely.

* Add missing brace to fix FreeBSD plugin.
vkalintiris 2 years ago
parent
commit
2d5f3acf71

+ 0 - 5
CMakeLists.txt

@@ -525,10 +525,6 @@ target_include_directories(libnetdata BEFORE PUBLIC ${GENERATED_CONFIG_H_DIR})
 set(APPS_PLUGIN_FILES
         collectors/apps.plugin/apps_plugin.c)
 
-set(CHECKS_PLUGIN_FILES
-        collectors/checks.plugin/plugin_checks.c
-        )
-
 set(FREEBSD_PLUGIN_FILES
         collectors/freebsd.plugin/plugin_freebsd.c
         collectors/freebsd.plugin/plugin_freebsd.h
@@ -1059,7 +1055,6 @@ set(NETDATA_FILES
         ${DAEMON_FILES}
         ${API_PLUGIN_FILES}
         ${EXPORTING_ENGINE_FILES}
-        ${CHECKS_PLUGIN_FILES}
         ${HEALTH_PLUGIN_FILES}
         ${IDLEJITTER_PLUGIN_FILES}
         ${ML_FILES}

+ 0 - 5
Makefile.am

@@ -203,10 +203,6 @@ APPS_PLUGIN_FILES = \
     $(LIBNETDATA_FILES) \
     $(NULL)
 
-CHECKS_PLUGIN_FILES = \
-    collectors/checks.plugin/plugin_checks.c \
-    $(NULL)
-
 FREEBSD_PLUGIN_FILES = \
     collectors/freebsd.plugin/plugin_freebsd.c \
     collectors/freebsd.plugin/plugin_freebsd.h \
@@ -918,7 +914,6 @@ NETDATA_FILES = \
     $(LIBNETDATA_FILES) \
     $(API_PLUGIN_FILES) \
     $(EXPORTING_ENGINE_FILES) \
-    $(CHECKS_PLUGIN_FILES) \
     $(HEALTH_PLUGIN_FILES) \
     $(ML_FILES) \
     $(ML_TESTS_FILES) \

+ 11 - 20
aclk/aclk_stats.c

@@ -39,8 +39,7 @@ static void aclk_stats_collect(struct aclk_metrics_per_sample *per_sample, struc
             "connected", "netdata", "stats", 200000, localhost->rrd_update_every, RRDSET_TYPE_LINE);
 
         rd_online_status = rrddim_add(st_aclkstats, "online", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
-    } else
-        rrdset_next(st_aclkstats);
+    }
 
     rrddim_set_by_pointer(st_aclkstats, rd_online_status, per_sample->offline_during_sample ? 0 : permanent->online);
 
@@ -60,8 +59,7 @@ static void aclk_stats_query_queue(struct aclk_metrics_per_sample *per_sample)
 
         rd_queued = rrddim_add(st_query_thread, "added", NULL, 1, localhost->rrd_update_every, RRD_ALGORITHM_ABSOLUTE);
         rd_dispatched = rrddim_add(st_query_thread, "dispatched", NULL, -1, localhost->rrd_update_every, RRD_ALGORITHM_ABSOLUTE);
-    } else
-        rrdset_next(st_query_thread);
+    }
 
     rrddim_set_by_pointer(st_query_thread, rd_queued, per_sample->queries_queued);
     rrddim_set_by_pointer(st_query_thread, rd_dispatched, per_sample->queries_dispatched);
@@ -83,8 +81,8 @@ static void aclk_stats_latency(struct aclk_metrics_per_sample *per_sample)
 
         rd_avg = rrddim_add(st, "avg", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
         rd_max = rrddim_add(st, "max", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
-    } else
-        rrdset_next(st);
+    }
+
     if(per_sample->latency_count)
         rrddim_set_by_pointer(st, rd_avg, roundf((float)per_sample->latency_total / per_sample->latency_count));
     else
@@ -109,8 +107,7 @@ static void aclk_stats_cloud_req(struct aclk_metrics_per_sample *per_sample)
 
         rd_rq_rcvd = rrddim_add(st, "received", NULL, 1, localhost->rrd_update_every, RRD_ALGORITHM_ABSOLUTE);
         rd_rq_err = rrddim_add(st, "malformed", NULL, 1, localhost->rrd_update_every, RRD_ALGORITHM_ABSOLUTE);
-    } else
-        rrdset_next(st);
+    }
 
     rrddim_set_by_pointer(st, rd_rq_rcvd, per_sample->cloud_req_recvd - per_sample->cloud_req_err);
     rrddim_set_by_pointer(st, rd_rq_err, per_sample->cloud_req_err);
@@ -131,8 +128,7 @@ static void aclk_stats_cloud_req_type(struct aclk_metrics_per_sample *per_sample
         for (int i = 0; i < ACLK_QUERY_TYPE_COUNT; i++)
             dims[i] = rrddim_add(st, aclk_query_get_name(i, 1), NULL, 1, localhost->rrd_update_every, RRD_ALGORITHM_ABSOLUTE);
 
-    } else
-        rrdset_next(st);
+    }
 
     for (int i = 0; i < ACLK_QUERY_TYPE_COUNT; i++)
         rrddim_set_by_pointer(st, dims[i], per_sample->queries_per_type[i]);
@@ -171,8 +167,7 @@ static void aclk_stats_cloud_req_http_type(struct aclk_metrics_per_sample *per_s
 
         for (int i = 0; i < ACLK_STATS_CLOUD_HTTP_REQ_TYPE_CNT; i++)
             rd_rq_types[i] = rrddim_add(st, cloud_req_http_type_names[i], NULL, 1, localhost->rrd_update_every, RRD_ALGORITHM_ABSOLUTE);
-    } else
-        rrdset_next(st);
+    }
 
     for (int i = 0; i < ACLK_STATS_CLOUD_HTTP_REQ_TYPE_CNT; i++)
         rrddim_set_by_pointer(st, rd_rq_types[i], per_sample->cloud_req_http_by_type[i]);
@@ -197,8 +192,7 @@ static void aclk_stats_query_threads(uint32_t *queries_per_thread)
                 error("snprintf encoding error");
             aclk_qt_data[i].dim = rrddim_add(st, dim_name, NULL, 1, localhost->rrd_update_every, RRD_ALGORITHM_ABSOLUTE);
         }
-    } else
-        rrdset_next(st);
+    }
 
     for (int i = 0; i < aclk_stats_cfg.query_thread_count; i++) {
         rrddim_set_by_pointer(st, aclk_qt_data[i].dim, queries_per_thread[i]);
@@ -222,8 +216,7 @@ static void aclk_stats_query_time(struct aclk_metrics_per_sample *per_sample)
         rd_rq_avg = rrddim_add(st, "avg", NULL, 1, localhost->rrd_update_every, RRD_ALGORITHM_ABSOLUTE);
         rd_rq_max = rrddim_add(st, "max", NULL, 1, localhost->rrd_update_every, RRD_ALGORITHM_ABSOLUTE);
         rd_rq_total = rrddim_add(st, "total", NULL, 1, localhost->rrd_update_every, RRD_ALGORITHM_ABSOLUTE);
-    } else
-        rrdset_next(st);
+    }
 
     if(per_sample->cloud_q_process_count)
         rrddim_set_by_pointer(st, rd_rq_avg, roundf((float)per_sample->cloud_q_process_total / per_sample->cloud_q_process_count));
@@ -248,8 +241,7 @@ static void aclk_stats_newproto_rx(uint32_t *rx_msgs_sample)
         for (unsigned int i = 0; i < aclk_stats_cfg.proto_hdl_cnt; i++) {
             aclk_stats_cfg.rx_msg_dims[i] = rrddim_add(st, rx_handler_get_name(i), NULL, 1, localhost->rrd_update_every, RRD_ALGORITHM_ABSOLUTE);
         }
-    } else
-        rrdset_next(st);
+    }
 
     for (unsigned int i = 0; i < aclk_stats_cfg.proto_hdl_cnt; i++)
         rrddim_set_by_pointer(st, aclk_stats_cfg.rx_msg_dims[i], rx_msgs_sample[i]);
@@ -275,8 +267,7 @@ static void aclk_stats_mqtt_wss(struct mqtt_wss_stats *stats)
 
         rd_sent  = rrddim_add(st, "sent", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
         rd_recvd = rrddim_add(st, "received", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
-    } else
-        rrdset_next(st);
+    }
 
     rrddim_set_by_pointer(st, rd_sent, sent);
     rrddim_set_by_pointer(st, rd_recvd, recvd);

+ 0 - 1
collectors/COLLECTORS.md

@@ -514,6 +514,5 @@ default. To use a third-party collector, visit their GitHub/documentation page a
 
 ## Etc
 
-- [checks.plugin](checks.plugin/README.md): A debugging collector, disabled by default.
 - [charts.d example](charts.d.plugin/example/README.md): An example `charts.d` collector.
 - [python.d example](python.d.plugin/example/README.md): An example `python.d` collector.

+ 0 - 1
collectors/Makefile.am

@@ -7,7 +7,6 @@ SUBDIRS = \
     apps.plugin \
     cgroups.plugin \
     charts.d.plugin \
-    checks.plugin \
     cups.plugin \
     diskspace.plugin \
     timex.plugin \

+ 0 - 5
collectors/REFERENCE.md

@@ -148,11 +148,6 @@ collect_data() {
         // attach a metric to it
         rd = rrddim_add(st, "id", "name", multiplier, divider, algorithm);
     }
-    else {
-        // this chart is already created
-        // let Netdata know we start a new iteration on it
-        rrdset_next(st);
-    }
 
     // give the collected value(s) to the chart
     rrddim_set_by_pointer(st, rd, collected_value);

+ 76 - 222
collectors/cgroups.plugin/sys_fs_cgroup.c

@@ -1447,7 +1447,6 @@ static inline void cgroup2_read_pressure(struct pressure *res) {
             return;
         }
 
-    
         res->some.share_time.value10 = strtod(procfile_lineword(ff, 0, 2), NULL);
         res->some.share_time.value60 = strtod(procfile_lineword(ff, 0, 4), NULL);
         res->some.share_time.value300 = strtod(procfile_lineword(ff, 0, 6), NULL);
@@ -2847,57 +2846,45 @@ void update_systemd_services_charts(
 
     // create the charts
 
-    if(likely(do_cpu)) {
-        if(unlikely(!st_cpu)) {
-            char title[CHART_TITLE_MAX + 1];
-            snprintfz(title, CHART_TITLE_MAX, "Systemd Services CPU utilization (100%% = 1 core)");
-
-            st_cpu = rrdset_create_localhost(
-                    "services"
-                    , "cpu"
-                    , NULL
-                    , "cpu"
-                    , "services.cpu"
-                    , title
-                    , "percentage"
-                    , PLUGIN_CGROUPS_NAME
-                    , PLUGIN_CGROUPS_MODULE_SYSTEMD_NAME
-                    , NETDATA_CHART_PRIO_CGROUPS_SYSTEMD
-                    , update_every
-                    , RRDSET_TYPE_STACKED
-            );
-
-        }
-        else
-            rrdset_next(st_cpu);
+    if (unlikely(do_cpu && !st_cpu)) {
+        char title[CHART_TITLE_MAX + 1];
+        snprintfz(title, CHART_TITLE_MAX, "Systemd Services CPU utilization (100%% = 1 core)");
+
+        st_cpu = rrdset_create_localhost(
+                "services"
+                , "cpu"
+                , NULL
+                , "cpu"
+                , "services.cpu"
+                , title
+                , "percentage"
+                , PLUGIN_CGROUPS_NAME
+                , PLUGIN_CGROUPS_MODULE_SYSTEMD_NAME
+                , NETDATA_CHART_PRIO_CGROUPS_SYSTEMD
+                , update_every
+                , RRDSET_TYPE_STACKED
+        );
     }
 
-    if(likely(do_mem_usage)) {
-        if(unlikely(!st_mem_usage)) {
-
-            st_mem_usage = rrdset_create_localhost(
-                    "services"
-                    , "mem_usage"
-                    , NULL
-                    , "mem"
-                    , "services.mem_usage"
-                    , "Systemd Services Used Memory"
-                    , "MiB"
-                    , PLUGIN_CGROUPS_NAME
-                    , PLUGIN_CGROUPS_MODULE_SYSTEMD_NAME
-                    , NETDATA_CHART_PRIO_CGROUPS_SYSTEMD + 10
-                    , update_every
-                    , RRDSET_TYPE_STACKED
-            );
-
-        }
-        else
-            rrdset_next(st_mem_usage);
+    if (unlikely(do_mem_usage && !st_mem_usage)) {
+        st_mem_usage = rrdset_create_localhost(
+                "services"
+                , "mem_usage"
+                , NULL
+                , "mem"
+                , "services.mem_usage"
+                , "Systemd Services Used Memory"
+                , "MiB"
+                , PLUGIN_CGROUPS_NAME
+                , PLUGIN_CGROUPS_MODULE_SYSTEMD_NAME
+                , NETDATA_CHART_PRIO_CGROUPS_SYSTEMD + 10
+                , update_every
+                , RRDSET_TYPE_STACKED
+        );
     }
 
     if(likely(do_mem_detailed)) {
         if(unlikely(!st_mem_detailed_rss)) {
-
             st_mem_detailed_rss = rrdset_create_localhost(
                     "services"
                     , "mem_rss"
@@ -2912,13 +2899,9 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_mem_detailed_rss);
 
         if(unlikely(!st_mem_detailed_mapped)) {
-
             st_mem_detailed_mapped = rrdset_create_localhost(
                     "services"
                     , "mem_mapped"
@@ -2933,13 +2916,9 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_mem_detailed_mapped);
 
         if(unlikely(!st_mem_detailed_cache)) {
-
             st_mem_detailed_cache = rrdset_create_localhost(
                     "services"
                     , "mem_cache"
@@ -2954,13 +2933,9 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_mem_detailed_cache);
 
         if(unlikely(!st_mem_detailed_writeback)) {
-
             st_mem_detailed_writeback = rrdset_create_localhost(
                     "services"
                     , "mem_writeback"
@@ -2977,11 +2952,8 @@ void update_systemd_services_charts(
             );
 
         }
-        else
-            rrdset_next(st_mem_detailed_writeback);
 
         if(unlikely(!st_mem_detailed_pgfault)) {
-
             st_mem_detailed_pgfault = rrdset_create_localhost(
                     "services"
                     , "mem_pgfault"
@@ -2997,11 +2969,8 @@ void update_systemd_services_charts(
                     , RRDSET_TYPE_STACKED
             );
         }
-        else
-            rrdset_next(st_mem_detailed_pgfault);
 
         if(unlikely(!st_mem_detailed_pgmajfault)) {
-
             st_mem_detailed_pgmajfault = rrdset_create_localhost(
                     "services"
                     , "mem_pgmajfault"
@@ -3016,13 +2985,9 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_mem_detailed_pgmajfault);
 
         if(unlikely(!st_mem_detailed_pgpgin)) {
-
             st_mem_detailed_pgpgin = rrdset_create_localhost(
                     "services"
                     , "mem_pgpgin"
@@ -3039,11 +3004,8 @@ void update_systemd_services_charts(
             );
 
         }
-        else
-            rrdset_next(st_mem_detailed_pgpgin);
 
         if(unlikely(!st_mem_detailed_pgpgout)) {
-
             st_mem_detailed_pgpgout = rrdset_create_localhost(
                     "services"
                     , "mem_pgpgout"
@@ -3058,61 +3020,45 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_mem_detailed_pgpgout);
     }
 
-    if(likely(do_mem_failcnt)) {
-        if(unlikely(!st_mem_failcnt)) {
-
-            st_mem_failcnt = rrdset_create_localhost(
-                    "services"
-                    , "mem_failcnt"
-                    , NULL
-                    , "mem"
-                    , "services.mem_failcnt"
-                    , "Systemd Services Memory Limit Failures"
-                    , "failures"
-                    , PLUGIN_CGROUPS_NAME
-                    , PLUGIN_CGROUPS_MODULE_SYSTEMD_NAME
-                    , NETDATA_CHART_PRIO_CGROUPS_SYSTEMD + 110
-                    , update_every
-                    , RRDSET_TYPE_STACKED
-            );
-
-        }
-        else
-            rrdset_next(st_mem_failcnt);
+    if(unlikely(do_mem_failcnt && !st_mem_failcnt)) {
+        st_mem_failcnt = rrdset_create_localhost(
+                "services"
+                , "mem_failcnt"
+                , NULL
+                , "mem"
+                , "services.mem_failcnt"
+                , "Systemd Services Memory Limit Failures"
+                , "failures"
+                , PLUGIN_CGROUPS_NAME
+                , PLUGIN_CGROUPS_MODULE_SYSTEMD_NAME
+                , NETDATA_CHART_PRIO_CGROUPS_SYSTEMD + 110
+                , update_every
+                , RRDSET_TYPE_STACKED
+        );
     }
 
-    if(likely(do_swap_usage)) {
-        if(unlikely(!st_swap_usage)) {
-
-            st_swap_usage = rrdset_create_localhost(
-                    "services"
-                    , "swap_usage"
-                    , NULL
-                    , "swap"
-                    , "services.swap_usage"
-                    , "Systemd Services Swap Memory Used"
-                    , "MiB"
-                    , PLUGIN_CGROUPS_NAME
-                    , PLUGIN_CGROUPS_MODULE_SYSTEMD_NAME
-                    , NETDATA_CHART_PRIO_CGROUPS_SYSTEMD + 100
-                    , update_every
-                    , RRDSET_TYPE_STACKED
-            );
-
-        }
-        else
-            rrdset_next(st_swap_usage);
+    if (do_swap_usage && !st_swap_usage) {
+        st_swap_usage = rrdset_create_localhost(
+                "services"
+                , "swap_usage"
+                , NULL
+                , "swap"
+                , "services.swap_usage"
+                , "Systemd Services Swap Memory Used"
+                , "MiB"
+                , PLUGIN_CGROUPS_NAME
+                , PLUGIN_CGROUPS_MODULE_SYSTEMD_NAME
+                , NETDATA_CHART_PRIO_CGROUPS_SYSTEMD + 100
+                , update_every
+                , RRDSET_TYPE_STACKED
+        );
     }
 
     if(likely(do_io)) {
         if(unlikely(!st_io_read)) {
-
             st_io_read = rrdset_create_localhost(
                     "services"
                     , "io_read"
@@ -3127,13 +3073,9 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_io_read);
 
         if(unlikely(!st_io_write)) {
-
             st_io_write = rrdset_create_localhost(
                     "services"
                     , "io_write"
@@ -3148,15 +3090,11 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_io_write);
     }
 
     if(likely(do_io_ops)) {
         if(unlikely(!st_io_serviced_read)) {
-
             st_io_serviced_read = rrdset_create_localhost(
                     "services"
                     , "io_ops_read"
@@ -3171,13 +3109,9 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_io_serviced_read);
 
         if(unlikely(!st_io_serviced_write)) {
-
             st_io_serviced_write = rrdset_create_localhost(
                     "services"
                     , "io_ops_write"
@@ -3192,10 +3126,7 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_io_serviced_write);
     }
 
     if(likely(do_throttle_io)) {
@@ -3217,11 +3148,8 @@ void update_systemd_services_charts(
             );
 
         }
-        else
-            rrdset_next(st_throttle_io_read);
 
         if(unlikely(!st_throttle_io_write)) {
-
             st_throttle_io_write = rrdset_create_localhost(
                     "services"
                     , "throttle_io_write"
@@ -3236,15 +3164,11 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_throttle_io_write);
     }
 
     if(likely(do_throttle_ops)) {
         if(unlikely(!st_throttle_ops_read)) {
-
             st_throttle_ops_read = rrdset_create_localhost(
                     "services"
                     , "throttle_io_ops_read"
@@ -3259,13 +3183,9 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_throttle_ops_read);
 
         if(unlikely(!st_throttle_ops_write)) {
-
             st_throttle_ops_write = rrdset_create_localhost(
                     "services"
                     , "throttle_io_ops_write"
@@ -3280,15 +3200,11 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_throttle_ops_write);
     }
 
     if(likely(do_queued_ops)) {
         if(unlikely(!st_queued_ops_read)) {
-
             st_queued_ops_read = rrdset_create_localhost(
                     "services"
                     , "queued_io_ops_read"
@@ -3303,10 +3219,7 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_queued_ops_read);
 
         if(unlikely(!st_queued_ops_write)) {
 
@@ -3324,15 +3237,11 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_queued_ops_write);
     }
 
     if(likely(do_merged_ops)) {
         if(unlikely(!st_merged_ops_read)) {
-
             st_merged_ops_read = rrdset_create_localhost(
                     "services"
                     , "merged_io_ops_read"
@@ -3347,13 +3256,9 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_merged_ops_read);
 
         if(unlikely(!st_merged_ops_write)) {
-
             st_merged_ops_write = rrdset_create_localhost(
                     "services"
                     , "merged_io_ops_write"
@@ -3368,10 +3273,7 @@ void update_systemd_services_charts(
                     , update_every
                     , RRDSET_TYPE_STACKED
             );
-
         }
-        else
-            rrdset_next(st_merged_ops_write);
     }
 
     // update the values
@@ -3828,8 +3730,6 @@ void update_cgroup_charts(int update_every) {
                     rrddim_add(cg->st_cpu, "system", NULL, 100, 1000000, RRD_ALGORITHM_INCREMENTAL);
                 }
             }
-            else
-                rrdset_next(cg->st_cpu);
 
             rrddim_set(cg->st_cpu, "user", cg->cpuacct_stat.user);
             rrddim_set(cg->st_cpu, "system", cg->cpuacct_stat.system);
@@ -3896,8 +3796,6 @@ void update_cgroup_charts(int update_every) {
                                 rrddim_add(cg->st_cpu_limit, "used", NULL, 1, 1000000, RRD_ALGORITHM_ABSOLUTE);
                             cg->prev_cpu_usage = (NETDATA_DOUBLE)(cg->cpuacct_stat.user + cg->cpuacct_stat.system) * 100;
                         }
-                        else
-                            rrdset_next(cg->st_cpu_limit);
 
                         NETDATA_DOUBLE cpu_usage = 0;
                         cpu_usage = (NETDATA_DOUBLE)(cg->cpuacct_stat.user + cg->cpuacct_stat.system) * 100;
@@ -3945,7 +3843,6 @@ void update_cgroup_charts(int update_every) {
                 rrdset_update_rrdlabels(cg->st_cpu_nr_throttled, cg->chart_labels);
                 rrddim_add(cg->st_cpu_nr_throttled, "throttled", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
             } else {
-                rrdset_next(cg->st_cpu_nr_throttled);
                 rrddim_set(cg->st_cpu_nr_throttled, "throttled", cg->cpuacct_cpu_throttling.nr_throttled_perc);
                 rrdset_done(cg->st_cpu_nr_throttled);
             }
@@ -3971,7 +3868,6 @@ void update_cgroup_charts(int update_every) {
                 rrdset_update_rrdlabels(cg->st_cpu_throttled_time, cg->chart_labels);
                 rrddim_add(cg->st_cpu_throttled_time, "duration", NULL, 1, 1000000, RRD_ALGORITHM_INCREMENTAL);
             } else {
-                rrdset_next(cg->st_cpu_throttled_time);
                 rrddim_set(cg->st_cpu_throttled_time, "duration", cg->cpuacct_cpu_throttling.throttled_time);
                 rrdset_done(cg->st_cpu_throttled_time);
             }
@@ -3999,7 +3895,6 @@ void update_cgroup_charts(int update_every) {
                 rrdset_update_rrdlabels(cg->st_cpu_shares, cg->chart_labels);
                 rrddim_add(cg->st_cpu_shares, "shares", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
             } else {
-                rrdset_next(cg->st_cpu_shares);
                 rrddim_set(cg->st_cpu_shares, "shares", cg->cpuacct_cpu_shares.shares);
                 rrdset_done(cg->st_cpu_shares);
             }
@@ -4034,8 +3929,6 @@ void update_cgroup_charts(int update_every) {
                     rrddim_add(cg->st_cpu_per_core, id, NULL, 100, 1000000000, RRD_ALGORITHM_INCREMENTAL);
                 }
             }
-            else
-                rrdset_next(cg->st_cpu_per_core);
 
             for(i = 0; i < cg->cpuacct_usage.cpus ;i++) {
                 snprintfz(id, RRD_ID_LENGTH_MAX, "cpu%u", i);
@@ -4083,8 +3976,6 @@ void update_cgroup_charts(int update_every) {
                     rrddim_add(cg->st_mem, "file", NULL, 1, 1024 * 1024, RRD_ALGORITHM_ABSOLUTE);
                 }
             }
-            else
-                rrdset_next(cg->st_mem);
 
             if(!(cg->options & CGROUP_OPTIONS_IS_UNIFIED)) {
                 rrddim_set(cg->st_mem, "cache", cg->memory.total_cache);
@@ -4130,8 +4021,6 @@ void update_cgroup_charts(int update_every) {
 
                 rrddim_add(cg->st_writeback, "writeback", NULL, 1, 1024 * 1024, RRD_ALGORITHM_ABSOLUTE);
             }
-            else
-                rrdset_next(cg->st_writeback);
 
             if(cg->memory.detailed_has_dirty)
                 rrddim_set(cg->st_writeback, "dirty", cg->memory.total_dirty);
@@ -4163,8 +4052,6 @@ void update_cgroup_charts(int update_every) {
                     rrddim_add(cg->st_mem_activity, "pgpgin", "in", system_page_size, 1024 * 1024, RRD_ALGORITHM_INCREMENTAL);
                     rrddim_add(cg->st_mem_activity, "pgpgout", "out", -system_page_size, 1024 * 1024, RRD_ALGORITHM_INCREMENTAL);
                 }
-                else
-                    rrdset_next(cg->st_mem_activity);
 
                 rrddim_set(cg->st_mem_activity, "pgpgin", cg->memory.total_pgpgin);
                 rrddim_set(cg->st_mem_activity, "pgpgout", cg->memory.total_pgpgout);
@@ -4194,8 +4081,6 @@ void update_cgroup_charts(int update_every) {
                 rrddim_add(cg->st_pgfaults, "pgfault", NULL, system_page_size, 1024 * 1024, RRD_ALGORITHM_INCREMENTAL);
                 rrddim_add(cg->st_pgfaults, "pgmajfault", "swap", -system_page_size, 1024 * 1024, RRD_ALGORITHM_INCREMENTAL);
             }
-            else
-                rrdset_next(cg->st_pgfaults);
 
             rrddim_set(cg->st_pgfaults, "pgfault", cg->memory.total_pgfault);
             rrddim_set(cg->st_pgfaults, "pgmajfault", cg->memory.total_pgmajfault);
@@ -4226,8 +4111,6 @@ void update_cgroup_charts(int update_every) {
                 rrddim_add(cg->st_mem_usage, "ram", NULL, 1, 1024 * 1024, RRD_ALGORITHM_ABSOLUTE);
                 rrddim_add(cg->st_mem_usage, "swap", NULL, 1, 1024 * 1024, RRD_ALGORITHM_ABSOLUTE);
             }
-            else
-                rrdset_next(cg->st_mem_usage);
 
             rrddim_set(cg->st_mem_usage, "ram", cg->memory.usage_in_bytes);
             if(!(cg->options & CGROUP_OPTIONS_IS_UNIFIED)) {
@@ -4293,8 +4176,6 @@ void update_cgroup_charts(int update_every) {
                         rrddim_add(cg->st_mem_usage_limit, "available", NULL, 1, 1024 * 1024, RRD_ALGORITHM_ABSOLUTE);
                         rrddim_add(cg->st_mem_usage_limit, "used", NULL, 1, 1024 * 1024, RRD_ALGORITHM_ABSOLUTE);
                     }
-                    else
-                        rrdset_next(cg->st_mem_usage_limit);
 
                     rrdset_isnot_obsolete(cg->st_mem_usage_limit);
 
@@ -4323,8 +4204,7 @@ void update_cgroup_charts(int update_every) {
                         rrdset_update_rrdlabels(cg->st_mem_utilization, cg->chart_labels);
 
                         rrddim_add(cg->st_mem_utilization, "utilization", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
-                    } else
-                        rrdset_next(cg->st_mem_utilization);
+                    }
 
                     if (memory_limit) {
                         rrdset_isnot_obsolete(cg->st_mem_utilization);
@@ -4373,8 +4253,6 @@ void update_cgroup_charts(int update_every) {
 
                 rrddim_add(cg->st_mem_failcnt, "failures", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
             }
-            else
-                rrdset_next(cg->st_mem_failcnt);
 
             rrddim_set(cg->st_mem_failcnt, "failures", cg->memory.failcnt);
             rrdset_done(cg->st_mem_failcnt);
@@ -4404,8 +4282,6 @@ void update_cgroup_charts(int update_every) {
                 rrddim_add(cg->st_io, "read", NULL, 1, 1024, RRD_ALGORITHM_INCREMENTAL);
                 rrddim_add(cg->st_io, "write", NULL, -1, 1024, RRD_ALGORITHM_INCREMENTAL);
             }
-            else
-                rrdset_next(cg->st_io);
 
             rrddim_set(cg->st_io, "read", cg->io_service_bytes.Read);
             rrddim_set(cg->st_io, "write", cg->io_service_bytes.Write);
@@ -4436,8 +4312,6 @@ void update_cgroup_charts(int update_every) {
                 rrddim_add(cg->st_serviced_ops, "read", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
                 rrddim_add(cg->st_serviced_ops, "write", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
             }
-            else
-                rrdset_next(cg->st_serviced_ops);
 
             rrddim_set(cg->st_serviced_ops, "read", cg->io_serviced.Read);
             rrddim_set(cg->st_serviced_ops, "write", cg->io_serviced.Write);
@@ -4468,8 +4342,6 @@ void update_cgroup_charts(int update_every) {
                 rrddim_add(cg->st_throttle_io, "read", NULL, 1, 1024, RRD_ALGORITHM_INCREMENTAL);
                 rrddim_add(cg->st_throttle_io, "write", NULL, -1, 1024, RRD_ALGORITHM_INCREMENTAL);
             }
-            else
-                rrdset_next(cg->st_throttle_io);
 
             rrddim_set(cg->st_throttle_io, "read", cg->throttle_io_service_bytes.Read);
             rrddim_set(cg->st_throttle_io, "write", cg->throttle_io_service_bytes.Write);
@@ -4500,8 +4372,6 @@ void update_cgroup_charts(int update_every) {
                 rrddim_add(cg->st_throttle_serviced_ops, "read", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
                 rrddim_add(cg->st_throttle_serviced_ops, "write", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
             }
-            else
-                rrdset_next(cg->st_throttle_serviced_ops);
 
             rrddim_set(cg->st_throttle_serviced_ops, "read", cg->throttle_io_serviced.Read);
             rrddim_set(cg->st_throttle_serviced_ops, "write", cg->throttle_io_serviced.Write);
@@ -4532,8 +4402,6 @@ void update_cgroup_charts(int update_every) {
                 rrddim_add(cg->st_queued_ops, "read", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
                 rrddim_add(cg->st_queued_ops, "write", NULL, -1, 1, RRD_ALGORITHM_ABSOLUTE);
             }
-            else
-                rrdset_next(cg->st_queued_ops);
 
             rrddim_set(cg->st_queued_ops, "read", cg->io_queued.Read);
             rrddim_set(cg->st_queued_ops, "write", cg->io_queued.Write);
@@ -4564,8 +4432,6 @@ void update_cgroup_charts(int update_every) {
                 rrddim_add(cg->st_merged_ops, "read", NULL, 1, 1024, RRD_ALGORITHM_INCREMENTAL);
                 rrddim_add(cg->st_merged_ops, "write", NULL, -1, 1024, RRD_ALGORITHM_INCREMENTAL);
             }
-            else
-                rrdset_next(cg->st_merged_ops);
 
             rrddim_set(cg->st_merged_ops, "read", cg->io_merged.Read);
             rrddim_set(cg->st_merged_ops, "write", cg->io_merged.Write);
@@ -4600,9 +4466,8 @@ void update_cgroup_charts(int update_every) {
                     pcs->share_time.rd10 = rrddim_add(chart, "some 10", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
                     pcs->share_time.rd60 = rrddim_add(chart, "some 60", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
                     pcs->share_time.rd300 = rrddim_add(chart, "some 300", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
-                } else {
-                    rrdset_next(pcs->share_time.st);
                 }
+
                 if (unlikely(!pcs->total_time.st)) {
                     RRDSET *chart;
                     snprintfz(title, CHART_TITLE_MAX, "CPU some pressure stall time");
@@ -4622,9 +4487,8 @@ void update_cgroup_charts(int update_every) {
                     );
                     rrdset_update_rrdlabels(chart = pcs->total_time.st, cg->chart_labels);
                     pcs->total_time.rdtotal = rrddim_add(chart, "time", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
-                } else {
-                    rrdset_next(pcs->total_time.st);
                 }
+
                 update_pressure_charts(pcs);
             }
             if (likely(res->updated && res->full.enabled)) {
@@ -4652,9 +4516,8 @@ void update_cgroup_charts(int update_every) {
                     pcs->share_time.rd10 = rrddim_add(chart, "full 10", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
                     pcs->share_time.rd60 = rrddim_add(chart, "full 60", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
                     pcs->share_time.rd300 = rrddim_add(chart, "full 300", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
-                } else {
-                    rrdset_next(pcs->share_time.st);
                 }
+
                 if (unlikely(!pcs->total_time.st)) {
                     RRDSET *chart;
                     snprintfz(title, CHART_TITLE_MAX, "CPU full pressure stall time");
@@ -4674,9 +4537,8 @@ void update_cgroup_charts(int update_every) {
                     );
                     rrdset_update_rrdlabels(chart = pcs->total_time.st, cg->chart_labels);
                     pcs->total_time.rdtotal = rrddim_add(chart, "time", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
-                } else {
-                    rrdset_next(pcs->total_time.st);
                 }
+
                 update_pressure_charts(pcs);
             }
 
@@ -4707,9 +4569,8 @@ void update_cgroup_charts(int update_every) {
                     pcs->share_time.rd10 = rrddim_add(chart, "some 10", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
                     pcs->share_time.rd60 = rrddim_add(chart, "some 60", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
                     pcs->share_time.rd300 = rrddim_add(chart, "some 300", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
-                } else {
-                    rrdset_next(pcs->share_time.st);
                 }
+
                 if (unlikely(!pcs->total_time.st)) {
                     RRDSET *chart;
                     snprintfz(title, CHART_TITLE_MAX, "Memory some pressure stall time");
@@ -4729,9 +4590,8 @@ void update_cgroup_charts(int update_every) {
                     );
                     rrdset_update_rrdlabels(chart = pcs->total_time.st, cg->chart_labels);
                     pcs->total_time.rdtotal = rrddim_add(chart, "time", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
-                } else {
-                    rrdset_next(pcs->total_time.st);
                 }
+
                 update_pressure_charts(pcs);
             }
 
@@ -4762,9 +4622,8 @@ void update_cgroup_charts(int update_every) {
                     pcs->share_time.rd10 = rrddim_add(chart, "full 10", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
                     pcs->share_time.rd60 = rrddim_add(chart, "full 60", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
                     pcs->share_time.rd300 = rrddim_add(chart, "full 300", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
-                } else {
-                    rrdset_next(pcs->share_time.st);
                 }
+
                 if (unlikely(!pcs->total_time.st)) {
                     RRDSET *chart;
                     snprintfz(title, CHART_TITLE_MAX, "Memory full pressure stall time");
@@ -4784,9 +4643,8 @@ void update_cgroup_charts(int update_every) {
                     );
                     rrdset_update_rrdlabels(chart = pcs->total_time.st, cg->chart_labels);
                     pcs->total_time.rdtotal = rrddim_add(chart, "time", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
-                } else {
-                    rrdset_next(pcs->total_time.st);
                 }
+
                 update_pressure_charts(pcs);
             }
 
@@ -4817,9 +4675,8 @@ void update_cgroup_charts(int update_every) {
                     pcs->share_time.rd10 = rrddim_add(chart, "some 10", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
                     pcs->share_time.rd60 = rrddim_add(chart, "some 60", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
                     pcs->share_time.rd300 = rrddim_add(chart, "some 300", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
-                } else {
-                    rrdset_next(pcs->share_time.st);
                 }
+
                 if (unlikely(!pcs->total_time.st)) {
                     RRDSET *chart;
                     snprintfz(title, CHART_TITLE_MAX, "I/O some pressure stall time");
@@ -4839,9 +4696,8 @@ void update_cgroup_charts(int update_every) {
                     );
                     rrdset_update_rrdlabels(chart = pcs->total_time.st, cg->chart_labels);
                     pcs->total_time.rdtotal = rrddim_add(chart, "time", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
-                } else {
-                    rrdset_next(pcs->total_time.st);
                 }
+
                 update_pressure_charts(pcs);
             }
 
@@ -4870,9 +4726,8 @@ void update_cgroup_charts(int update_every) {
                     pcs->share_time.rd10 = rrddim_add(chart, "full 10", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
                     pcs->share_time.rd60 = rrddim_add(chart, "full 60", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
                     pcs->share_time.rd300 = rrddim_add(chart, "full 300", NULL, 1, 100, RRD_ALGORITHM_ABSOLUTE);
-                } else {
-                    rrdset_next(pcs->share_time.st);
                 }
+
                 if (unlikely(!pcs->total_time.st)) {
                     RRDSET *chart;
                     snprintfz(title, CHART_TITLE_MAX, "I/O full pressure stall time");
@@ -4892,9 +4747,8 @@ void update_cgroup_charts(int update_every) {
                     );
                     rrdset_update_rrdlabels(chart = pcs->total_time.st, cg->chart_labels);
                     pcs->total_time.rdtotal = rrddim_add(chart, "time", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
-                } else {
-                    rrdset_next(pcs->total_time.st);
                 }
+
                 update_pressure_charts(pcs);
             }
         }

+ 0 - 8
collectors/checks.plugin/Makefile.am

@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-AUTOMAKE_OPTIONS = subdir-objects
-MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
-
-dist_noinst_DATA = \
-    README.md \
-    $(NULL)

+ 0 - 10
collectors/checks.plugin/README.md

@@ -1,10 +0,0 @@
-<!--
-title: "checks.plugin"
-custom_edit_url: https://github.com/netdata/netdata/edit/master/collectors/checks.plugin/README.md
--->
-
-# checks.plugin
-
-A debugging plugin (by default it is disabled)
-
-

+ 0 - 128
collectors/checks.plugin/plugin_checks.c

@@ -1,128 +0,0 @@
-// SPDX-License-Identifier: GPL-3.0-or-later
-
-#include "daemon/common.h"
-
-static void checks_main_cleanup(void *ptr) {
-    struct netdata_static_thread *static_thread = (struct netdata_static_thread *)ptr;
-    static_thread->enabled = NETDATA_MAIN_THREAD_EXITING;
-
-    info("cleaning up...");
-
-    static_thread->enabled = NETDATA_MAIN_THREAD_EXITED;
-}
-
-void *checks_main(void *ptr) {
-    if (!global_statistics_enabled)
-        return NULL;
-
-    netdata_thread_cleanup_push(checks_main_cleanup, ptr);
-
-    usec_t usec = 0, susec = localhost->rrd_update_every * USEC_PER_SEC, loop_usec = 0, total_susec = 0;
-    struct timeval now, last, loop;
-
-    RRDSET *check1, *check2, *check3, *apps_cpu = NULL;
-
-    check1 = rrdset_create_localhost(
-            "netdata"
-            , "check1"
-            , NULL
-            , "netdata"
-            , NULL
-            , "Caller gives microseconds"
-            , "a million !"
-            , "checks.plugin"
-            , ""
-            , NETDATA_CHART_PRIO_CHECKS
-            , localhost->rrd_update_every
-            , RRDSET_TYPE_LINE
-    );
-
-    rrddim_add(check1, "absolute", NULL, -1, 1, RRD_ALGORITHM_ABSOLUTE);
-    rrddim_add(check1, "incremental", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
-
-    check2 = rrdset_create_localhost(
-            "netdata"
-            , "check2"
-            , NULL
-            , "netdata"
-            , NULL
-            , "Netdata calcs microseconds"
-            , "a million !"
-            , "checks.plugin"
-            , ""
-            , NETDATA_CHART_PRIO_CHECKS
-            , localhost->rrd_update_every
-            , RRDSET_TYPE_LINE
-    );
-    rrddim_add(check2, "absolute", NULL, -1, 1, RRD_ALGORITHM_ABSOLUTE);
-    rrddim_add(check2, "incremental", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
-
-    check3 = rrdset_create_localhost(
-            "netdata"
-            , "checkdt"
-            , NULL
-            , "netdata"
-            , NULL
-            , "Clock difference"
-            , "microseconds diff"
-            , "checks.plugin"
-            , ""
-            , NETDATA_CHART_PRIO_CHECKS
-            , localhost->rrd_update_every
-            , RRDSET_TYPE_LINE
-    );
-    rrddim_add(check3, "caller", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
-    rrddim_add(check3, "netdata", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
-    rrddim_add(check3, "apps.plugin", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
-
-    now_realtime_timeval(&last);
-    while(!netdata_exit) {
-        usleep(susec);
-
-        // find the time to sleep in order to wait exactly update_every seconds
-        now_realtime_timeval(&now);
-        loop_usec = dt_usec(&now, &last);
-        usec = loop_usec - susec;
-        debug(D_PROCNETDEV_LOOP, "CHECK: last loop took %llu usec (worked for %llu, slept for %llu).", loop_usec, usec, susec);
-
-        if(usec < (localhost->rrd_update_every * USEC_PER_SEC / 2ULL)) susec = (localhost->rrd_update_every * USEC_PER_SEC) - usec;
-        else susec = localhost->rrd_update_every * USEC_PER_SEC / 2ULL;
-
-        // --------------------------------------------------------------------
-        // Calculate loop time
-
-        last.tv_sec = now.tv_sec;
-        last.tv_usec = now.tv_usec;
-        total_susec += loop_usec;
-
-        // --------------------------------------------------------------------
-        // check chart 1
-
-        if(check1->counter_done) rrdset_next_usec(check1, loop_usec);
-        rrddim_set(check1, "absolute", 1000000);
-        rrddim_set(check1, "incremental", total_susec);
-        rrdset_done(check1);
-
-        // --------------------------------------------------------------------
-        // check chart 2
-
-        if(check2->counter_done) rrdset_next(check2);
-        rrddim_set(check2, "absolute", 1000000);
-        rrddim_set(check2, "incremental", total_susec);
-        rrdset_done(check2);
-
-        // --------------------------------------------------------------------
-        // check chart 3
-
-        if(!apps_cpu) apps_cpu = rrdset_find_localhost("apps.cpu");
-        if(check3->counter_done) rrdset_next_usec(check3, loop_usec);
-        now_realtime_timeval(&loop);
-        rrddim_set(check3, "caller", (long long) dt_usec(&loop, &check1->last_collected_time));
-        rrddim_set(check3, "netdata", (long long) dt_usec(&loop, &check2->last_collected_time));
-        if(apps_cpu) rrddim_set(check3, "apps.plugin", (long long) dt_usec(&loop, &apps_cpu->last_collected_time));
-        rrdset_done(check3);
-    }
-
-    netdata_thread_cleanup_pop(1);
-    return NULL;
-}

Some files were not shown because too many files changed in this diff