Commit 963f9fdf by Dan Cleinmark

Ensure Promtheus step interval is always < 11000

Using a 2 week window (1209600 seconds) and a 60s step, Math.floor()
recalculates a step of 109 and results in 11097 data points in the
Prometheus query (> the 11000 max set by Prometheus). Math.ceil()
returns a step of 110 and 10996 data points.
parent 299a2457
......@@ -99,11 +99,11 @@ function (angular, _, moment, dateMath) {
var url = '/api/v1/query_range?query=' + encodeURIComponent(query.expr) + '&start=' + start + '&end=' + end;
var step = query.step;
var range = Math.floor(end - start);
var range = Math.ceil(end - start);
// Prometheus drop query if range/step > 11000
// calibrate step if it is too big
if (step !== 0 && range / step > 11000) {
step = Math.floor(range / 11000);
step = Math.ceil(range / 11000);
}
url += '&step=' + step;
......@@ -212,7 +212,7 @@ function (angular, _, moment, dateMath) {
sec = 1;
}
return Math.floor(sec * intervalFactor) + 's';
return Math.ceil(sec * intervalFactor) + 's';
};
function transformMetricData(md, options) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment