]> arthur.barton.de Git - netdata.git/commitdiff
Merge pull request #1662 from ktsaou/master
authorCosta Tsaousis <costa@tsaousis.gr>
Sat, 28 Jan 2017 01:29:42 +0000 (03:29 +0200)
committerGitHub <noreply@github.com>
Sat, 28 Jan 2017 01:29:42 +0000 (03:29 +0200)
fix: nonzero option should return all selected dimensions if they are all zero

configs.signatures
src/rrd2json.c
src/rrd2json.h

index 817c38902f86dc6cb0112e0aa8ee39199ca5055d..9a435dfcceafad3c4e8ccf67b4237664b33e1a72 100644 (file)
@@ -168,6 +168,7 @@ declare -A configs_signatures=(
   ['6b39de5d85db45115db236347a6896d4']='health.d/named.conf'
   ['6b917300747e7e8314844237e2462261']='python.d/apache_cache.conf'
   ['6bf0de6e3b251b765b10a71d8c5c319d']='python.d/apache.conf'
+  ['6c9f2f0abe49a6f1a69db052ebcef1bf']='python.d/elasticsearch.conf'
   ['6ca08ea2a238cad26578b8b85edae160']='health.d/udp_errors.conf'
   ['6cba40e32a7e98a98c31a209913839cc']='python.d/nginx_log.conf'
   ['6d02c2dd0863e09ad9dbba53e3b58116']='health.d/mysql.conf'
@@ -372,6 +373,7 @@ declare -A configs_signatures=(
   ['f82924563e41d99cdae5431f0af69155']='python.d.conf'
   ['f8c30f22df92765e2c0fab3c8174e2fc']='health.d/memcached.conf'
   ['f8dade4484f1b6a48655388502df7d5a']='health_alarm_notify.conf'
+  ['f96acba4b14b0c1b50d0187a04416151']='health_alarm_notify.conf'
   ['f9be549a849d023595d19d5d74263e0f']='health.d/tcp_resets.conf'
   ['fa4396513b358d6ec6a7f5bfb08439b8']='health.d/net.conf'
   ['fd3164e6e8cb6726706267eae49aa082']='health_alarm_notify.conf'
index 65346f31e732010b21fd1499d20a228c8c7e6de5..aa07b6fc34cb2aefbac84ce9fbda28ca27c0a0b2 100644 (file)
@@ -449,6 +449,7 @@ void rrd_stats_all_json(BUFFER *wb)
 #define RRDR_RESET      0x02 // the dimension contains / the value is reset
 #define RRDR_HIDDEN     0x04 // the dimension contains / the value is hidden
 #define RRDR_NONZERO    0x08 // the dimension contains / the value is non-zero
+#define RRDR_SELECTED   0x10 // the dimension is selected
 
 // RRDR result options
 #define RRDR_RESULT_OPTION_ABSOLUTE 0x00000001
@@ -564,13 +565,12 @@ void rrdr_disable_not_selected_dimensions(RRDR *r, uint32_t options, const char
         // find it and enable it
         for(c = 0, d = r->st->dimensions; d ;c++, d = d->next) {
             if(unlikely((hash == d->hash && !strcmp(d->id, tok)) || !strcmp(d->name, tok))) {
-                dims_selected++;
 
-                r->od[c] |= RRDR_OPTION_SELECTED;
-
-                // remove the hidden flag, if it is set
-                if(likely(r->od[c] & RRDR_HIDDEN))
+                if(likely(r->od[c] & RRDR_HIDDEN)) {
+                    r->od[c] |= RRDR_SELECTED;
                     r->od[c] &= ~RRDR_HIDDEN;
+                    dims_selected++;
+                }
 
                 // since the user needs this dimension
                 // make it appear as NONZERO, to return it
@@ -593,7 +593,7 @@ void rrdr_disable_not_selected_dimensions(RRDR *r, uint32_t options, const char
         // enable the selected ones
         // to avoid returning an empty chart
         for(c = 0, d = r->st->dimensions; d ;c++, d = d->next)
-            if(unlikely(r->od[c] & RRDR_OPTION_SELECTED))
+            if(unlikely(r->od[c] & RRDR_SELECTED))
                 r->od[c] |= RRDR_NONZERO;
     }
 }
index de82de43188f0105cdf3e99d7e667447ce5685b3..7b14019708e32f54b3a18703e938320ac278c509 100644 (file)
@@ -57,7 +57,6 @@
 #define RRDR_OPTION_LABEL_QUOTES    0x00000400 // in CSV output, wrap header labels in double quotes
 #define RRDR_OPTION_PERCENTAGE      0x00000800 // give values as percentage of total
 #define RRDR_OPTION_NOT_ALIGNED     0x00001000 // do not align charts for persistant timeframes
-#define RRDR_OPTION_SELECTED        0x00002000 // the dimension is selected by the caller: rrdr_disable_not_selected_dimensions()
 
 extern void rrd_stats_api_v1_chart(RRDSET *st, BUFFER *wb);
 extern void rrd_stats_api_v1_charts(BUFFER *wb);