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("")
metricName := parameters.Get("metricName").MustString("")
dimensions := parameters.Get("dimensions").MustMap()
statistics := parameters.Get("statistics").MustStringArray()
extendedStatistics := parameters.Get("extendedStatistics").MustStringArray()
statistics, extendedStatistics, err := parseStatistics(parameters)
if err != nil {
return nil, err
}
period := int64(parameters.Get("period").MustInt(0))
if period == 0 && !usePrefixMatch {
period = 300

View File

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

View File

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