* rrd_tool.c Startup wrapper
*****************************************************************************/
-#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) && !defined(HAVE_CONFIG_H)
+#if defined(WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) && !defined(HAVE_CONFIG_H)
#include "../win32/config.h"
#include <stdlib.h>
#include <sys/stat.h>
N_("* xport - generate XML dump from one or several RRD\n\n"
"\trrdtool xport [-s|--start seconds] [-e|--end seconds]\n"
"\t\t[-m|--maxrows rows]\n" "\t\t[--step seconds]\n"
- "\t\t[--enumds]\n" "\t\t[DEF:vname=rrd:ds-name:CF]\n"
+ "\t\t[--enumds] [--json]\n" "\t\t[DEF:vname=rrd:ds-name:CF]\n"
"\t\t[CDEF:vname=rpn-expression]\n"
"\t\t[XPORT:vname:legend]\n");
const char *help_quit =
if (rrd_fetch
(argc - 1, &argv[1], &start, &end, &step, &ds_cnt, &ds_namv,
- &data) != -1) {
+ &data) == 0) {
datai = data;
printf(" ");
for (i = 0; i < ds_cnt; i++)
}
} else if (strcmp("xport", argv[1]) == 0) {
#ifdef HAVE_RRD_GRAPH
- int xxsize;
- unsigned long int j = 0;
- time_t start, end, ti;
- unsigned long step, col_cnt, row_cnt;
- rrd_value_t *data, *ptr;
- char **legend_v;
- int enumds = 0;
- int i;
- size_t vtag_s = strlen(COL_DATA_TAG) + 10;
- char *vtag = malloc(vtag_s);
-
- for (i = 2; i < argc; i++) {
- if (strcmp("--enumds", argv[i]) == 0)
- enumds = 1;
- }
-
- if (rrd_xport
- (argc - 1, &argv[1], &xxsize, &start, &end, &step, &col_cnt,
- &legend_v, &data) != -1) {
- char *old_locale = setlocale(LC_NUMERIC,NULL);
- setlocale(LC_NUMERIC, "C");
- row_cnt = (end - start) / step;
- ptr = data;
- printf("<?xml version=\"1.0\" encoding=\"%s\"?>\n\n",
- XML_ENCODING);
- printf("<%s>\n", ROOT_TAG);
- printf(" <%s>\n", META_TAG);
- printf(" <%s>%lld</%s>\n", META_START_TAG,
- (long long int) start + step, META_START_TAG);
- printf(" <%s>%lu</%s>\n", META_STEP_TAG, step, META_STEP_TAG);
- printf(" <%s>%lld</%s>\n", META_END_TAG, (long long int) end,
- META_END_TAG);
- printf(" <%s>%lu</%s>\n", META_ROWS_TAG, row_cnt,
- META_ROWS_TAG);
- printf(" <%s>%lu</%s>\n", META_COLS_TAG, col_cnt,
- META_COLS_TAG);
- printf(" <%s>\n", LEGEND_TAG);
- for (j = 0; j < col_cnt; j++) {
- char *entry = NULL;
-
- entry = legend_v[j];
- printf(" <%s>%s</%s>\n", LEGEND_ENTRY_TAG, entry,
- LEGEND_ENTRY_TAG);
- free(entry);
- }
- free(legend_v);
- printf(" </%s>\n", LEGEND_TAG);
- printf(" </%s>\n", META_TAG);
- printf(" <%s>\n", DATA_TAG);
- for (ti = start + step; ti <= end; ti += step) {
- printf(" <%s>", DATA_ROW_TAG);
- printf("<%s>%lld</%s>", COL_TIME_TAG, (long long int)ti, COL_TIME_TAG);
- for (j = 0; j < col_cnt; j++) {
- rrd_value_t newval = DNAN;
-
- if (enumds == 1)
-
- snprintf(vtag, vtag_s, "%s%lu", COL_DATA_TAG, j);
- else
- snprintf(vtag, vtag_s, "%s", COL_DATA_TAG);
- newval = *ptr;
- if (isnan(newval)) {
- printf("<%s>NaN</%s>", vtag, vtag);
- } else {
- printf("<%s>%0.10e</%s>", vtag, newval, vtag);
- };
- ptr++;
- }
- printf("</%s>\n", DATA_ROW_TAG);
- }
- free(data);
- printf(" </%s>\n", DATA_TAG);
- printf("</%s>\n", ROOT_TAG);
- setlocale(LC_NUMERIC, old_locale);
- }
- free(vtag);
+ time_t start, end;
+ unsigned long step, col_cnt;
+ rrd_value_t *data;
+ char **legend_v;
+ rrd_xport
+ (argc - 1, &argv[1], NULL, &start, &end, &step, &col_cnt,
+ &legend_v, &data);
#else
rrd_set_error("the instance of rrdtool has been compiled without graphics");
#endif
}
if (rrd_graph
(argc - 1, &argv[1], &calcpr, &xsize, &ysize, NULL, &ymin,
- &ymax) != -1) {
+ &ymax) == 0) {
if (!tostdout && !imginfo)
printf("%dx%d\n", xsize, ysize);
if (calcpr) {