mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
(cloudwatch) long retention support (#6547)
This commit is contained in:
parent
10cf32f835
commit
9740752c1e
@ -37,7 +37,8 @@ function (angular, _, moment, dateMath, kbn, CloudWatchAnnotationQuery) {
|
||||
query.dimensions = self.convertDimensionFormat(target.dimensions, options.scopedVars);
|
||||
query.statistics = target.statistics;
|
||||
|
||||
var period = this._getPeriod(target, query, options, start, end);
|
||||
var now = Math.round(Date.now() / 1000);
|
||||
var period = this._getPeriod(target, query, options, start, end, now);
|
||||
target.period = period;
|
||||
query.period = period;
|
||||
|
||||
@ -67,11 +68,19 @@ function (angular, _, moment, dateMath, kbn, CloudWatchAnnotationQuery) {
|
||||
});
|
||||
};
|
||||
|
||||
this._getPeriod = function(target, query, options, start, end) {
|
||||
this._getPeriod = function(target, query, options, start, end, now) {
|
||||
var period;
|
||||
var range = end - start;
|
||||
|
||||
if (!target.period) {
|
||||
var daySec = 60 * 60 * 24;
|
||||
var periodUnit = 60;
|
||||
if (now - start > (daySec * 15)) { // until 63 days ago
|
||||
periodUnit = period = 60 * 5;
|
||||
} else if (now - start > (daySec * 63)) { // until 455 days ago
|
||||
periodUnit = period = 60 * 60;
|
||||
} else if (now - start > (daySec * 455)) { // over 455 days, should return error, but try to long period
|
||||
periodUnit = period = 60 * 60;
|
||||
} else if (!target.period) {
|
||||
period = (query.namespace === 'AWS/EC2') ? 300 : 60;
|
||||
} else if (/^\d+$/.test(target.period)) {
|
||||
period = parseInt(target.period, 10);
|
||||
@ -82,7 +91,7 @@ function (angular, _, moment, dateMath, kbn, CloudWatchAnnotationQuery) {
|
||||
period = 60;
|
||||
}
|
||||
if (range / period >= 1440) {
|
||||
period = Math.ceil(range / 1440 / 60) * 60;
|
||||
period = Math.ceil(range / 1440 / periodUnit) * periodUnit;
|
||||
}
|
||||
|
||||
return period;
|
||||
|
Loading…
Reference in New Issue
Block a user