]> arthur.barton.de Git - netdata.git/blobdiff - src/rrd2json.c
fix typo in the installer help
[netdata.git] / src / rrd2json.c
index 65346f31e732010b21fd1499d20a228c8c7e6de5..b886b25fd29954cc695c05349bc51fc6e307de2c 100644 (file)
@@ -85,10 +85,14 @@ void rrd_stats_api_v1_charts(BUFFER *wb)
 
     buffer_sprintf(wb, "{\n"
            "\t\"hostname\": \"%s\""
+        ",\n\t\"version\": \"%s\""
+        ",\n\t\"os\": \"%s\""
         ",\n\t\"update_every\": %d"
         ",\n\t\"history\": %d"
         ",\n\t\"charts\": {"
         , localhost.hostname
+        , program_version
+        , os_type
         , rrd_update_every
         , rrd_default_history_entries
         );
@@ -449,6 +453,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 +569,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 +597,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;
     }
 }
@@ -918,14 +922,14 @@ static void rrdr2json(RRDR *r, BUFFER *wb, uint32_t options, int datatable)
     else {
         kq[0] = '"';
         sq[0] = '"';
-        if((options & RRDR_OPTION_SECONDS) || (options & RRDR_OPTION_MILLISECONDS)) {
-            dates = JSON_DATES_TIMESTAMP;
-            dates_with_new = 0;
-        }
-        else {
+        if(options & RRDR_OPTION_GOOGLE_JSON) {
             dates = JSON_DATES_JS;
             dates_with_new = 1;
         }
+        else {
+            dates = JSON_DATES_TIMESTAMP;
+            dates_with_new = 0;
+        }
         if( options & RRDR_OPTION_OBJECTSROWS )
             strcpy(pre_date, "      { ");
         else
@@ -2305,7 +2309,7 @@ time_t rrd_stats_json(int type, RRDSET *st, BUFFER *wb, long points, long group,
 
     } // max_loop
 
-    debug(D_RRD_STATS, "RRD_STATS_JSON: %s total %lu bytes", st->name, wb->len);
+    debug(D_RRD_STATS, "RRD_STATS_JSON: %s total %zu bytes", st->name, wb->len);
 
     pthread_rwlock_unlock(&st->rwlock);
     return last_timestamp;