projects
/
rrdtool.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5356d2f
)
src/rrd_xport.c: Implement the `--daemon' option for `rrdtool xport'.
author
Florian Forster
<octo@verplant.org>
Wed, 2 Jul 2008 13:55:25 +0000
(15:55 +0200)
committer
Florian Forster
<octo@verplant.org>
Wed, 2 Jul 2008 13:55:25 +0000
(15:55 +0200)
src/rrd_xport.c
patch
|
blob
|
history
diff --git
a/src/rrd_xport.c
b/src/rrd_xport.c
index
0faf13d
..
935a2cc
100644
(file)
--- a/
src/rrd_xport.c
+++ b/
src/rrd_xport.c
@@
-10,6
+10,7
@@
#include "rrd_graph.h"
#include "rrd_xport.h"
#include "unused.h"
#include "rrd_graph.h"
#include "rrd_xport.h"
#include "unused.h"
+#include "rrd_client.h"
#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
#include <io.h>
#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
#include <io.h>
@@
-53,7
+54,6
@@
int rrd_xport(
char ***legend_v, /* legend entries */
rrd_value_t **data)
{ /* two dimensional array containing the data */
char ***legend_v, /* legend entries */
rrd_value_t **data)
{ /* two dimensional array containing the data */
-
image_desc_t im;
time_t start_tmp = 0, end_tmp = 0;
rrd_time_value_t start_tv, end_tv;
image_desc_t im;
time_t start_tmp = 0, end_tmp = 0;
rrd_time_value_t start_tv, end_tv;
@@
-64,6
+64,7
@@
int rrd_xport(
{"maxrows", required_argument, 0, 'm'},
{"step", required_argument, 0, 261},
{"enumds", no_argument, 0, 262}, /* these are handled in the frontend ... */
{"maxrows", required_argument, 0, 'm'},
{"step", required_argument, 0, 261},
{"enumds", no_argument, 0, 262}, /* these are handled in the frontend ... */
+ {"daemon", required_argument, 0, 'd'},
{0, 0, 0, 0}
};
{0, 0, 0, 0}
};
@@
-109,6
+110,26
@@
int rrd_xport(
return -1;
}
break;
return -1;
}
break;
+ case 'd':
+ {
+ int status;
+ if (im.use_rrdcached)
+ {
+ rrd_set_error ("You cannot specify --daemon "
+ "more than once.");
+ return (-1);
+ }
+ status = rrdc_connect (optarg);
+ if (status != 0)
+ {
+ rrd_set_error ("rrdc_connect(%s) failed with status %i.",
+ optarg, status);
+ return (-1);
+ }
+ im.use_rrdcached = 1;
+ break;
+ }
+
case '?':
rrd_set_error("unknown option '%s'", argv[optind - 1]);
return -1;
case '?':
rrd_set_error("unknown option '%s'", argv[optind - 1]);
return -1;
@@
-147,6
+168,26
@@
int rrd_xport(
return (-1);
}
return (-1);
}
+ if (im.use_rrdcached == 0)
+ {
+ char *temp;
+
+ temp = getenv (ENV_RRDCACHED_ADDRESS);
+ if (temp != NULL)
+ {
+ int status;
+
+ status = rrdc_connect (temp);
+ if (status != 0)
+ {
+ rrd_set_error ("rrdc_connect(%s) failed with status %i.",
+ temp, status);
+ return (-1);
+ }
+ im.use_rrdcached = 1;
+ }
+ }
+
if (rrd_xport_fn(&im, start, end, step, col_cnt, legend_v, data) == -1) {
im_free(&im);
return -1;
if (rrd_xport_fn(&im, start, end, step, col_cnt, legend_v, data) == -1) {
im_free(&im);
return -1;