diff --git a/public/app/core/utils/kbn.js b/public/app/core/utils/kbn.js index 9d714c34fb3..f54979b0e97 100644 --- a/public/app/core/utils/kbn.js +++ b/public/app/core/utils/kbn.js @@ -12,9 +12,21 @@ function($, _) { kbn.round_interval = function(interval) { switch (true) { - // 0.3s - case (interval <= 300): - return 100; // 0.1s + // 0.015s + case (interval <= 15): + return 10; // 0.01s + // 0.035s + case (interval <= 35): + return 20; // 0.02s + // 0.075s + case (interval <= 75): + return 50; // 0.05s + // 0.15s + case (interval <= 150): + return 100; // 0.1s + // 0.35s + case (interval <= 350): + return 200; // 0.2s // 0.75s case (interval <= 750): return 500; // 0.5s @@ -133,7 +145,7 @@ function($, _) { return str; }; - kbn.interval_regex = /(\d+(?:\.\d+)?)([Mwdhmsy])/; + kbn.interval_regex = /(\d+(?:\.\d+)?)(ms|[Mwdhmsy])/; // histogram & trends kbn.intervals_in_seconds = { @@ -143,7 +155,8 @@ function($, _) { d: 86400, h: 3600, m: 60, - s: 1 + s: 1, + ms: 0.001 }; kbn.calculateInterval = function(range, resolution, userInterval) { diff --git a/public/test/core/utils/kbn_specs.js b/public/test/core/utils/kbn_specs.js index 7e75e880546..0a2ad165253 100644 --- a/public/test/core/utils/kbn_specs.js +++ b/public/test/core/utils/kbn_specs.js @@ -147,5 +147,11 @@ define([ var str = kbn.calculateInterval(range, 1000, '>10s'); expect(str).to.be('20m'); }); + + it('10s 900 resolution and user low limit in ms', function() { + var range = { from: dateMath.parse('now-10s'), to: dateMath.parse('now') }; + var str = kbn.calculateInterval(range, 900, '>15ms'); + expect(str).to.be('15ms'); + }); }); });