Merge branch 'groupBy_perf_outside_range' of https://github.com/ma-tty/grafana-zabbix into ma-tty-groupBy_perf_outside_range

This commit is contained in:
Alexander Zobnin
2017-07-28 12:35:03 +03:00

View File

@@ -103,27 +103,31 @@ function groupBy_perf(datapoints, interval, groupByCallback) {
let point_frame_ts = frame_ts; let point_frame_ts = frame_ts;
let point; let point;
for (let i=0; i < datapoints.length; i++) { if (datapoints.length > 0) {
point = datapoints[i];
point_frame_ts = getPointTimeFrame(point[POINT_TIMESTAMP], ms_interval);
if (point_frame_ts === frame_ts) {
frame_values.push(point[POINT_VALUE]);
} else if (point_frame_ts > frame_ts) {
frame_value = groupByCallback(frame_values);
grouped_series.push([frame_value, frame_ts]);
// Move frame window to next non-empty interval and fill empty by null for (let i=0; i < datapoints.length; i++) {
frame_ts += ms_interval; point = datapoints[i];
while (frame_ts < point_frame_ts) { point_frame_ts = getPointTimeFrame(point[POINT_TIMESTAMP], ms_interval);
grouped_series.push([null, frame_ts]); if (point_frame_ts === frame_ts) {
frame_values.push(point[POINT_VALUE]);
} else if (point_frame_ts > frame_ts) {
frame_value = groupByCallback(frame_values);
grouped_series.push([frame_value, frame_ts]);
// Move frame window to next non-empty interval and fill empty by null
frame_ts += ms_interval; frame_ts += ms_interval;
while (frame_ts < point_frame_ts) {
grouped_series.push([null, frame_ts]);
frame_ts += ms_interval;
}
frame_values = [point[POINT_VALUE]];
} }
frame_values = [point[POINT_VALUE]];
} }
}
frame_value = groupByCallback(frame_values); frame_value = groupByCallback(frame_values);
grouped_series.push([frame_value, frame_ts]); grouped_series.push([frame_value, frame_ts]);
}
return grouped_series; return grouped_series;
} }