Fix kbn.round_interval for exact intervals.

This commit is contained in:
Alin Sinpalean
2017-09-07 22:14:37 +02:00
parent 567e877b9e
commit 13eb0c1ece
2 changed files with 43 additions and 29 deletions
+29 -29
View File
@@ -17,88 +17,88 @@ function($, _) {
kbn.round_interval = function(interval) {
switch (true) {
// 0.015s
case (interval <= 15):
case (interval < 15):
return 10; // 0.01s
// 0.035s
case (interval <= 35):
case (interval < 35):
return 20; // 0.02s
// 0.075s
case (interval <= 75):
case (interval < 75):
return 50; // 0.05s
// 0.15s
case (interval <= 150):
case (interval < 150):
return 100; // 0.1s
// 0.35s
case (interval <= 350):
case (interval < 350):
return 200; // 0.2s
// 0.75s
case (interval <= 750):
case (interval < 750):
return 500; // 0.5s
// 1.5s
case (interval <= 1500):
case (interval < 1500):
return 1000; // 1s
// 3.5s
case (interval <= 3500):
case (interval < 3500):
return 2000; // 2s
// 7.5s
case (interval <= 7500):
case (interval < 7500):
return 5000; // 5s
// 12.5s
case (interval <= 12500):
case (interval < 12500):
return 10000; // 10s
// 17.5s
case (interval <= 17500):
case (interval < 17500):
return 15000; // 15s
// 25s
case (interval <= 25000):
case (interval < 25000):
return 20000; // 20s
// 45s
case (interval <= 45000):
case (interval < 45000):
return 30000; // 30s
// 1.5m
case (interval <= 90000):
case (interval < 90000):
return 60000; // 1m
// 3.5m
case (interval <= 210000):
case (interval < 210000):
return 120000; // 2m
// 7.5m
case (interval <= 450000):
case (interval < 450000):
return 300000; // 5m
// 12.5m
case (interval <= 750000):
case (interval < 750000):
return 600000; // 10m
// 12.5m
case (interval <= 1050000):
case (interval < 1050000):
return 900000; // 15m
// 25m
case (interval <= 1500000):
case (interval < 1500000):
return 1200000; // 20m
// 45m
case (interval <= 2700000):
case (interval < 2700000):
return 1800000; // 30m
// 1.5h
case (interval <= 5400000):
case (interval < 5400000):
return 3600000; // 1h
// 2.5h
case (interval <= 9000000):
case (interval < 9000000):
return 7200000; // 2h
// 4.5h
case (interval <= 16200000):
case (interval < 16200000):
return 10800000; // 3h
// 9h
case (interval <= 32400000):
case (interval < 32400000):
return 21600000; // 6h
// 24h
case (interval <= 86400000):
case (interval < 86400000):
return 43200000; // 12h
// 48h
case (interval <= 172800000):
case (interval < 172800000):
return 86400000; // 24h
// 1w
case (interval <= 604800000):
case (interval < 604800000):
return 86400000; // 24h
// 3w
case (interval <= 1814400000):
case (interval < 1814400000):
return 604800000; // 1w
// 2y
case (interval < 3628800000):
@@ -134,7 +134,7 @@ function($, _) {
return nummilliseconds + 'ms';
}
return 'less then a millisecond'; //'just now' //or other string you like;
return 'less than a millisecond'; //'just now' //or other string you like;
};
kbn.to_percent = function(number,outof) {
+14
View File
@@ -167,6 +167,20 @@ define([
var res = kbn.calculateInterval(range, 900, '>15ms');
expect(res.interval).to.be('15ms');
});
it('1d 1 resolution', function() {
var range = { from: dateMath.parse('now-1d'), to: dateMath.parse('now') };
var res = kbn.calculateInterval(range, 1, null);
expect(res.interval).to.be('1d');
expect(res.intervalMs).to.be(86400000);
});
it('86399s 1 resolution', function() {
var range = { from: dateMath.parse('now-86399s'), to: dateMath.parse('now') };
var res = kbn.calculateInterval(range, 1, null);
expect(res.interval).to.be('12h');
expect(res.intervalMs).to.be(43200000);
});
});
describe('hex', function() {