added support for options on /graph commands
ktsaou committed
Mar 28, 2014 at 16:15 UTC
25180234bc1b13a6f08a521d98a0a0a24e30b8a5
2 files changed
+6
-9
netdata.c
+6
-6
@@ -563,7 +563,7 @@ void rrd_stats_dimension_set(RRD_STATS *st, const char *id, void *data)
563
#define GROUP_AVERAGE 0
564
#define GROUP_MAX 1
565
566
-size_t rrd_stats_one_xml(RRD_STATS *st, char *buffer, size_t len)
566
+size_t rrd_stats_one_xml(RRD_STATS *st, char *options, char *buffer, size_t len)
567
{
568
size_t i = 0;
569
if(i + 200 > len) return(0);
@@ -574,7 +574,7 @@ size_t rrd_stats_one_xml(RRD_STATS *st, char *buffer, size_t len)
574
i += sprintf(&buffer[i], "\t\t<type>%s</type>\n", st->type);
575
i += sprintf(&buffer[i], "\t\t<title>%s%s</title>\n", st->title, st->name);
576
i += sprintf(&buffer[i], "\t\t<vtitle>%s</vtitle>\n", st->vtitle);
577
- i += sprintf(&buffer[i], "\t\t<dataurl>/data/%s</dataurl>\n", st->name);
577
+ i += sprintf(&buffer[i], "\t\t<dataurl>/data/%s/%s</dataurl>\n", st->name, options?options:"");
578
i += sprintf(&buffer[i], "\t\t<entries>%ld</entries>\n", st->entries);
579
i += sprintf(&buffer[i], "\t</graph>\n");
580
@@ -584,11 +584,11 @@ size_t rrd_stats_one_xml(RRD_STATS *st, char *buffer, size_t len)
584
#define RRD_GRAPH_XML_HEADER "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"/all.xsl\"?>\n\n<catalog>\n"
585
#define RRD_GRAPH_XML_FOOTER "</catalog>\n"
586
587
-size_t rrd_stats_graph_xml(RRD_STATS *st, char *buffer, size_t len)
587
+size_t rrd_stats_graph_xml(RRD_STATS *st, char * options, char *buffer, size_t len)
588
{
589
size_t i = 0;
590
i += sprintf(&buffer[i], RRD_GRAPH_XML_HEADER);
591
- i += rrd_stats_one_xml(st, &buffer[i], len - i);
591
+ i += rrd_stats_one_xml(st, options, &buffer[i], len - i);
592
i += sprintf(&buffer[i], RRD_GRAPH_XML_FOOTER);
593
return(i);
594
}
@@ -601,7 +601,7 @@ size_t rrd_stats_all_xml(char *buffer, size_t len)
601
i += sprintf(&buffer[i], RRD_GRAPH_XML_HEADER);
602
603
for(st = root; st ; st = st->next)
604
- i += rrd_stats_one_xml(st, &buffer[i], len - i);
604
+ i += rrd_stats_one_xml(st, NULL, &buffer[i], len - i);
605
606
i += sprintf(&buffer[i], RRD_GRAPH_XML_FOOTER);
607
return(i);
@@ -1143,7 +1143,7 @@ void web_client_process(struct web_client *w)
1143
code = 200;
1144
debug(D_WEB_CLIENT_ACCESS, "%llu: Sending %s.xml of RRD_STATS...", w->id, st->name);
1145
w->data->contenttype = CT_TEXT_XML;
1146
- w->data->bytes = rrd_stats_graph_xml(st, w->data->buffer, w->data->size);
1146
+ w->data->bytes = rrd_stats_graph_xml(st, url, w->data->buffer, w->data->size);
1147
}
1148
}
1149
else if(strcmp(tok, "mirror") == 0) {
netdata.start
-3
@@ -18,9 +18,6 @@ NETDATA_CONFIG_INTERNAL_UPDATE_EVERY=1
18
# how many points should the graphs have
19
NETDATA_CONFIG_HISTORY_POINTS=120
20
21
-# how many points should be kept in memory
22
-NETDATA_CONFIG_HISTORY_DATA=3600
23
-
21
# every how many graph refreshes, the page should be reloaded
22
# this fixes a bug in the google graphs API which leaks memory
23
# when refreshes graphs