Jelajahi Sumber

(cloudwatch) move query parameter to 'parameters'

Mitsuhiro Tanda 8 tahun lalu
induk
melakukan
62d84c1e14

+ 7 - 3
pkg/tsdb/cloudwatch/cloudwatch.go

@@ -62,9 +62,13 @@ func (e *CloudWatchExecutor) Execute(ctx context.Context, queries tsdb.QuerySlic
 
 	currentlyExecuting := 0
 	for _, model := range queries {
+		queryType := model.Model.Get("type").MustString()
+		if queryType != "timeSeriesQuery" {
+			continue
+		}
 		currentlyExecuting++
 		go func(refId string) {
-			queryRes, err := e.executeQuery(ctx, model, queryContext)
+			queryRes, err := e.executeQuery(ctx, model.Model.Get("parameters"), queryContext)
 			currentlyExecuting--
 			if err != nil {
 				errCh <- err
@@ -130,8 +134,8 @@ func (e *CloudWatchExecutor) getClient(region string) (*cloudwatch.CloudWatch, e
 	return client, nil
 }
 
-func (e *CloudWatchExecutor) executeQuery(ctx context.Context, model *tsdb.Query, queryContext *tsdb.QueryContext) (*tsdb.QueryResult, error) {
-	query, err := parseQuery(model.Model)
+func (e *CloudWatchExecutor) executeQuery(ctx context.Context, parameters *simplejson.Json, queryContext *tsdb.QueryContext) (*tsdb.QueryResult, error) {
+	query, err := parseQuery(parameters)
 	if err != nil {
 		return nil, err
 	}

+ 4 - 2
public/app/plugins/datasource/cloudwatch/datasource.js

@@ -48,12 +48,14 @@ function (angular, _, moment, dateMath, kbn, templatingVariable, CloudWatchAnnot
         item.dimensions = dimensions;
         item.period = self.getPeriod(item, options);
 
-        return _.extend({
+        return {
           refId: item.refId,
           intervalMs: options.intervalMs,
           maxDataPoints: options.maxDataPoints,
           datasourceId: self.instanceSettings.id,
-        }, item);
+          type: 'timeSeriesQuery',
+          parameters: item
+        };
       });
 
       // No valid targets, return the empty result to save a round trip.