chart and visibility of data will be random */
im->gdes[i].step = max(im->gdes[i].step,im->step);
if (ft_step < im->gdes[i].step) {
- reduce_data(im->gdes[i].cf_reduce,
+
+ reduce_data(im->gdes[i].cf_reduce_set ? im->gdes[i].cf_reduce : im->gdes[i].cf,
ft_step,
&im->gdes[i].start,
&im->gdes[i].end,
im->gdes[im->gdes_c - 1].rrd[0] = '\0';
im->gdes[im->gdes_c - 1].ds = -1;
im->gdes[im->gdes_c - 1].cf_reduce = CF_AVERAGE;
+ im->gdes[im->gdes_c - 1].cf_reduce_set = 0;
im->gdes[im->gdes_c - 1].cf = CF_AVERAGE;
im->gdes[im->gdes_c - 1].yrule = DNAN;
im->gdes[im->gdes_c - 1].xrule = 0;
char daemon[256];
enum cf_en cf; /* consolidation function */
enum cf_en cf_reduce; /* consolidation function for reduce_data() */
+ int cf_reduce_set; /* is the cf_reduce option set */
struct gfx_color_t col, col2; /* graph color */
double gradheight;
char format[FMT_LEG_LEN + 5]; /* format for PRINT AND GPRINT */
char *reduce=getKeyValueArgument("reduce",1,pa);
if (reduce) {
gdp->cf_reduce=cf_conv(reduce);
+ gdp->cf_reduce_set=1;
dprintfparsed("got reduce: %s (%i)\n",reduce,gdp->cf_reduce);
if (((int)gdp->cf_reduce)==-1) { rrd_set_error("bad reduce CF: %s",reduce); return NULL; }
}
);
if (gdp->step == 0){
gdp->step = im->step; /* initialize with image wide step */
- }
+ }
if (!gdp) { return 1;}
/* debugging output */
dprintf("=================================\n");