|
|
|
|
@ -99,9 +99,8 @@ function rrdRRA2FlotObj(rrd_file,rra_idx,ds_list,want_ds_labels,want_rounding) {
|
|
|
|
|
// of the stack is invalid
|
|
|
|
|
function rrdRRAStackFlotObj(rrd_file,rra_idx,
|
|
|
|
|
ds_positive_stack_list,ds_negative_stack_list,ds_single_list,
|
|
|
|
|
want_ds_labels,want_rounding,one_undefined_enough,tz_offset)
|
|
|
|
|
|
|
|
|
|
var timestamp_shift = 3600 * tz_offset;
|
|
|
|
|
tz_offset,
|
|
|
|
|
want_ds_labels,want_rounding,one_undefined_enough) {
|
|
|
|
|
|
|
|
|
|
var rra=rrd_file.getRRA(rra_idx);
|
|
|
|
|
var rra_rows=rra.getNrRows();
|
|
|
|
|
@ -117,7 +116,7 @@ function rrdRRAStackFlotObj(rrd_file,rra_idx,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var first_el=last_update-(rra_rows-1)*step;
|
|
|
|
|
var out_el={data:[], min:(first_el+timestamp_shift)*1000.0, max:(last_update+timestamp_shift)*1000.0};
|
|
|
|
|
var out_el={data:[], min:(first_el+tz_offset)*1000.0, max:(last_update+tz_offset)*1000.0};
|
|
|
|
|
|
|
|
|
|
// first the stacks stack
|
|
|
|
|
var stack_els=[ds_positive_stack_list,ds_negative_stack_list];
|
|
|
|
|
@ -166,7 +165,7 @@ function rrdRRAStackFlotObj(rrd_file,rra_idx,
|
|
|
|
|
}
|
|
|
|
|
// fill the flot data
|
|
|
|
|
for (var id=0; id<tmp_nr_ids; id++) {
|
|
|
|
|
tmp_flot_els[id].data.push([(timestamp+timestamp_shift)*1000.0,ds_vals[id]]);
|
|
|
|
|
tmp_flot_els[id].data.push([(timestamp+tz_offset)*1000.0,ds_vals[id]]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} // end if
|
|
|
|
|
@ -192,7 +191,7 @@ function rrdRRAStackFlotObj(rrd_file,rra_idx,
|
|
|
|
|
for (var i=0;i<rra_rows;i++) {
|
|
|
|
|
var el=rra.getEl(i,ds_idx);
|
|
|
|
|
if (el!=undefined) {
|
|
|
|
|
flot_series.push([(timestamp+timestamp_shift)*1000.0,el]);
|
|
|
|
|
flot_series.push([(timestamp+tz_offset)*1000.0,el]);
|
|
|
|
|
}
|
|
|
|
|
timestamp+=step;
|
|
|
|
|
} // end for
|
|
|
|
|
|