Repository: ambari
Updated Branches:
  refs/heads/branch-2.2 ea9775598 -> f04d81dad


AMBARI-15698 : Metrics is not showing data (avijayan)


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

Branch: refs/heads/branch-2.2
Commit: f04d81dad41bbec093c09d9feb1f3a4e94a15f4c
Parents: ea97755
Author: Aravindan Vijayan <[email protected]>
Authored: Mon Apr 11 15:09:06 2016 -0700
Committer: Aravindan Vijayan <[email protected]>
Committed: Mon Apr 11 15:09:06 2016 -0700

----------------------------------------------------------------------
 .../metrics/timeline/PhoenixHBaseAccessor.java              | 9 ++++++---
 .../apache/ambari/server/api/services/AmbariMetaInfo.java   | 4 +++-
 .../ambari/server/controller/utilities/PropertyHelper.java  | 2 +-
 3 files changed, 10 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/f04d81da/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java
----------------------------------------------------------------------
diff --git 
a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java
 
b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java
index cd0a0fd..51cacf3 100644
--- 
a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java
+++ 
b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java
@@ -638,7 +638,7 @@ public class PhoenixHBaseAccessor {
       }
       for (Function f : functions) {
         if (f.getReadFunction() == Function.ReadFunction.VALUE) {
-          getTimelineMetricsFromResultSet(metrics, condition, rs);
+          getTimelineMetricsFromResultSet(metrics, f, condition, rs);
         } else {
           SingleValuedTimelineMetric metric =
             
TIMELINE_METRIC_READ_HELPER.getAggregatedTimelineMetricFromResultSet(rs, f);
@@ -653,13 +653,16 @@ public class PhoenixHBaseAccessor {
     } else {
       // No aggregation requested
       // Execution never goes here, function always contain at least 1 element
-      getTimelineMetricsFromResultSet(metrics, condition, rs);
+      getTimelineMetricsFromResultSet(metrics, null, condition, rs);
     }
   }
 
-  private void getTimelineMetricsFromResultSet(TimelineMetrics metrics, 
Condition condition, ResultSet rs) throws SQLException, IOException {
+  private void getTimelineMetricsFromResultSet(TimelineMetrics metrics, 
Function f, Condition condition, ResultSet rs) throws SQLException, IOException 
{
     if (condition.getPrecision().equals(Precision.SECONDS)) {
       TimelineMetric metric = 
TIMELINE_METRIC_READ_HELPER.getTimelineMetricFromResultSet(rs);
+      if (f != null && f.getSuffix() != null) { //Case : Requesting "._rate" 
for precision data
+        metric.setMetricName(metric.getMetricName() + f.getSuffix());
+      }
       if (condition.isGrouped()) {
         metrics.addOrMergeTimelineMetric(metric);
       } else {

http://git-wip-us.apache.org/repos/asf/ambari/blob/f04d81da/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java
index ecd9d70..4bea268 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java
@@ -84,6 +84,7 @@ import java.util.Scanner;
 import java.util.Set;
 
 import static 
org.apache.ambari.server.controller.spi.Resource.InternalType.Component;
+import static 
org.apache.ambari.server.controller.spi.Resource.InternalType.HostComponent;
 import static 
org.apache.ambari.server.controller.utilities.PropertyHelper.AGGREGATE_FUNCTION_IDENTIFIERS;
 
 
@@ -924,7 +925,8 @@ public class AmbariMetaInfo {
 
                 // NOTE: Only Component aggregates for AMS supported for now.
                 if (metricDefinition.getType().equals("ganglia") &&
-                  metricDefEntry.getKey().equals(Component.name())) {
+                  (metricDefEntry.getKey().equals(Component.name()) ||
+                    metricDefEntry.getKey().equals(HostComponent.name()))) {
                   for (Map.Entry<String, Metric> processedMetric : 
processedMetrics.entrySet()) {
                     
newMetricsToAdd.putAll(getAggregateFunctionMetrics(processedMetric.getKey(),
                       processedMetric.getValue()));

http://git-wip-us.apache.org/repos/asf/ambari/blob/f04d81da/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java
index 87a1ab1..bddce28 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java
@@ -58,7 +58,7 @@ public class PropertyHelper {
    * Aggregate functions implicitly supported by the Metrics Service
    */
   public static final List<String> AGGREGATE_FUNCTION_IDENTIFIERS =
-    Arrays.asList("._sum", "._max", "._min", "._avg");
+    Arrays.asList("._sum", "._max", "._min", "._avg", "._rate");
 
   private static final List<Resource.InternalType> REPORT_METRIC_RESOURCES =
     Arrays.asList(Resource.InternalType.Cluster, Resource.InternalType.Host);

Reply via email to