--- a/src/rrdtool.c
|
|
+++ b/src/rrdtool.c
|
|
@@ -80,6 +80,7 @@ static const char *config_keys[] =
|
|
"HeartBeat",
|
|
"RRARows",
|
|
"RRATimespan",
|
|
+ "RRASingle",
|
|
"XFF",
|
|
"WritesPerSecond",
|
|
"RandomTimeout"
|
|
@@ -101,6 +102,8 @@ static rrdcreate_config_t rrdcreate_conf
|
|
/* timespans = */ NULL,
|
|
/* timespans_num = */ 0,
|
|
|
|
+ /* rrasingle = */ 0,
|
|
+
|
|
/* consolidation_functions = */ NULL,
|
|
/* consolidation_functions_num = */ 0
|
|
};
|
|
@@ -1027,6 +1030,14 @@ static int rrd_config (const char *key,
|
|
|
|
free (value_copy);
|
|
}
|
|
+ else if (strcasecmp ("RRASingle", key) == 0)
|
|
+ {
|
|
+ if (IS_TRUE (value))
|
|
+ {
|
|
+ rrdcreate_config.rrasingle = 1;
|
|
+ NOTICE ("rrdtool plugin: RRASingle = true: creating only AVERAGE RRAs");
|
|
+ }
|
|
+ }
|
|
else if (strcasecmp ("XFF", key) == 0)
|
|
{
|
|
double tmp = atof (value);
|
|
--- a/src/utils_rrdcreate.c
|
|
+++ b/src/utils_rrdcreate.c
|
|
@@ -122,6 +122,9 @@ static int rra_get (char ***ret, const v
|
|
rts_num = rra_timespans_num;
|
|
}
|
|
|
|
+ if (cfg->rrasingle)
|
|
+ rra_types_num = 1;
|
|
+
|
|
rra_max = rts_num * rra_types_num;
|
|
|
|
if ((rra_def = (char **) malloc ((rra_max + 1) * sizeof (char *))) == NULL)
|
|
--- a/src/utils_rrdcreate.h
|
|
+++ b/src/utils_rrdcreate.h
|
|
@@ -36,6 +36,8 @@ struct rrdcreate_config_s
|
|
int *timespans;
|
|
size_t timespans_num;
|
|
|
|
+ int rrasingle;
|
|
+
|
|
char **consolidation_functions;
|
|
size_t consolidation_functions_num;
|
|
};
|