Commit 6b701579 by bergquist

Merge branch 'cloudwatch_interval' of https://github.com/mtanda/grafana into…

Merge branch 'cloudwatch_interval' of https://github.com/mtanda/grafana into mtanda-cloudwatch_interval
parents 36f0bf0e ab9abee6
......@@ -3,9 +3,10 @@ define([
'lodash',
'moment',
'app/core/utils/datemath',
'app/core/utils/kbn',
'./annotation_query',
],
function (angular, _, moment, dateMath, CloudWatchAnnotationQuery) {
function (angular, _, moment, dateMath, kbn, CloudWatchAnnotationQuery) {
'use strict';
/** @ngInject */
......@@ -37,7 +38,16 @@ function (angular, _, moment, dateMath, CloudWatchAnnotationQuery) {
query.statistics = target.statistics;
var range = end - start;
query.period = parseInt(target.period, 10) || (query.namespace === 'AWS/EC2' ? 300 : 60);
if (!target.period) {
query.period = (query.namespace === 'AWS/EC2') ? 300 : 60;
} else if (/^\d+$/.test(target.period)) {
query.period = parseInt(target.period, 10);
} else {
query.period = kbn.interval_to_seconds(templateSrv.replace(target.period, options.scopedVars));
}
if (query.period < 60) {
query.period = 60;
}
if (range / query.period >= 1440) {
query.period = Math.ceil(range / 1440 / 60) * 60;
}
......
......@@ -82,6 +82,35 @@ describe('CloudWatchDatasource', function() {
ctx.$rootScope.$apply();
});
it('should generate the correct query with interval variable', function(done) {
ctx.templateSrv.data = {
period: '10m'
};
var query = {
range: { from: 'now-1h', to: 'now' },
targets: [
{
region: 'us-east-1',
namespace: 'AWS/EC2',
metricName: 'CPUUtilization',
dimensions: {
InstanceId: 'i-12345678'
},
statistics: ['Average'],
period: '[[period]]'
}
]
};
ctx.ds.query(query).then(function() {
var params = requestParams.data.parameters;
expect(params.period).to.be(600);
done();
});
ctx.$rootScope.$apply();
});
it('should return series list', function(done) {
ctx.ds.query(query).then(function(result) {
expect(result.data[0].target).to.be('CPUUtilization_Average');
......
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