@cryptotaxi247 / netdata-1 / commits / 7dd84d4ce

all stacked charts now show only the dimensions that have data in them

Costa Tsaousis (ktsaou) committed May 14, 2014 at 02:10 UTC 7dd84d4ce0eace930f16ccbb786edb4ffa432b23
3 files changed +15 -5
netdata.c
+9 -5
@@ -2228,17 +2228,19 @@ unsigned long rrd_stats_json(int type, RRD_STATS *st, struct web_buffer *wb, int
2228 else if(current_entry >= st->entries) current_entry = st->entries - 1;
2229
2230 // find the oldest entry of the round-robin
2231 - long max_entries = (st->counter <= (unsigned long)st->entries) ? st->counter - 1 : (unsigned long)st->entries;
2231 + long max_entries_init = (st->counter <= (unsigned long)st->entries) ? st->counter - 1 : (unsigned long)st->entries;
2232
2233 if(before == 0) before = st->last_updated.tv_sec;
2234 if(after == 0) after = rrd_stats_first_entry_t(st);
2235
2236 + unsigned long long time_usec_init = st->last_updated.tv_sec * 1000000ULL + st->last_updated.tv_usec;
2237 +
2238 // ---
2239
2240 // our return value (the last timestamp printed)
2241 // this is required to detect re-transmit in google JSONP
2240 - time_t last_timestamp = 0;
2241 -
2242 + time_t last_timestamp = 0;
2243 +
2244
2245 // -------------------------------------------------------------------------
2246 // 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
2280 , before - after
2281 , entries_to_show
2282 , group
2281 - , max_entries
2283 + , max_entries_init
2284 );
2285
2286 if(before < after)
@@ -2343,7 +2345,9 @@ unsigned long rrd_stats_json(int type, RRD_STATS *st, struct web_buffer *wb, int
2345 // the minimum line length we expect
2346 int line_size = 4096 + (dimensions * 200);
2347
2346 - unsigned long long time_usec = st->last_updated.tv_sec * 1000000ULL + st->last_updated.tv_usec;
2348 + unsigned long long time_usec = time_usec_init;
2349 + long max_entries = max_entries_init;
2350 +
2351 long t;
2352
2353 long count = 0, printed = 0, group_count = 0;
web/index.js
+1
@@ -109,6 +109,7 @@ function initMainChart(c) {
109 mainchart.hiddenchart = $.extend(true, {}, mainchart);
110 mainchart.hiddenchart.chartOptions.height = MAINCHART_CONTROL_HEIGHT;
111 mainchart.hiddenchart.div = 'maingraph_control';
112 + mainchart.hiddenchart.non_zero = 0;
113
114 // initialize the div
115 showChartIsLoading(mainchart.div, mainchart.name, mainchart.chartOptions.width, mainchart.chartOptions.height);
web/netdata.js
+5
@@ -37,6 +37,8 @@ function generateChartURL(chart) {
37 url += "/";
38 url += chart.before?chart.before.toString():"0";
39 url += "/";
40 + url += chart.non_zero?"nonzero":"all";
41 + url += "/";
42
43 return url;
44 }
@@ -259,6 +261,7 @@ function loadCharts(base_url, doNext) {
261 json.charts[i].chartOptions.vAxis.viewWindowMode = 'maximized';
262 json.charts[i].chartOptions.vAxis.minValue = null;
263 json.charts[i].chartOptions.vAxis.maxValue = null;
264 + json.charts[i].non_zero = 0;
265 break;
266
267 case "stacked":
@@ -267,6 +270,7 @@ function loadCharts(base_url, doNext) {
270 json.charts[i].chartOptions.areaOpacity = 0.85;
271 json.charts[i].chartOptions.lineWidth = 1;
272 json.charts[i].group_method = "average";
273 + json.charts[i].non_zero = 1;
274
275 json.charts[i].chartOptions.vAxis.viewWindowMode = 'maximized';
276 json.charts[i].chartOptions.vAxis.minValue = null;
@@ -278,6 +282,7 @@ function loadCharts(base_url, doNext) {
282 json.charts[i].chartType = "LineChart";
283 json.charts[i].chartOptions.lineWidth = 2;
284 json.charts[i].chartOptions.curveType = 'function';
285 + json.charts[i].non_zero = 0;
286 break;
287 }
288