You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sw...@apache.org on 2015/05/28 01:25:04 UTC

ambari git commit: AMBARI-11467. API to fetch CPU metrics with average aggregation across all hosts returns value higher than the valid max bound. (swagle)

Repository: ambari
Updated Branches:
  refs/heads/trunk f00daf006 -> 39b56b482


AMBARI-11467. API to fetch CPU metrics with average aggregation across all hosts returns value higher than the valid max bound. (swagle)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/39b56b48
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/39b56b48
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/39b56b48

Branch: refs/heads/trunk
Commit: 39b56b4829b604b103240dfc3c7a3f788a0949db
Parents: f00daf0
Author: Siddharth Wagle <sw...@hortonworks.com>
Authored: Wed May 27 16:17:32 2015 -0700
Committer: Siddharth Wagle <sw...@hortonworks.com>
Committed: Wed May 27 16:20:54 2015 -0700

----------------------------------------------------------------------
 .../internal/AbstractPropertyProvider.java      | 12 +++-----
 .../MetricsDataTransferMethodFactory.java       | 29 ++++++++++++++------
 2 files changed, 25 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/39b56b48/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java
index 96fa24b..133c8b5 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java
@@ -18,11 +18,13 @@
 
 package org.apache.ambari.server.controller.internal;
 
+import org.apache.ambari.server.controller.metrics.MetricReportingAdapter;
+import org.apache.ambari.server.controller.spi.PropertyProvider;
+import org.apache.ambari.server.controller.utilities.PropertyHelper;
+import org.apache.hadoop.metrics2.sink.timeline.TimelineMetric;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.text.DecimalFormat;
-import java.util.Date;
-import java.util.EnumMap;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
@@ -31,12 +33,6 @@ import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.ambari.server.controller.metrics.MetricReportingAdapter;
-import org.apache.ambari.server.controller.spi.PropertyProvider;
-import org.apache.ambari.server.controller.utilities.PropertyHelper;
-import org.apache.commons.lang.StringUtils;
-import org.apache.hadoop.metrics2.sink.timeline.TimelineMetric;
-
 /**
  *  Abstract property provider implementation.
  */

http://git-wip-us.apache.org/repos/asf/ambari/blob/39b56b48/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricsDataTransferMethodFactory.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricsDataTransferMethodFactory.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricsDataTransferMethodFactory.java
index 3c683c8..9d70158 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricsDataTransferMethodFactory.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricsDataTransferMethodFactory.java
@@ -17,24 +17,37 @@
  */
 package org.apache.ambari.server.controller.metrics;
 
+import org.apache.ambari.server.controller.utilities.PropertyHelper;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetric;
 
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 
+import static org.apache.ambari.server.controller.utilities.PropertyHelper.AGGREGATE_FUNCTION_IDENTIFIERS;
+
 public class MetricsDataTransferMethodFactory {
   private static final Set<String> PERCENTAGE_METRIC;
 
   static {
-    Set<String> temp = new HashSet<String>();
-    temp.add("cpu_wio");
-    temp.add("cpu_idle");
-    temp.add("cpu_nice");
-    temp.add("cpu_aidle");
-    temp.add("cpu_system");
-    temp.add("cpu_user");
-    PERCENTAGE_METRIC = Collections.unmodifiableSet(temp);
+    Set<String> percentMetrics = new HashSet<String>();
+    percentMetrics.add("cpu_wio");
+    percentMetrics.add("cpu_idle");
+    percentMetrics.add("cpu_nice");
+    percentMetrics.add("cpu_aidle");
+    percentMetrics.add("cpu_system");
+    percentMetrics.add("cpu_user");
+
+    Set<String> metricsWithAggregateFunctionIds = new HashSet<String>();
+    for (String metric : percentMetrics) {
+      for (String aggregateFunctionId : AGGREGATE_FUNCTION_IDENTIFIERS) {
+        metricsWithAggregateFunctionIds.add(metric + aggregateFunctionId);
+      }
+    }
+
+    percentMetrics.addAll(metricsWithAggregateFunctionIds);
+
+    PERCENTAGE_METRIC = Collections.unmodifiableSet(percentMetrics);
   }
 
   private static final MetricsDataTransferMethod percentageAdjustment = new PercentageAdjustmentTransferMethod();