refactor cloudwatch frontend code

This commit is contained in:
Mitsuhiro Tanda 2017-09-20 12:47:36 +09:00
parent e4de6332de
commit 4b34ff5b83

View File

@ -170,21 +170,21 @@ function (angular, _, moment, dateMath, kbn, templatingVariable, CloudWatchAnnot
this.getMetrics = function (namespace, region) { this.getMetrics = function (namespace, region) {
return this.doMetricQueryRequest('metrics', { return this.doMetricQueryRequest('metrics', {
region: region, region: templateSrv.replace(region),
namespace: templateSrv.replace(namespace) namespace: templateSrv.replace(namespace)
}); });
}; };
this.getDimensionKeys = function(namespace, region) { this.getDimensionKeys = function(namespace, region) {
return this.doMetricQueryRequest('dimension_keys', { return this.doMetricQueryRequest('dimension_keys', {
region: region, region: templateSrv.replace(region),
namespace: templateSrv.replace(namespace) namespace: templateSrv.replace(namespace)
}); });
}; };
this.getDimensionValues = function(region, namespace, metricName, dimensionKey, filterDimensions) { this.getDimensionValues = function(region, namespace, metricName, dimensionKey, filterDimensions) {
return this.doMetricQueryRequest('dimension_values', { return this.doMetricQueryRequest('dimension_values', {
region: region, region: templateSrv.replace(region),
namespace: templateSrv.replace(namespace), namespace: templateSrv.replace(namespace),
metricName: templateSrv.replace(metricName), metricName: templateSrv.replace(metricName),
dimensionKey: templateSrv.replace(dimensionKey), dimensionKey: templateSrv.replace(dimensionKey),
@ -194,15 +194,15 @@ function (angular, _, moment, dateMath, kbn, templatingVariable, CloudWatchAnnot
this.getEbsVolumeIds = function(region, instanceId) { this.getEbsVolumeIds = function(region, instanceId) {
return this.doMetricQueryRequest('ebs_volume_ids', { return this.doMetricQueryRequest('ebs_volume_ids', {
region: region, region: templateSrv.replace(region),
instanceId: instanceId instanceId: templateSrv.replace(instanceId)
}); });
}; };
this.getEc2InstanceAttribute = function(region, attributeName, filters) { this.getEc2InstanceAttribute = function(region, attributeName, filters) {
return this.doMetricQueryRequest('ec2_instance_attribute', { return this.doMetricQueryRequest('ec2_instance_attribute', {
region: region, region: templateSrv.replace(region),
attributeName: attributeName, attributeName: templateSrv.replace(attributeName),
filters: filters filters: filters
}); });
}; };
@ -224,35 +224,39 @@ function (angular, _, moment, dateMath, kbn, templatingVariable, CloudWatchAnnot
var metricNameQuery = query.match(/^metrics\(([^\)]+?)(,\s?([^,]+?))?\)/); var metricNameQuery = query.match(/^metrics\(([^\)]+?)(,\s?([^,]+?))?\)/);
if (metricNameQuery) { if (metricNameQuery) {
return this.getMetrics(templateSrv.replace(metricNameQuery[1]), templateSrv.replace(metricNameQuery[3])); namespace = metricNameQuery[1];
region = metricNameQuery[3];
return this.getMetrics(namespace, region);
} }
var dimensionKeysQuery = query.match(/^dimension_keys\(([^\)]+?)(,\s?([^,]+?))?\)/); var dimensionKeysQuery = query.match(/^dimension_keys\(([^\)]+?)(,\s?([^,]+?))?\)/);
if (dimensionKeysQuery) { if (dimensionKeysQuery) {
return this.getDimensionKeys(templateSrv.replace(dimensionKeysQuery[1]), templateSrv.replace(dimensionKeysQuery[3])); namespace = dimensionKeysQuery[1];
region = dimensionKeysQuery[3];
return this.getDimensionKeys(namespace, region);
} }
var dimensionValuesQuery = query.match(/^dimension_values\(([^,]+?),\s?([^,]+?),\s?([^,]+?),\s?([^,]+?)\)/); var dimensionValuesQuery = query.match(/^dimension_values\(([^,]+?),\s?([^,]+?),\s?([^,]+?),\s?([^,]+?)\)/);
if (dimensionValuesQuery) { if (dimensionValuesQuery) {
region = templateSrv.replace(dimensionValuesQuery[1]); region = dimensionValuesQuery[1];
namespace = templateSrv.replace(dimensionValuesQuery[2]); namespace = dimensionValuesQuery[2];
metricName = templateSrv.replace(dimensionValuesQuery[3]); metricName = dimensionValuesQuery[3];
var dimensionKey = templateSrv.replace(dimensionValuesQuery[4]); var dimensionKey = dimensionValuesQuery[4];
return this.getDimensionValues(region, namespace, metricName, dimensionKey, {}); return this.getDimensionValues(region, namespace, metricName, dimensionKey, {});
} }
var ebsVolumeIdsQuery = query.match(/^ebs_volume_ids\(([^,]+?),\s?([^,]+?)\)/); var ebsVolumeIdsQuery = query.match(/^ebs_volume_ids\(([^,]+?),\s?([^,]+?)\)/);
if (ebsVolumeIdsQuery) { if (ebsVolumeIdsQuery) {
region = templateSrv.replace(ebsVolumeIdsQuery[1]); region = ebsVolumeIdsQuery[1];
var instanceId = templateSrv.replace(ebsVolumeIdsQuery[2]); var instanceId = ebsVolumeIdsQuery[2];
return this.getEbsVolumeIds(region, instanceId); return this.getEbsVolumeIds(region, instanceId);
} }
var ec2InstanceAttributeQuery = query.match(/^ec2_instance_attribute\(([^,]+?),\s?([^,]+?),\s?(.+?)\)/); var ec2InstanceAttributeQuery = query.match(/^ec2_instance_attribute\(([^,]+?),\s?([^,]+?),\s?(.+?)\)/);
if (ec2InstanceAttributeQuery) { if (ec2InstanceAttributeQuery) {
region = templateSrv.replace(ec2InstanceAttributeQuery[1]); region = ec2InstanceAttributeQuery[1];
var targetAttributeName = templateSrv.replace(ec2InstanceAttributeQuery[2]); var targetAttributeName = ec2InstanceAttributeQuery[2];
var filterJson = JSON.parse(templateSrv.replace(ec2InstanceAttributeQuery[3])); var filterJson = JSON.parse(templateSrv.replace(ec2InstanceAttributeQuery[3]));
return this.getEc2InstanceAttribute(region, targetAttributeName, filterJson); return this.getEc2InstanceAttribute(region, targetAttributeName, filterJson);
} }