Commit e4de6332 by Mitsuhiro Tanda

refactor cloudwatch frontend code

parent ea704306
......@@ -141,7 +141,7 @@ function (angular, _, moment, dateMath, kbn, templatingVariable, CloudWatchAnnot
});
}
this.getRegions = function () {
this.doMetricQueryRequest = function (subtype, parameters) {
var range = timeSrv.timeRange();
return backendSrv.post('/api/tsdb/query', {
from: range.from,
......@@ -153,142 +153,58 @@ function (angular, _, moment, dateMath, kbn, templatingVariable, CloudWatchAnnot
maxDataPoints: 1, // dummy
datasourceId: this.instanceSettings.id,
type: 'metricFindQuery',
subtype: 'regions'
subtype: subtype,
parameters: parameters
}
]
}).then(function (r) { return transformSuggestDataFromTable(r); });
};
this.getRegions = function () {
return this.doMetricQueryRequest('regions', null);
};
this.getNamespaces = function() {
var range = timeSrv.timeRange();
return backendSrv.post('/api/tsdb/query', {
from: range.from,
to: range.to,
queries: [
{
refId: 'metricFindQuery',
intervalMs: 1, // dummy
maxDataPoints: 1, // dummy
datasourceId: this.instanceSettings.id,
type: 'metricFindQuery',
subtype: 'namespaces'
}
]
}).then(function (r) { return transformSuggestDataFromTable(r); });
return this.doMetricQueryRequest('namespaces', null);
};
this.getMetrics = function (namespace, region) {
var range = timeSrv.timeRange();
return backendSrv.post('/api/tsdb/query', {
from: range.from,
to: range.to,
queries: [
{
refId: 'metricFindQuery',
intervalMs: 1, // dummy
maxDataPoints: 1, // dummy
datasourceId: this.instanceSettings.id,
type: 'metricFindQuery',
subtype: 'metrics',
parameters: {
return this.doMetricQueryRequest('metrics', {
region: region,
namespace: templateSrv.replace(namespace)
}
}
]
}).then(function (r) { return transformSuggestDataFromTable(r); });
});
};
this.getDimensionKeys = function(namespace, region) {
var range = timeSrv.timeRange();
return backendSrv.post('/api/tsdb/query', {
from: range.from,
to: range.to,
queries: [
{
refId: 'metricFindQuery',
intervalMs: 1, // dummy
maxDataPoints: 1, // dummy
datasourceId: this.instanceSettings.id,
type: 'metricFindQuery',
subtype: 'dimension_keys',
parameters: {
return this.doMetricQueryRequest('dimension_keys', {
region: region,
namespace: templateSrv.replace(namespace)
}
}
]
}).then(function (r) { return transformSuggestDataFromTable(r); });
});
};
this.getDimensionValues = function(region, namespace, metricName, dimensionKey, filterDimensions) {
var range = timeSrv.timeRange();
return backendSrv.post('/api/tsdb/query', {
from: range.from,
to: range.to,
queries: [
{
refId: 'metricFindQuery',
intervalMs: 1, // dummy
maxDataPoints: 1, // dummy
datasourceId: this.instanceSettings.id,
type: 'metricFindQuery',
subtype: 'dimension_values',
parameters: {
return this.doMetricQueryRequest('dimension_values', {
region: region,
namespace: templateSrv.replace(namespace),
metricName: templateSrv.replace(metricName),
dimensionKey: templateSrv.replace(dimensionKey),
dimensions: this.convertDimensionFormat(filterDimensions, {}),
}
}
]
}).then(function (r) { return transformSuggestDataFromTable(r); });
});
};
this.getEbsVolumeIds = function(region, instanceId) {
var range = timeSrv.timeRange();
return backendSrv.post('/api/tsdb/query', {
from: range.from,
to: range.to,
queries: [
{
refId: 'metricFindQuery',
intervalMs: 1, // dummy
maxDataPoints: 1, // dummy
datasourceId: this.instanceSettings.id,
type: 'metricFindQuery',
subtype: 'ebs_volume_ids',
parameters: {
return this.doMetricQueryRequest('ebs_volume_ids', {
region: region,
instanceId: instanceId
}
}
]
}).then(function (r) { return transformSuggestDataFromTable(r); });
});
};
this.getEc2InstanceAttribute = function(region, attributeName, filters) {
var range = timeSrv.timeRange();
return backendSrv.post('/api/tsdb/query', {
from: range.from,
to: range.to,
queries: [
{
refId: 'metricFindQuery',
intervalMs: 1, // dummy
maxDataPoints: 1, // dummy
datasourceId: this.instanceSettings.id,
type: 'metricFindQuery',
subtype: 'ec2_instance_attribute',
parameters: {
return this.doMetricQueryRequest('ec2_instance_attribute', {
region: region,
attributeName: attributeName,
filters: filters
}
}
]
}).then(function (r) { return transformSuggestDataFromTable(r); });
});
};
this.metricFindQuery = function(query) {
......
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