Explorar el Código

tech(cloudwatch): extract method

bergquist hace 9 años
padre
commit
96ca69c5a9
Se han modificado 1 ficheros con 24 adiciones y 15 borrados
  1. 24 15
      public/app/plugins/datasource/cloudwatch/datasource.js

+ 24 - 15
public/app/plugins/datasource/cloudwatch/datasource.js

@@ -37,21 +37,9 @@ function (angular, _, moment, dateMath, kbn, CloudWatchAnnotationQuery) {
         query.dimensions = self.convertDimensionFormat(target.dimensions, options.scopedVars);
         query.statistics = target.statistics;
 
-        var range = end - start;
-        if (!target.period) {
-          query.period = (query.namespace === 'AWS/EC2') ? 300 : 60;
-        } else if (/^\d+$/.test(target.period)) {
-          query.period = parseInt(target.period, 10);
-        } else {
-          query.period = kbn.interval_to_seconds(templateSrv.replace(target.period, options.scopedVars));
-        }
-        if (query.period < 60) {
-          query.period = 60;
-        }
-        if (range / query.period >= 1440) {
-          query.period = Math.ceil(range / 1440 / 60) * 60;
-        }
-        target.period = query.period;
+        var period = this._getPeriod(target, query, options, start, end);
+        target.period = period;
+        query.period = period;
 
         queries.push(query);
       }.bind(this));
@@ -79,6 +67,27 @@ function (angular, _, moment, dateMath, kbn, CloudWatchAnnotationQuery) {
       });
     };
 
+    this._getPeriod = function(target, query, options, start, end) {
+      var period;
+      var range = end - start;
+
+      if (!target.period) {
+        period = (query.namespace === 'AWS/EC2') ? 300 : 60;
+      } else if (/^\d+$/.test(target.period)) {
+        period = parseInt(target.period, 10);
+      } else {
+        period = kbn.interval_to_seconds(templateSrv.replace(target.period, options.scopedVars));
+      }
+      if (query.period < 60) {
+        period = 60;
+      }
+      if (range / query.period >= 1440) {
+        period = Math.ceil(range / 1440 / 60) * 60;
+      }
+
+      return period;
+    };
+
     this.performTimeSeriesQuery = function(query, start, end) {
       return this.awsRequest({
         region: query.region,