]> arthur.barton.de Git - netdata.git/commitdiff
all stacked charts now show only the dimensions that have data in them
authorCosta Tsaousis (ktsaou) <costa@tsaousis.gr>
Tue, 13 May 2014 23:10:39 +0000 (02:10 +0300)
committerCosta Tsaousis (ktsaou) <costa@tsaousis.gr>
Tue, 13 May 2014 23:10:39 +0000 (02:10 +0300)
netdata.c
web/index.js
web/netdata.js

index b21be498bf86ec9ed4eb09cb4f47b7ef1a67c87a..7d85a561a12fd8030873e7d97c73f9ccd60cf2b8 100644 (file)
--- a/netdata.c
+++ b/netdata.c
@@ -2228,17 +2228,19 @@ unsigned long rrd_stats_json(int type, RRD_STATS *st, struct web_buffer *wb, int
        else if(current_entry >= st->entries) current_entry = st->entries - 1;
        
        // find the oldest entry of the round-robin
-       long max_entries = (st->counter <= (unsigned long)st->entries) ? st->counter - 1 : (unsigned long)st->entries;
+       long max_entries_init = (st->counter <= (unsigned long)st->entries) ? st->counter - 1 : (unsigned long)st->entries;
        
        if(before == 0) before = st->last_updated.tv_sec;
        if(after  == 0) after = rrd_stats_first_entry_t(st);
 
+       unsigned long long time_usec_init = st->last_updated.tv_sec * 1000000ULL + st->last_updated.tv_usec;
+
        // ---
 
        // our return value (the last timestamp printed)
        // this is required to detect re-transmit in google JSONP
-       time_t last_timestamp = 0;
-               
+       time_t last_timestamp = 0;                      
+
 
        // -------------------------------------------------------------------------
        // find how many dimensions we have
@@ -2278,7 +2280,7 @@ unsigned long rrd_stats_json(int type, RRD_STATS *st, struct web_buffer *wb, int
                        , before - after
                        , entries_to_show
                        , group
-                       , max_entries
+                       , max_entries_init
                        );
 
                if(before < after)
@@ -2343,7 +2345,9 @@ unsigned long rrd_stats_json(int type, RRD_STATS *st, struct web_buffer *wb, int
                // the minimum line length we expect
                int line_size = 4096 + (dimensions * 200);
 
-               unsigned long long time_usec = st->last_updated.tv_sec * 1000000ULL + st->last_updated.tv_usec;
+               unsigned long long time_usec = time_usec_init;
+               long max_entries = max_entries_init;
+
                long t;
 
                long count = 0, printed = 0, group_count = 0;
index caa28a542e7fdb01150ba3026cc0ec19ec35e05e..708fb207f2e40c292f0bcb627a45cbf064de8b21 100644 (file)
@@ -109,6 +109,7 @@ function initMainChart(c) {
        mainchart.hiddenchart = $.extend(true, {}, mainchart);\r
        mainchart.hiddenchart.chartOptions.height = MAINCHART_CONTROL_HEIGHT;\r
        mainchart.hiddenchart.div = 'maingraph_control';\r
+       mainchart.hiddenchart.non_zero = 0;\r
 \r
        // initialize the div\r
        showChartIsLoading(mainchart.div, mainchart.name, mainchart.chartOptions.width, mainchart.chartOptions.height);\r
index 715a5f3fca74b81095475fd31991bee40fa8e555..0e7d5f97d3f8738a9e10eb314eca017e342f5cd8 100644 (file)
@@ -37,6 +37,8 @@ function generateChartURL(chart) {
        url += "/";
        url += chart.before?chart.before.toString():"0";
        url += "/";
+       url += chart.non_zero?"nonzero":"all";
+       url += "/";
 
        return url;
 }
@@ -259,6 +261,7 @@ function loadCharts(base_url, doNext) {
                                        json.charts[i].chartOptions.vAxis.viewWindowMode = 'maximized';
                                        json.charts[i].chartOptions.vAxis.minValue = null;
                                        json.charts[i].chartOptions.vAxis.maxValue = null;
+                                       json.charts[i].non_zero = 0;
                                        break;
 
                                case "stacked":
@@ -267,6 +270,7 @@ function loadCharts(base_url, doNext) {
                                        json.charts[i].chartOptions.areaOpacity = 0.85;
                                        json.charts[i].chartOptions.lineWidth = 1;
                                        json.charts[i].group_method = "average";
+                                       json.charts[i].non_zero = 1;
 
                                        json.charts[i].chartOptions.vAxis.viewWindowMode = 'maximized';
                                        json.charts[i].chartOptions.vAxis.minValue = null;
@@ -278,6 +282,7 @@ function loadCharts(base_url, doNext) {
                                        json.charts[i].chartType = "LineChart";
                                        json.charts[i].chartOptions.lineWidth = 2;
                                        json.charts[i].chartOptions.curveType = 'function';
+                                       json.charts[i].non_zero = 0;
                                        break;
                        }