mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
fixed an issue with the interval walker, which was causing bad zero-filling
This commit is contained in:
parent
3cd1177068
commit
3048538ab1
@ -209,7 +209,7 @@ function($, _) {
|
|||||||
kbn.interval_regex = /(\d+(?:\.\d+)?)([Mwdhmsy])/;
|
kbn.interval_regex = /(\d+(?:\.\d+)?)([Mwdhmsy])/;
|
||||||
|
|
||||||
// histogram & trends
|
// histogram & trends
|
||||||
var intervals_in_seconds = {
|
kbn.intervals_in_seconds = {
|
||||||
y: 31536000,
|
y: 31536000,
|
||||||
M: 2592000,
|
M: 2592000,
|
||||||
w: 604800,
|
w: 604800,
|
||||||
@ -219,17 +219,27 @@ function($, _) {
|
|||||||
s: 1
|
s: 1
|
||||||
};
|
};
|
||||||
|
|
||||||
kbn.interval_to_ms = function(string) {
|
kbn.describe_interval = function (string) {
|
||||||
var matches = string.match(kbn.interval_regex);
|
var matches = string.match(kbn.interval_regex);
|
||||||
if (!matches || !_.has(intervals_in_seconds, matches[2])) {
|
if (!matches || !_.has(kbn.intervals_in_seconds, matches[2])) {
|
||||||
throw new Error('Invalid interval string, expexcting a number followed by one of "Mwdhmsy"');
|
throw new Error('Invalid interval string, expexcting a number followed by one of "Mwdhmsy"');
|
||||||
} else {
|
} else {
|
||||||
return intervals_in_seconds[matches[2]] * matches[1] * 1000;
|
return {
|
||||||
|
sec: kbn.intervals_in_seconds[matches[2]],
|
||||||
|
type: matches[2],
|
||||||
|
count: parseInt(matches[1], 10)
|
||||||
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
kbn.interval_to_ms = function(string) {
|
||||||
|
var info = kbn.describe_interval(string);
|
||||||
|
return info.sec * 1000 * info.count;
|
||||||
|
};
|
||||||
|
|
||||||
kbn.interval_to_seconds = function (string) {
|
kbn.interval_to_seconds = function (string) {
|
||||||
return kbn.interval_to_ms(string)/1000;
|
var info = kbn.describe_interval(string);
|
||||||
|
return info.sec * info.count;
|
||||||
};
|
};
|
||||||
|
|
||||||
// This should go away, moment.js can do this
|
// This should go away, moment.js can do this
|
||||||
|
@ -10,11 +10,10 @@ function (kbn) {
|
|||||||
*/
|
*/
|
||||||
function Interval(interval_string) {
|
function Interval(interval_string) {
|
||||||
this.string = interval_string;
|
this.string = interval_string;
|
||||||
this.ms = kbn.interval_to_ms(interval_string);
|
|
||||||
|
|
||||||
var matches = interval_string.match(kbn.interval_regex);
|
var info = kbn.describe_interval(interval_string);
|
||||||
this.count = parseInt(matches[1], 10);
|
this.type = info.type;
|
||||||
this.type = matches[2];
|
this.ms = info.sec * 1000 * info.count;
|
||||||
|
|
||||||
// does the length of the interval change based on the current time?
|
// does the length of the interval change based on the current time?
|
||||||
if (this.type === 'y' || this.type === 'M') {
|
if (this.type === 'y' || this.type === 'M') {
|
||||||
@ -31,10 +30,10 @@ function (kbn) {
|
|||||||
return this.string;
|
return this.string;
|
||||||
},
|
},
|
||||||
after: function(current_ms) {
|
after: function(current_ms) {
|
||||||
return this.get(current_ms, this.count);
|
return this.get(current_ms, 1);
|
||||||
},
|
},
|
||||||
before: function (current_ms) {
|
before: function (current_ms) {
|
||||||
return this.get(current_ms, -this.count);
|
return this.get(current_ms, -1);
|
||||||
},
|
},
|
||||||
get_complex: function (current, delta) {
|
get_complex: function (current, delta) {
|
||||||
this.date.setTime(current);
|
this.date.setTime(current);
|
||||||
|
Loading…
Reference in New Issue
Block a user