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