move extend statistics handling code to backend

This commit is contained in:
Mitsuhiro Tanda 2017-09-27 13:18:30 +09:00
parent 6c375ed2cb
commit 468e8c13ee
3 changed files with 12 additions and 11 deletions

View File

@ -24,8 +24,10 @@ func (e *CloudWatchExecutor) executeAnnotationQuery(ctx context.Context, queryCo
namespace := parameters.Get("namespace").MustString("") namespace := parameters.Get("namespace").MustString("")
metricName := parameters.Get("metricName").MustString("") metricName := parameters.Get("metricName").MustString("")
dimensions := parameters.Get("dimensions").MustMap() dimensions := parameters.Get("dimensions").MustMap()
statistics := parameters.Get("statistics").MustStringArray() statistics, extendedStatistics, err := parseStatistics(parameters)
extendedStatistics := parameters.Get("extendedStatistics").MustStringArray() if err != nil {
return nil, err
}
period := int64(parameters.Get("period").MustInt(0)) period := int64(parameters.Get("period").MustInt(0))
if period == 0 && !usePrefixMatch { if period == 0 && !usePrefixMatch {
period = 300 period = 300

View File

@ -194,16 +194,16 @@ func parseDimensions(model *simplejson.Json) ([]*cloudwatch.Dimension, error) {
return result, nil return result, nil
} }
func parseStatistics(model *simplejson.Json) ([]*string, []*string, error) { func parseStatistics(model *simplejson.Json) ([]string, []string, error) {
var statistics []*string var statistics []string
var extendedStatistics []*string var extendedStatistics []string
for _, s := range model.Get("statistics").MustArray() { for _, s := range model.Get("statistics").MustArray() {
if ss, ok := s.(string); ok { if ss, ok := s.(string); ok {
if _, isStandard := standardStatistics[ss]; isStandard { if _, isStandard := standardStatistics[ss]; isStandard {
statistics = append(statistics, &ss) statistics = append(statistics, ss)
} else { } else {
extendedStatistics = append(extendedStatistics, &ss) extendedStatistics = append(extendedStatistics, ss)
} }
} else { } else {
return nil, nil, errors.New("failed to parse") return nil, nil, errors.New("failed to parse")
@ -269,8 +269,8 @@ func parseQuery(model *simplejson.Json) (*CloudWatchQuery, error) {
Namespace: namespace, Namespace: namespace,
MetricName: metricName, MetricName: metricName,
Dimensions: dimensions, Dimensions: dimensions,
Statistics: statistics, Statistics: aws.StringSlice(statistics),
ExtendedStatistics: extendedStatistics, ExtendedStatistics: aws.StringSlice(extendedStatistics),
Period: period, Period: period,
Alias: alias, Alias: alias,
}, nil }, nil

View File

@ -269,8 +269,7 @@ function (angular, _, moment, dateMath, kbn, templatingVariable) {
namespace: templateSrv.replace(annotation.namespace), namespace: templateSrv.replace(annotation.namespace),
metricName: templateSrv.replace(annotation.metricName), metricName: templateSrv.replace(annotation.metricName),
dimensions: this.convertDimensionFormat(annotation.dimensions, {}), dimensions: this.convertDimensionFormat(annotation.dimensions, {}),
statistics: _.filter(statistics, function (s) { return _.includes(self.standardStatistics, s); }), statistics: statistics,
extendedStatistics: _.filter(statistics, function (s) { return !_.includes(self.standardStatistics, s); }),
period: period, period: period,
actionPrefix: annotation.actionPrefix || '', actionPrefix: annotation.actionPrefix || '',
alarmNamePrefix: annotation.alarmNamePrefix || '' alarmNamePrefix: annotation.alarmNamePrefix || ''