|
|
@@ -246,23 +246,20 @@ function (angular, _) {
|
|
|
return d.promise;
|
|
|
}
|
|
|
|
|
|
- var allQueryPromise = _.map(queries, _.bind(function(query) {
|
|
|
+ var allQueryPromise = _.map(queries, function(query) {
|
|
|
return this.performTimeSeriesQuery(query, start, end);
|
|
|
- }, this));
|
|
|
-
|
|
|
- return $q.all(allQueryPromise)
|
|
|
- .then(function(allResponse) {
|
|
|
- var result = [];
|
|
|
+ }, this);
|
|
|
|
|
|
- _.each(allResponse, function(response, index) {
|
|
|
- var metrics = transformMetricData(response, options.targets[index]);
|
|
|
- _.each(metrics, function(m) {
|
|
|
- result.push(m);
|
|
|
- });
|
|
|
- });
|
|
|
+ return $q.all(allQueryPromise).then(function(allResponse) {
|
|
|
+ var result = [];
|
|
|
|
|
|
- return { data: result };
|
|
|
+ _.each(allResponse, function(response, index) {
|
|
|
+ var metrics = transformMetricData(response.data, options.targets[index]);
|
|
|
+ result = result.concat(metrics);
|
|
|
});
|
|
|
+
|
|
|
+ return { data: result };
|
|
|
+ });
|
|
|
};
|
|
|
|
|
|
CloudWatchDatasource.prototype.performTimeSeriesQuery = function(query, start, end) {
|
|
|
@@ -305,23 +302,18 @@ function (angular, _) {
|
|
|
metricName = templateSrv.replace(metricName);
|
|
|
|
|
|
var cloudwatch = this.getAwsClient(region, 'CloudWatch');
|
|
|
+ var params = {Namespace: namespace, MetricName: metricName};
|
|
|
|
|
|
- var params = {
|
|
|
- Namespace: namespace,
|
|
|
- MetricName: metricName
|
|
|
- };
|
|
|
if (!_.isEmpty(dimensions)) {
|
|
|
params.Dimensions = convertDimensionFormat(dimensions);
|
|
|
}
|
|
|
|
|
|
- return cloudwatch.listMetrics(params).then(function(data) {
|
|
|
- var suggestData = _.chain(data.Metrics).map(function(metric) {
|
|
|
+ return cloudwatch.listMetrics(params).then(function(result) {
|
|
|
+ return _.chain(result.data.Metrics).map(function(metric) {
|
|
|
return metric.Dimensions;
|
|
|
}).reject(function(metric) {
|
|
|
return _.isEmpty(metric);
|
|
|
}).value();
|
|
|
-
|
|
|
- return suggestData;
|
|
|
});
|
|
|
};
|
|
|
|