]> arthur.barton.de Git - netdata.git/blobdiff - src/backends.c
multi-host rrdset and rrdfamily operations
[netdata.git] / src / backends.c
index 4250e31c4b2d89e95e551680886bfd61fc466d9d..e1c886dc7063bb8b43952d5301b4a039cb5a1932 100644 (file)
@@ -8,9 +8,8 @@ static inline calculated_number backend_calculate_value_from_stored_data(RRDSET
     time_t first_t = rrdset_first_entry_t(st);
     time_t last_t = rrdset_last_entry_t(st);
 
-    if(unlikely(before - after < st->update_every && after != after - after % st->update_every))
-        // when st->update_every is bigger than the frequency we send data to backend
-        // skip the iterations that are not aligned to the database
+    if(unlikely(before < first_t || after > last_t))
+        // the chart has not been updated in the wanted timeframe
         return NAN;
 
     // align the time-frame
@@ -238,31 +237,31 @@ void *backends_main(void *ptr) {
             chart_backend_reconnects = 0,
             chart_backend_latency = 0;
 
-    RRDSET *chart_metrics = rrdset_find("netdata.backend_metrics");
+    RRDSET *chart_metrics = rrdset_find_localhost("netdata.backend_metrics");
     if(!chart_metrics) {
         chart_metrics = rrdset_create("netdata", "backend_metrics", NULL, "backend", NULL, "Netdata Buffered Metrics", "metrics", 130600, frequency, RRDSET_TYPE_LINE);
-        rrddim_add(chart_metrics, "buffered", NULL,  1, 1, RRDDIM_ABSOLUTE);
-        rrddim_add(chart_metrics, "lost",     NULL,  1, 1, RRDDIM_ABSOLUTE);
-        rrddim_add(chart_metrics, "sent",     NULL,  1, 1, RRDDIM_ABSOLUTE);
+        rrddim_add(chart_metrics, "buffered", NULL,  1, 1, RRDDIM_ALGORITHM_ABSOLUTE);
+        rrddim_add(chart_metrics, "lost",     NULL,  1, 1, RRDDIM_ALGORITHM_ABSOLUTE);
+        rrddim_add(chart_metrics, "sent",     NULL,  1, 1, RRDDIM_ALGORITHM_ABSOLUTE);
     }
 
-    RRDSET *chart_bytes = rrdset_find("netdata.backend_bytes");
+    RRDSET *chart_bytes = rrdset_find_localhost("netdata.backend_bytes");
     if(!chart_bytes) {
         chart_bytes = rrdset_create("netdata", "backend_bytes", NULL, "backend", NULL, "Netdata Backend Data Size", "KB", 130610, frequency, RRDSET_TYPE_AREA);
-        rrddim_add(chart_bytes, "buffered", NULL, 1, 1024, RRDDIM_ABSOLUTE);
-        rrddim_add(chart_bytes, "lost",     NULL, 1, 1024, RRDDIM_ABSOLUTE);
-        rrddim_add(chart_bytes, "sent",     NULL, 1, 1024, RRDDIM_ABSOLUTE);
-        rrddim_add(chart_bytes, "received", NULL, 1, 1024, RRDDIM_ABSOLUTE);
+        rrddim_add(chart_bytes, "buffered", NULL, 1, 1024, RRDDIM_ALGORITHM_ABSOLUTE);
+        rrddim_add(chart_bytes, "lost",     NULL, 1, 1024, RRDDIM_ALGORITHM_ABSOLUTE);
+        rrddim_add(chart_bytes, "sent",     NULL, 1, 1024, RRDDIM_ALGORITHM_ABSOLUTE);
+        rrddim_add(chart_bytes, "received", NULL, 1, 1024, RRDDIM_ALGORITHM_ABSOLUTE);
     }
 
-    RRDSET *chart_ops = rrdset_find("netdata.backend_ops");
+    RRDSET *chart_ops = rrdset_find_localhost("netdata.backend_ops");
     if(!chart_ops) {
         chart_ops = rrdset_create("netdata", "backend_ops", NULL, "backend", NULL, "Netdata Backend Operations", "operations", 130630, frequency, RRDSET_TYPE_LINE);
-        rrddim_add(chart_ops, "write",     NULL, 1, 1, RRDDIM_ABSOLUTE);
-        rrddim_add(chart_ops, "discard",   NULL, 1, 1, RRDDIM_ABSOLUTE);
-        rrddim_add(chart_ops, "reconnect", NULL, 1, 1, RRDDIM_ABSOLUTE);
-        rrddim_add(chart_ops, "failure",   NULL, 1, 1, RRDDIM_ABSOLUTE);
-        rrddim_add(chart_ops, "read",      NULL, 1, 1, RRDDIM_ABSOLUTE);
+        rrddim_add(chart_ops, "write",     NULL, 1, 1, RRDDIM_ALGORITHM_ABSOLUTE);
+        rrddim_add(chart_ops, "discard",   NULL, 1, 1, RRDDIM_ALGORITHM_ABSOLUTE);
+        rrddim_add(chart_ops, "reconnect", NULL, 1, 1, RRDDIM_ALGORITHM_ABSOLUTE);
+        rrddim_add(chart_ops, "failure",   NULL, 1, 1, RRDDIM_ALGORITHM_ABSOLUTE);
+        rrddim_add(chart_ops, "read",      NULL, 1, 1, RRDDIM_ALGORITHM_ABSOLUTE);
     }
 
     /*
@@ -272,18 +271,18 @@ void *backends_main(void *ptr) {
      *
      * issue #1432 and https://www.softlab.ntua.gr/facilities/documentation/unix/unix-socket-faq/unix-socket-faq-2.html
      *
-    RRDSET *chart_latency = rrdset_find("netdata.backend_latency");
+    RRDSET *chart_latency = rrdset_find_localhost("netdata.backend_latency");
     if(!chart_latency) {
         chart_latency = rrdset_create("netdata", "backend_latency", NULL, "backend", NULL, "Netdata Backend Latency", "ms", 130620, frequency, RRDSET_TYPE_AREA);
-        rrddim_add(chart_latency, "latency",   NULL,  1, 1000, RRDDIM_ABSOLUTE);
+        rrddim_add(chart_latency, "latency",   NULL,  1, 1000, RRDDIM_ALGORITHM_ABSOLUTE);
     }
     */
 
-    RRDSET *chart_rusage = rrdset_find("netdata.backend_thread_cpu");
+    RRDSET *chart_rusage = rrdset_find_localhost("netdata.backend_thread_cpu");
     if(!chart_rusage) {
         chart_rusage = rrdset_create("netdata", "backend_thread_cpu", NULL, "backend", NULL, "NetData Backend Thread CPU usage", "milliseconds/s", 130630, frequency, RRDSET_TYPE_STACKED);
-        rrddim_add(chart_rusage, "user",   NULL, 1, 1000, RRDDIM_INCREMENTAL);
-        rrddim_add(chart_rusage, "system", NULL, 1, 1000, RRDDIM_INCREMENTAL);
+        rrddim_add(chart_rusage, "user",   NULL, 1, 1000, RRDDIM_ALGORITHM_INCREMENTAL);
+        rrddim_add(chart_rusage, "system", NULL, 1, 1000, RRDDIM_ALGORITHM_INCREMENTAL);
     }
 
     // ------------------------------------------------------------------------