You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2014/11/25 19:07:46 UTC

[1/3] ambari git commit: AMBARI-8326 - Merge Ambari SCOM changes from Ambari on Windows project (Jayush Luniya via abaranchuk)

Repository: ambari
Updated Branches:
  refs/heads/trunk 20591d2e2 -> 848e78742


http://git-wip-us.apache.org/repos/asf/ambari/blob/848e7874/contrib/ambari-scom/ambari-scom-server/src/test/java/org/apache/ambari/scom/SQLPropertyProviderTest.java
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/ambari-scom-server/src/test/java/org/apache/ambari/scom/SQLPropertyProviderTest.java b/contrib/ambari-scom/ambari-scom-server/src/test/java/org/apache/ambari/scom/SQLPropertyProviderTest.java
index 4a0bc99..5de8996 100644
--- a/contrib/ambari-scom/ambari-scom-server/src/test/java/org/apache/ambari/scom/SQLPropertyProviderTest.java
+++ b/contrib/ambari-scom/ambari-scom-server/src/test/java/org/apache/ambari/scom/SQLPropertyProviderTest.java
@@ -55,6 +55,7 @@ public class SQLPropertyProviderTest {
   private static final String CLUSTER_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("HostRoles", "cluster_name");
   private static final String HOST_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("HostRoles", "host_name");
   private static final String COMPONENT_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("HostRoles", "component_name");
+  private static final String SERVICE_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("HostRoles", "service_name");
 
   @Test
   public void testPopulateResources() throws Exception {
@@ -91,6 +92,7 @@ public class SQLPropertyProviderTest {
         CLUSTER_NAME_PROPERTY_ID,
         HOST_NAME_PROPERTY_ID,
         COMPONENT_NAME_PROPERTY_ID,
+        SERVICE_NAME_PROPERTY_ID,
         connectionFactory);
 
     // namenode
@@ -99,6 +101,7 @@ public class SQLPropertyProviderTest {
     resource.setProperty(CLUSTER_NAME_PROPERTY_ID, "c1");
     resource.setProperty(HOST_NAME_PROPERTY_ID, "domU-12-31-39-0E-34-E1.compute-1.internal");
     resource.setProperty(COMPONENT_NAME_PROPERTY_ID, "DATANODE");
+    resource.setProperty(SERVICE_NAME_PROPERTY_ID, "HDFS");
 
     // only ask for one property
     Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>();
@@ -113,7 +116,7 @@ public class SQLPropertyProviderTest {
 
     for (int i = 0; i < datapoints.length; ++i) {
       Assert.assertEquals((long) i, datapoints[i][0]);
-      Assert.assertEquals(999990L + i, datapoints[i][1]);
+      Assert.assertEquals((999990L + i)/1000, datapoints[i][1]);
     }
 
     // verify
@@ -157,6 +160,7 @@ public class SQLPropertyProviderTest {
         CLUSTER_NAME_PROPERTY_ID,
         HOST_NAME_PROPERTY_ID,
         COMPONENT_NAME_PROPERTY_ID,
+        SERVICE_NAME_PROPERTY_ID,
         connectionFactory);
 
     // namenode
@@ -165,6 +169,7 @@ public class SQLPropertyProviderTest {
     resource.setProperty(CLUSTER_NAME_PROPERTY_ID, "c1");
     resource.setProperty(HOST_NAME_PROPERTY_ID, "domU-12-31-39-0E-34-E1.compute-1.internal");
     resource.setProperty(COMPONENT_NAME_PROPERTY_ID, "DATANODE");
+    resource.setProperty(SERVICE_NAME_PROPERTY_ID, "HDFS");
 
     // only ask for one property
     Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>();
@@ -179,7 +184,7 @@ public class SQLPropertyProviderTest {
 
     for (int i = 0; i < datapoints.length; ++i) {
       Assert.assertEquals((long) i, datapoints[i][0]);
-      Assert.assertEquals(999990L + i, datapoints[i][1]);
+      Assert.assertEquals((999990L + i) / 1000, datapoints[i][1]);
     }
 
     // verify
@@ -223,6 +228,7 @@ public class SQLPropertyProviderTest {
         CLUSTER_NAME_PROPERTY_ID,
         HOST_NAME_PROPERTY_ID,
         COMPONENT_NAME_PROPERTY_ID,
+        SERVICE_NAME_PROPERTY_ID,
         connectionFactory);
 
     // namenode
@@ -231,6 +237,7 @@ public class SQLPropertyProviderTest {
     resource.setProperty(CLUSTER_NAME_PROPERTY_ID, "c1");
     resource.setProperty(HOST_NAME_PROPERTY_ID, "domU-12-31-39-0E-34-E1.compute-1.internal");
     resource.setProperty(COMPONENT_NAME_PROPERTY_ID, "DATANODE");
+    resource.setProperty(SERVICE_NAME_PROPERTY_ID, "HDFS");
 
     // only ask for one property
     Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>();
@@ -284,6 +291,7 @@ public class SQLPropertyProviderTest {
         CLUSTER_NAME_PROPERTY_ID,
         null,
         COMPONENT_NAME_PROPERTY_ID,
+        SERVICE_NAME_PROPERTY_ID,
         connectionFactory);
 
     // namenode
@@ -291,6 +299,7 @@ public class SQLPropertyProviderTest {
 
     resource.setProperty(CLUSTER_NAME_PROPERTY_ID, "c1");
     resource.setProperty(COMPONENT_NAME_PROPERTY_ID, "DATANODE");
+    resource.setProperty(SERVICE_NAME_PROPERTY_ID, "HDFS");
 
     // only ask for one property
     Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>();
@@ -322,6 +331,7 @@ public class SQLPropertyProviderTest {
     expect(resultSet.next()).andReturn(true);
     expect(resultSet.getString("RecordTypeContext")).andReturn("rpc");
     expect(resultSet.getString("RecordTypeName")).andReturn("rpc");
+    expect(resultSet.getString("TagPairs")).andReturn("");
     expect(resultSet.getString("MetricName")).andReturn("RpcSlowResponse_num_ops");
     expect(resultSet.getString("ServiceName")).andReturn("datanode");
     expect(resultSet.getString("NodeName")).andReturn("host1");
@@ -330,6 +340,7 @@ public class SQLPropertyProviderTest {
     expect(resultSet.next()).andReturn(true);
     expect(resultSet.getString("RecordTypeContext")).andReturn("rpc");
     expect(resultSet.getString("RecordTypeName")).andReturn("rpc");
+    expect(resultSet.getString("TagPairs")).andReturn("");
     expect(resultSet.getString("MetricName")).andReturn("RpcSlowResponse_num_ops");
     expect(resultSet.getString("ServiceName")).andReturn("datanode");
     expect(resultSet.getString("NodeName")).andReturn("host1");
@@ -338,6 +349,7 @@ public class SQLPropertyProviderTest {
     expect(resultSet.next()).andReturn(true);
     expect(resultSet.getString("RecordTypeContext")).andReturn("rpc");
     expect(resultSet.getString("RecordTypeName")).andReturn("rpc");
+    expect(resultSet.getString("TagPairs")).andReturn("");
     expect(resultSet.getString("MetricName")).andReturn("RpcSlowResponse_num_ops");
     expect(resultSet.getString("ServiceName")).andReturn("datanode");
     expect(resultSet.getString("NodeName")).andReturn("host1");
@@ -346,6 +358,7 @@ public class SQLPropertyProviderTest {
     expect(resultSet.next()).andReturn(true);
     expect(resultSet.getString("RecordTypeContext")).andReturn("rpc");
     expect(resultSet.getString("RecordTypeName")).andReturn("rpc");
+    expect(resultSet.getString("TagPairs")).andReturn("");
     expect(resultSet.getString("MetricName")).andReturn("RpcSlowResponse_num_ops");
     expect(resultSet.getString("ServiceName")).andReturn("datanode");
     expect(resultSet.getString("NodeName")).andReturn("host1");
@@ -362,6 +375,7 @@ public class SQLPropertyProviderTest {
         CLUSTER_NAME_PROPERTY_ID,
         HOST_NAME_PROPERTY_ID,
         COMPONENT_NAME_PROPERTY_ID,
+        SERVICE_NAME_PROPERTY_ID,
         connectionFactory);
 
     // namenode
@@ -370,6 +384,7 @@ public class SQLPropertyProviderTest {
     resource.setProperty(CLUSTER_NAME_PROPERTY_ID, "c1");
     resource.setProperty(HOST_NAME_PROPERTY_ID, "domU-12-31-39-0E-34-E1.compute-1.internal");
     resource.setProperty(COMPONENT_NAME_PROPERTY_ID, "DATANODE");
+    resource.setProperty(SERVICE_NAME_PROPERTY_ID, "HDFS");
 
     // only ask for one property
     Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>();
@@ -400,6 +415,7 @@ public class SQLPropertyProviderTest {
     expect(resultSet.next()).andReturn(true);
     expect(resultSet.getString("RecordTypeContext")).andReturn("rpc");
     expect(resultSet.getString("RecordTypeName")).andReturn("rpc");
+    expect(resultSet.getString("TagPairs")).andReturn("");
     expect(resultSet.getString("MetricName")).andReturn("RpcQueueTime_avg_time");
     expect(resultSet.getString("ServiceName")).andReturn("datanode");
     expect(resultSet.getString("NodeName")).andReturn("host1");
@@ -408,6 +424,7 @@ public class SQLPropertyProviderTest {
     expect(resultSet.next()).andReturn(true);
     expect(resultSet.getString("RecordTypeContext")).andReturn("rpc");
     expect(resultSet.getString("RecordTypeName")).andReturn("rpc");
+    expect(resultSet.getString("TagPairs")).andReturn("");
     expect(resultSet.getString("MetricName")).andReturn("RpcQueueTime_avg_time");
     expect(resultSet.getString("ServiceName")).andReturn("datanode");
     expect(resultSet.getString("NodeName")).andReturn("host1");
@@ -417,6 +434,7 @@ public class SQLPropertyProviderTest {
     expect(resultSet.next()).andReturn(true);
     expect(resultSet.getString("RecordTypeContext")).andReturn("rpc");
     expect(resultSet.getString("RecordTypeName")).andReturn("rpc");
+    expect(resultSet.getString("TagPairs")).andReturn("");
     expect(resultSet.getString("MetricName")).andReturn("RpcSlowResponse_num_ops");
     expect(resultSet.getString("ServiceName")).andReturn("datanode");
     expect(resultSet.getString("NodeName")).andReturn("host1");
@@ -425,6 +443,7 @@ public class SQLPropertyProviderTest {
     expect(resultSet.next()).andReturn(true);
     expect(resultSet.getString("RecordTypeContext")).andReturn("rpc");
     expect(resultSet.getString("RecordTypeName")).andReturn("rpc");
+    expect(resultSet.getString("TagPairs")).andReturn("");
     expect(resultSet.getString("MetricName")).andReturn("RpcSlowResponse_num_ops");
     expect(resultSet.getString("ServiceName")).andReturn("datanode");
     expect(resultSet.getString("NodeName")).andReturn("host1");
@@ -441,6 +460,7 @@ public class SQLPropertyProviderTest {
         CLUSTER_NAME_PROPERTY_ID,
         HOST_NAME_PROPERTY_ID,
         COMPONENT_NAME_PROPERTY_ID,
+        SERVICE_NAME_PROPERTY_ID,
         connectionFactory);
 
     // namenode
@@ -449,6 +469,7 @@ public class SQLPropertyProviderTest {
     resource.setProperty(CLUSTER_NAME_PROPERTY_ID, "c1");
     resource.setProperty(HOST_NAME_PROPERTY_ID, "domU-12-31-39-0E-34-E1.compute-1.internal");
     resource.setProperty(COMPONENT_NAME_PROPERTY_ID, "DATANODE");
+    resource.setProperty(SERVICE_NAME_PROPERTY_ID, "HDFS");
 
     // ask for two properties ... on temporal, one point in time
     Map<String, TemporalInfo> temporalInfoMap = new HashMap<String, TemporalInfo>();
@@ -469,7 +490,7 @@ public class SQLPropertyProviderTest {
 
     for (int i = 0; i < datapoints.length; ++i) {
       Assert.assertEquals((long) i, datapoints[i][0]);
-      Assert.assertEquals(999990L + i, datapoints[i][1]);
+      Assert.assertEquals((999990L + i) / 1000, datapoints[i][1]);
     }
 
     // check the point in time value ... should be the last value of the time series...


[3/3] ambari git commit: AMBARI-8326 - Merge Ambari SCOM changes from Ambari on Windows project (Jayush Luniya via abaranchuk)

Posted by ab...@apache.org.
AMBARI-8326 - Merge Ambari SCOM changes from Ambari on Windows project (Jayush Luniya via abaranchuk)


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

Branch: refs/heads/trunk
Commit: 848e78742452f5f66c97435035210470ebdf288a
Parents: 20591d2
Author: Artem Baranchuk <ab...@hortonworks.com>
Authored: Tue Nov 25 20:07:25 2014 +0200
Committer: Artem Baranchuk <ab...@hortonworks.com>
Committed: Tue Nov 25 20:07:25 2014 +0200

----------------------------------------------------------------------
 .../apache/ambari/scom/SQLPropertyProvider.java | 258 ++++--
 .../apache/ambari/scom/SQLProviderModule.java   |   2 +
 .../main/resources/sqlserver_properties.json    | 921 ++++++++++---------
 .../ambari/scom/SQLPropertyProviderTest.java    |  27 +-
 4 files changed, 666 insertions(+), 542 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/848e7874/contrib/ambari-scom/ambari-scom-server/src/main/java/org/apache/ambari/scom/SQLPropertyProvider.java
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/ambari-scom-server/src/main/java/org/apache/ambari/scom/SQLPropertyProvider.java b/contrib/ambari-scom/ambari-scom-server/src/main/java/org/apache/ambari/scom/SQLPropertyProvider.java
index 938b55e..23e25e9 100644
--- a/contrib/ambari-scom/ambari-scom-server/src/main/java/org/apache/ambari/scom/SQLPropertyProvider.java
+++ b/contrib/ambari-scom/ambari-scom-server/src/main/java/org/apache/ambari/scom/SQLPropertyProvider.java
@@ -38,6 +38,7 @@ import java.sql.Statement;
 import java.text.NumberFormat;
 import java.text.ParsePosition;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -57,29 +58,33 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
 
   private final String componentNamePropertyId;
 
+  private final String serviceNamePropertyId;
+
   private final ConnectionFactory connectionFactory;
 
 
   // ----- Constants ---------------------------------------------------------
 
   private static final String GET_METRICS_STATEMENT =
-                  "SELECT  s.RecordTypeContext, s.RecordTypeName, s.NodeName, s.ServiceName, mn.Name AS MetricName, s.RecordTimeStamp, mp.MetricValue\n" +
-                  "FROM HadoopMetrics.dbo.MetricPair mp\n" +
-                  "     INNER JOIN (\n" +
-                  "         SELECT mr.RecordID AS RecordID, mr.RecordTimeStamp AS RecordTimeStamp, rt.Context AS RecordTypeContext, rt.Name AS RecordTypeName, nd.Name AS NodeName, sr.Name AS ServiceName\n" +
-                  "         FROM HadoopMetrics.dbo.MetricRecord mr\n" +
-                  "              INNER JOIN HadoopMetrics.dbo.RecordType rt ON (mr.RecordTypeId = rt.RecordTypeId)\n" +
-                  "              INNER JOIN HadoopMetrics.dbo.Node nd ON (mr.NodeID = nd.NodeID)\n" +
-                  "              INNER JOIN HadoopMetrics.dbo.Service sr ON (mr.ServiceID = sr.ServiceID)\n" +
-                  "         WHERE rt.Context in (%s)\n" +
-                  "               AND rt.Name in (%s)\n" +
-                  "               AND (nd.Name in (%s))\n" +
-                  "               AND (sr.Name in (%s))\n" +
-                  "               AND mr.RecordTimestamp >= %d\n" +
-                  "               AND mr.RecordTimestamp <= %d\n" +
-                  "     ) s ON (mp.RecordID = s.RecordID)\n" +
-                  "     INNER JOIN HadoopMetrics.dbo.MetricName mn ON (mp.MetricID = mn.MetricID)\n" +
-                  "WHERE (mn.Name in (%s))";
+    "SELECT  s.RecordTypeContext, s.RecordTypeName, s.TagPairs, s.NodeName, s.ServiceName, mn.Name AS MetricName, s.RecordTimeStamp, mp.MetricValue\n" +
+      "FROM HadoopMetrics.dbo.MetricPair mp\n" +
+      "     INNER JOIN (\n" +
+      "         SELECT mr.RecordID AS RecordID, mr.RecordTimeStamp AS RecordTimeStamp, rt.Context AS RecordTypeContext, rt.Name AS RecordTypeName, ts.TagPairs AS TagPairs, nd.Name AS NodeName, sr.Name AS ServiceName\n" +
+      "         FROM HadoopMetrics.dbo.MetricRecord mr\n" +
+      "              INNER JOIN HadoopMetrics.dbo.RecordType rt ON (mr.RecordTypeId = rt.RecordTypeId)\n" +
+      "              INNER JOIN HadoopMetrics.dbo.TagSet ts ON (mr.TagSetID = ts.TagSetID)\n" +
+      "              INNER JOIN HadoopMetrics.dbo.Node nd ON (mr.NodeID = nd.NodeID)\n" +
+      "              INNER JOIN HadoopMetrics.dbo.Service sr ON (mr.ServiceID = sr.ServiceID)\n" +
+      "         WHERE rt.Context in (%s)\n" +
+      "               AND rt.Name in (%s)\n" +
+      "               AND (ts.TagPairs LIKE %s)\n" +
+      "               AND (nd.Name in (%s))\n" +
+      "               AND (sr.Name in (%s))\n" +
+      "               AND mr.RecordTimestamp >= %d\n" +
+      "               AND mr.RecordTimestamp <= %d\n" +
+      "     ) s ON (mp.RecordID = s.RecordID)\n" +
+      "     INNER JOIN HadoopMetrics.dbo.MetricName mn ON (mp.MetricID = mn.MetricID)\n" +
+      "WHERE (mn.Name in (%s))";
 
   protected final static Logger LOG = LoggerFactory.getLogger(SQLPropertyProvider.class);
 
@@ -87,18 +92,20 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
   // ----- Constructors ------------------------------------------------------
 
   public SQLPropertyProvider(
-      Map<String, Map<String, PropertyInfo>> componentPropertyInfoMap,
-      HostInfoProvider hostProvider,
-      String clusterNamePropertyId,
-      String hostNamePropertyId,
-      String componentNamePropertyId,
-      ConnectionFactory connectionFactory) {
+    Map<String, Map<String, PropertyInfo>> componentPropertyInfoMap,
+    HostInfoProvider hostProvider,
+    String clusterNamePropertyId,
+    String hostNamePropertyId,
+    String componentNamePropertyId,
+    String serviceNamePropertyId,
+    ConnectionFactory connectionFactory) {
     super(componentPropertyInfoMap);
-    this.hostProvider             = hostProvider;
-    this.clusterNamePropertyId    = clusterNamePropertyId;
-    this.hostNamePropertyId       = hostNamePropertyId;
-    this.componentNamePropertyId  = componentNamePropertyId;
-    this.connectionFactory        = connectionFactory;
+    this.hostProvider = hostProvider;
+    this.clusterNamePropertyId = clusterNamePropertyId;
+    this.hostNamePropertyId = hostNamePropertyId;
+    this.componentNamePropertyId = componentNamePropertyId;
+    this.serviceNamePropertyId = serviceNamePropertyId;
+    this.connectionFactory = connectionFactory;
   }
 
 
@@ -106,7 +113,7 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
 
   @Override
   public Set<Resource> populateResources(Set<Resource> resources, Request request, Predicate predicate)
-      throws SystemException {
+    throws SystemException {
     Set<Resource> keepers = new HashSet<Resource>();
     try {
       Connection connection = connectionFactory.getConnection();
@@ -126,9 +133,9 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
       }
     } catch (SQLException e) {
       if (LOG.isErrorEnabled()) {
-        LOG.error("Error during populateResources call : caught exception", e);
+        LOG.error("Error during populateResources call.");
+        LOG.debug("Error during populateResources call : caught exception", e);
       }
-      throw new SystemException("Error during populateResources call : caught exception", e);
     }
     return keepers;
   }
@@ -146,6 +153,7 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
     }
 
     String componentName = (String) resource.getPropertyValue(componentNamePropertyId);
+    String serviceName = (String) resource.getPropertyValue(serviceNamePropertyId);
 
     if (getComponentMetrics().get(componentName) == null) {
       // no metrics defined for the given component ... nothing to do.
@@ -153,25 +161,29 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
     }
 
     String clusterName = (String) resource.getPropertyValue(clusterNamePropertyId);
-    String hostName    = getHost(resource, clusterName, componentName);
+    String hostName = getHost(resource, clusterName, componentName);
 
     if (hostName == null) {
       throw new SystemException(
-          "Unable to get metrics.  No host name for " + componentName, null);
+        "Unable to get metrics.  No host name for " + componentName, null);
     }
 
     Set<MetricDefinition> metricsDefinitionSet = new HashSet<MetricDefinition>();
     for (String id : ids) {
       Map<String, PropertyInfo> propertyInfoMap = getPropertyInfoMap(componentName, id);
 
-      for (Map.Entry<String, PropertyInfo> entry: propertyInfoMap.entrySet()) {
-        String       propertyKey  = entry.getKey();
+      for (Map.Entry<String, PropertyInfo> entry : propertyInfoMap.entrySet()) {
+        String propertyKey = entry.getKey();
         PropertyInfo propertyInfo = entry.getValue();
-        String       propertyId   = propertyInfo.getPropertyId();
+        if (containsArguments(propertyKey)) {
+          propertyInfo = updatePropertyInfo(propertyKey, id, propertyInfo);
+        }
+
+        String propertyId = propertyInfo.getPropertyId();
         TemporalInfo temporalInfo = request.getTemporalInfo(id);
 
         if ((propertyInfo.isPointInTime() && temporalInfo == null) ||
-            (propertyInfo.isTemporal()    && temporalInfo != null)) {
+          (propertyInfo.isTemporal() && temporalInfo != null)) {
 
           long startTime;
           long endTime;
@@ -179,31 +191,44 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
           if (temporalInfo != null) {
             Long endTimeSeconds = temporalInfo.getEndTime();
 
-            endTime   = endTimeSeconds != -1 ? endTimeSeconds * 1000 : Long.MAX_VALUE;
+            endTime = endTimeSeconds != -1 ? endTimeSeconds * 1000 : Long.MAX_VALUE;
             startTime = temporalInfo.getStartTime() * 1000;
           } else {
             startTime = 0L;
-            endTime   = Long.MAX_VALUE;
+            endTime = Long.MAX_VALUE;
           }
 
-          String[] parts = propertyId.split("\\.");
-          int      size  = parts.length;
-
-          if (size >= 3) {
-
+          String category = "";
+          String recordTypeContext = "";
+          String recordTypeName = "";
+          String metricName = "";
+          String tagPairsPattern = "";
+          int dotIndex = propertyId.lastIndexOf('.');
+          if (dotIndex != -1) {
+            category = propertyId.substring(0, dotIndex);
+            metricName = propertyId.substring(dotIndex + 1);
+          }
+          String[] parts = category.split("\\.");
+          if (parts.length >= 2) {
+            recordTypeContext = parts[0];
+            recordTypeName = parts[1];
+            if (containsArguments(propertyKey) && parts.length > 2) {
+              tagPairsPattern = StringUtils.join(Arrays.copyOfRange(parts, 2, parts.length), ".");
+            }
             metricsDefinitionSet.add(
-                    new MetricDefinition(
-                            startTime,
-                            endTime,
-                            parts[size - 3],
-                            parts[size - 2],
-                            parts[size - 1],
-                            componentName.toLowerCase(),
-                            hostName,
-                            propertyKey,
-                            temporalInfo)
+              new MetricDefinition(
+                startTime,
+                endTime,
+                recordTypeContext,
+                recordTypeName,
+                tagPairsPattern,
+                metricName,
+                serviceName != null && serviceName.toLowerCase().equals("hbase") ? serviceName.toLowerCase() : componentName.toLowerCase(),
+                hostName,
+                propertyKey,
+                id,
+                temporalInfo)
             );
-
           } else {
             if (LOG.isWarnEnabled()) {
               LOG.warn("Can't get metrics for " + id + " : " + propertyId);
@@ -215,24 +240,29 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
 
     Map<MetricDefinition, List<DataPoint>> results = getMetric(metricsDefinitionSet, statement);
 
-    for(MetricDefinition metricDefinition : metricsDefinitionSet) {
-        List<DataPoint> dataPoints = results.containsKey(metricDefinition) ? results.get(metricDefinition) : new ArrayList<DataPoint>();
-        TemporalInfo temporalInfo = metricDefinition.getTemporalInfo();
-        String propertyKey = metricDefinition.getPropertyKey();
-        if (dataPoints != null) {
-          if (temporalInfo == null){
-            // return the value of the last data point
-            int length = dataPoints.size();
-            Serializable value  = length > 0 ? dataPoints.get(length - 1).getValue() : 0;
-            resource.setProperty(propertyKey, value);
+    for (MetricDefinition metricDefinition : metricsDefinitionSet) {
+      List<DataPoint> dataPoints = results.containsKey(metricDefinition) ? results.get(metricDefinition) : new ArrayList<DataPoint>();
+      TemporalInfo temporalInfo = metricDefinition.getTemporalInfo();
+      String propertyKey = metricDefinition.getPropertyKey();
+      String requestedPropertyKey = metricDefinition.getRequestedPropertyKey();
+      if (dataPoints != null) {
+        if (temporalInfo == null) {
+          // return the value of the last data point
+          int length = dataPoints.size();
+          Serializable value = length > 0 ? dataPoints.get(length - 1).getValue() : 0;
+          resource.setProperty(propertyKey, value);
+        } else {
+          Number[][] dp = new Number[dataPoints.size()][2];
+          for (int i = 0; i < dp.length; i++) {
+            dp[i][0] = dataPoints.get(i).getValue();
+            dp[i][1] = dataPoints.get(i).getTimestamp() / 1000;
+          }
+          if (containsArguments(propertyKey)) {
+            resource.setProperty(requestedPropertyKey, dp);
           } else {
-            Number[][] dp = new Number[dataPoints.size()][2];
-            for (int i = 0; i < dp.length; i++) {
-              dp[i][0] = dataPoints.get(i).getValue();
-              dp[i][1] = dataPoints.get(i).getTimestamp();
-            }
             resource.setProperty(propertyKey, dp);
           }
+        }
       }
     }
 
@@ -246,6 +276,7 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
       StringBuilder query = new StringBuilder();
       Set<String> recordTypeContexts = new HashSet<String>();
       Set<String> recordTypeNamess = new HashSet<String>();
+      Set<String> tagPairsPatterns = new HashSet<String>();
       Set<String> nodeNames = new HashSet<String>();
       Set<String> serviceNames = new HashSet<String>();
       Set<String> metricNames = new HashSet<String>();
@@ -257,6 +288,7 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
 
         recordTypeContexts.add(metricDefinition.getRecordTypeContext());
         recordTypeNamess.add(metricDefinition.getRecordTypeName());
+        tagPairsPatterns.add(metricDefinition.getTagPairsPattern());
         nodeNames.add(metricDefinition.getNodeName());
         serviceNames.add(metricDefinition.getServiceName());
         metricNames.add(metricDefinition.getMetricName());
@@ -264,29 +296,37 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
         endTime = metricDefinition.getEndTime();
       }
 
-      query.append(String.format(GET_METRICS_STATEMENT,
-              "'" + StringUtils.join(recordTypeContexts, "','") + "'",
-              "'" + StringUtils.join(recordTypeNamess, "','") + "'",
-              "'" + StringUtils.join(nodeNames, "','") + "'",
-              "'" + StringUtils.join(serviceNames, "','") + "'",
-              startTime,
-              endTime,
-              "'" + StringUtils.join(metricNames, "','") + "'"
-      ));
+      for (String tagPairsPattern : tagPairsPatterns) {
+        if (query.length() != 0) {
+          query.append("\nUNION\n");
+        }
+        query.append(String.format(GET_METRICS_STATEMENT,
+          "'" + StringUtils.join(recordTypeContexts, "','") + "'",
+          "'" + StringUtils.join(recordTypeNamess, "','") + "'",
+          "'%" + tagPairsPattern + "%'",
+          "'" + StringUtils.join(nodeNames, "','") + "'",
+          "'" + StringUtils.join(serviceNames, "','") + "'",
+          startTime,
+          endTime,
+          "'" + StringUtils.join(metricNames, "','") + "'"
+        ));
+      }
 
-      ResultSet rs = statement.executeQuery(query.toString());
+      ResultSet rs = null;
+      if (query.length() != 0) {
+        rs = statement.executeQuery(query.toString());
+      }
 
       if (rs != null) {
         //(RecordTimeStamp bigint, MetricValue NVARCHAR(512))
         while (rs.next()) {
-          MetricDefinition metricDefinition = new MetricDefinition(rs.getString("RecordTypeContext"), rs.getString("RecordTypeName"), rs.getString("MetricName"), rs.getString("ServiceName"), rs.getString("NodeName"));
+          MetricDefinition metricDefinition = new MetricDefinition(rs.getString("RecordTypeContext"), rs.getString("RecordTypeName"), rs.getString("TagPairs"), rs.getString("MetricName"), rs.getString("ServiceName"), rs.getString("NodeName"));
           ParsePosition parsePosition = new ParsePosition(0);
-          NumberFormat  numberFormat  = NumberFormat.getInstance();
-          Number parsedNumber  = numberFormat.parse(rs.getNString("MetricValue"), parsePosition);
-          if(results.containsKey(metricDefinition)) {
-              results.get(metricDefinition).add(new DataPoint(rs.getLong("RecordTimeStamp"), parsedNumber));
-          }
-          else {
+          NumberFormat numberFormat = NumberFormat.getInstance();
+          Number parsedNumber = numberFormat.parse(rs.getNString("MetricValue"), parsePosition);
+          if (results.containsKey(metricDefinition)) {
+            results.get(metricDefinition).add(new DataPoint(rs.getLong("RecordTimeStamp"), parsedNumber));
+          } else {
             List<DataPoint> dataPoints = new ArrayList<DataPoint>();
             dataPoints.add(new DataPoint(rs.getLong("RecordTimeStamp"), parsedNumber));
             results.put(metricDefinition, dataPoints);
@@ -302,8 +342,8 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
   // get the hostname for a given resource
   private String getHost(Resource resource, String clusterName, String componentName) throws SystemException {
     return hostNamePropertyId == null ?
-        hostProvider.getHostName(clusterName, componentName) :
-        hostProvider.getHostName((String) resource.getPropertyValue(hostNamePropertyId));
+      hostProvider.getHostName(clusterName, componentName) :
+      hostProvider.getHostName((String) resource.getPropertyValue(hostNamePropertyId));
   }
 
 
@@ -321,8 +361,8 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
     /**
      * Construct a data point from the given value and timestamp.
      *
-     * @param timestamp  the timestamp
-     * @param value      the value
+     * @param timestamp the timestamp
+     * @param value     the value
      */
     private DataPoint(long timestamp, Number value) {
       this.timestamp = timestamp;
@@ -333,6 +373,7 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
 
     /**
      * Get the timestamp value.
+     *
      * @return the timestamp
      */
     public long getTimestamp() {
@@ -341,6 +382,7 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
 
     /**
      * Get the value.
+     *
      * @return the value
      */
     public Number getValue() {
@@ -351,7 +393,7 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
 
     @Override
     public String toString() {
-      return "{" +value + " : " + timestamp + "}";
+      return "{" + value + " : " + timestamp + "}";
     }
   }
 
@@ -361,28 +403,33 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
 
     String recordTypeContext;
     String recordTypeName;
+    String tagPairsPattern;
     String metricName;
     String serviceName;
     String nodeName;
 
     String propertyKey;
+    String requestedPropertyKey;
     TemporalInfo temporalInfo;
 
-    private MetricDefinition(long startTime, long endTime, String recordTypeContext, String recordTypeName, String metricName, String serviceName, String nodeName, String propertyKey, TemporalInfo temporalInfo) {
+    private MetricDefinition(long startTime, long endTime, String recordTypeContext, String recordTypeName, String tagPairsPattern, String metricName, String serviceName, String nodeName, String propertyKey, String requestedPropertyKey, TemporalInfo temporalInfo) {
       this.startTime = startTime;
       this.endTime = endTime;
       this.recordTypeContext = recordTypeContext;
       this.recordTypeName = recordTypeName;
+      this.tagPairsPattern = tagPairsPattern;
       this.metricName = metricName;
       this.serviceName = serviceName;
       this.nodeName = nodeName;
       this.propertyKey = propertyKey;
+      this.requestedPropertyKey = requestedPropertyKey;
       this.temporalInfo = temporalInfo;
     }
 
-    private MetricDefinition(String recordTypeContext, String recordTypeName, String metricName, String serviceName, String nodeName) {
+    private MetricDefinition(String recordTypeContext, String recordTypeName, String tagPairsPattern, String metricName, String serviceName, String nodeName) {
       this.recordTypeContext = recordTypeContext;
       this.recordTypeName = recordTypeName;
+      this.tagPairsPattern = tagPairsPattern;
       this.metricName = metricName;
       this.serviceName = serviceName;
       this.nodeName = nodeName;
@@ -420,6 +467,14 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
       this.recordTypeName = recordTypeName;
     }
 
+    public String getTagPairsPattern() {
+      return tagPairsPattern;
+    }
+
+    public void getTagPairsPattern(String tagPairsPattern) {
+      this.tagPairsPattern = tagPairsPattern;
+    }
+
     public String getMetricName() {
       return metricName;
     }
@@ -452,6 +507,14 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
       this.propertyKey = propertyKey;
     }
 
+    public String getRequestedPropertyKey() {
+      return requestedPropertyKey;
+    }
+
+    public void setRequestedPropertyKey(String requestedPropertyKey) {
+      this.requestedPropertyKey = requestedPropertyKey;
+    }
+
     public TemporalInfo getTemporalInfo() {
       return temporalInfo;
     }
@@ -468,12 +531,15 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
       MetricDefinition that = (MetricDefinition) o;
 
       if (metricName != null ? !metricName.equals(that.metricName) : that.metricName != null) return false;
-      if (nodeName != null ? !nodeName.equals(that.nodeName) : that.nodeName != null) return false;
+      if (nodeName != null ? !nodeName.equalsIgnoreCase(that.nodeName) : that.nodeName != null) return false;
       if (recordTypeContext != null ? !recordTypeContext.equals(that.recordTypeContext) : that.recordTypeContext != null)
         return false;
       if (recordTypeName != null ? !recordTypeName.equals(that.recordTypeName) : that.recordTypeName != null)
         return false;
       if (serviceName != null ? !serviceName.equals(that.serviceName) : that.serviceName != null) return false;
+      if (tagPairsPattern != null ? !(tagPairsPattern.contains(that.tagPairsPattern) ||
+        that.tagPairsPattern.contains(tagPairsPattern)) : that.tagPairsPattern != null)
+        return false;
 
       return true;
     }
@@ -484,7 +550,7 @@ public class SQLPropertyProvider extends AbstractPropertyProvider {
       result = 31 * result + (recordTypeName != null ? recordTypeName.hashCode() : 0);
       result = 31 * result + (metricName != null ? metricName.hashCode() : 0);
       result = 31 * result + (serviceName != null ? serviceName.hashCode() : 0);
-      result = 31 * result + (nodeName != null ? nodeName.hashCode() : 0);
+      result = 31 * result + (nodeName != null ? nodeName.toLowerCase().hashCode() : 0);
       return result;
     }
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/848e7874/contrib/ambari-scom/ambari-scom-server/src/main/java/org/apache/ambari/scom/SQLProviderModule.java
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/ambari-scom-server/src/main/java/org/apache/ambari/scom/SQLProviderModule.java b/contrib/ambari-scom/ambari-scom-server/src/main/java/org/apache/ambari/scom/SQLProviderModule.java
index 33d013e..b2fb8e6 100644
--- a/contrib/ambari-scom/ambari-scom-server/src/main/java/org/apache/ambari/scom/SQLProviderModule.java
+++ b/contrib/ambari-scom/ambari-scom-server/src/main/java/org/apache/ambari/scom/SQLProviderModule.java
@@ -129,6 +129,7 @@ public class SQLProviderModule extends DefaultProviderModule implements HostInfo
               PropertyHelper.getPropertyId("ServiceComponentInfo", "cluster_name"),
               null,
               PropertyHelper.getPropertyId("ServiceComponentInfo", "component_name"),
+              PropertyHelper.getPropertyId("ServiceComponentInfo", "service_name"),
               connectionFactory));
     } else if (type.equals(Resource.Type.HostComponent)) {
       providers.add(new JMXPropertyProvider(
@@ -147,6 +148,7 @@ public class SQLProviderModule extends DefaultProviderModule implements HostInfo
               PropertyHelper.getPropertyId("HostRoles", "cluster_name"),
               PropertyHelper.getPropertyId("HostRoles", "host_name"),
               PropertyHelper.getPropertyId("HostRoles", "component_name"),
+              PropertyHelper.getPropertyId("HostRoles", "service_name"),
               connectionFactory));
     }
     putPropertyProviders(type, providers);


[2/3] ambari git commit: AMBARI-8326 - Merge Ambari SCOM changes from Ambari on Windows project (Jayush Luniya via abaranchuk)

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/848e7874/contrib/ambari-scom/ambari-scom-server/src/main/resources/sqlserver_properties.json
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/ambari-scom-server/src/main/resources/sqlserver_properties.json b/contrib/ambari-scom/ambari-scom-server/src/main/resources/sqlserver_properties.json
index 3deac0c..10756f2 100644
--- a/contrib/ambari-scom/ambari-scom-server/src/main/resources/sqlserver_properties.json
+++ b/contrib/ambari-scom/ambari-scom-server/src/main/resources/sqlserver_properties.json
@@ -147,87 +147,87 @@
         "temporal":true
       },
       "metrics/jvm/gcCount":{
-        "metric":"jvm.metrics.gcCount",
+        "metric":"jvm.JvmMetrics.gcCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/gcTimeMillis":{
-        "metric":"jvm.metrics.gcTimeMillis",
+        "metric":"jvm.JvmMetrics.gcTimeMillis",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logError":{
-        "metric":"jvm.metrics.logError",
+        "metric":"jvm.JvmMetrics.logError",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logFatal":{
-        "metric":"jvm.metrics.logFatal",
+        "metric":"jvm.JvmMetrics.logFatal",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logInfo":{
-        "metric":"jvm.metrics.logInfo",
+        "metric":"jvm.JvmMetrics.logInfo",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logWarn":{
-        "metric":"jvm.metrics.logWarn",
+        "metric":"jvm.JvmMetrics.logWarn",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/maxMemoryM":{
-        "metric":"jvm.metrics.maxMemoryM",
+        "metric":"jvm.JvmMetrics.maxMemoryM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapCommittedM":{
-        "metric":"jvm.metrics.memHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapUsedM":{
-        "metric":"jvm.metrics.memHeapUsedM",
+        "metric":"jvm.JvmMetrics.memHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapCommittedM":{
-        "metric":"jvm.metrics.memNonHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memNonHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapUsedM":{
-        "metric":"jvm.metrics.memNonHeapUsedM",
+        "metric":"jvm.JvmMetrics.memNonHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsBlocked":{
-        "metric":"jvm.metrics.threadsBlocked",
+        "metric":"jvm.JvmMetrics.threadsBlocked",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsNew":{
-        "metric":"jvm.metrics.threadsNew",
+        "metric":"jvm.JvmMetrics.threadsNew",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsRunnable":{
-        "metric":"jvm.metrics.threadsRunnable",
+        "metric":"jvm.JvmMetrics.threadsRunnable",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTerminated":{
-        "metric":"jvm.metrics.threadsTerminated",
+        "metric":"jvm.JvmMetrics.threadsTerminated",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTimedWaiting":{
-        "metric":"jvm.metrics.threadsTimedWaiting",
+        "metric":"jvm.JvmMetrics.threadsTimedWaiting",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsWaiting":{
-        "metric":"jvm.metrics.threadsWaiting",
+        "metric":"jvm.JvmMetrics.threadsWaiting",
         "pointInTime":true,
         "temporal":true
       },
@@ -1651,6 +1651,11 @@
         "pointInTime": false,
         "temporal": true
       },
+      "metrics/dfs/FSNamesystem/CapacityTotal": {
+        "metric": "dfs.FSNamesystem.CapacityTotal",
+        "pointInTime": false,
+        "temporal": true
+      },
       "metrics/rpcdetailed/setOwner_num_ops": {
         "metric": "rpcdetailed.rpcdetailed.SetOwnerNumOps",
         "pointInTime": true,
@@ -1671,6 +1676,11 @@
         "pointInTime": false,
         "temporal": true
       },
+      "metrics/dfs/FSNamesystem/CapacityUsed": {
+        "metric": "dfs.FSNamesystem.CapacityUsed",
+        "pointInTime": false,
+        "temporal": true
+      },
       "metrics/dfs/namenode/AddBlockOps": {
         "metric": "dfs.namenode.AddBlockOps",
         "pointInTime": false,
@@ -2141,6 +2151,11 @@
         "pointInTime": false,
         "temporal": true
       },
+      "metrics/dfs/FSNamesystem/CapacityRemaining": {
+        "metric": "dfs.FSNamesystem.CapacityRemaining",
+        "pointInTime": false,
+        "temporal": true
+      },
       "metrics/dfs/namenode/Transactions_avg_time": {
         "metric": "dfs.namenode.TransactionsAvgTime",
         "pointInTime": false,
@@ -3634,7 +3649,7 @@
         "temporal": true
       },
       "metrics/jvm/maxMemoryM": {
-        "metric": "jvm.metrics.maxMemoryM",
+        "metric": "jvm.JvmMetrics.maxMemoryM",
         "pointInTime": true,
         "temporal": true
       },
@@ -3997,82 +4012,82 @@
         "temporal":true
       },
       "metrics/jvm/gcCount":{
-        "metric":"jvm.metrics.gcCount",
+        "metric":"jvm.JvmMetrics.gcCount",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/gcTimeMillis":{
-        "metric":"jvm.metrics.gcTimeMillis",
+        "metric":"jvm.JvmMetrics.gcTimeMillis",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/logError":{
-        "metric":"jvm.metrics.logError",
+        "metric":"jvm.JvmMetrics.logError",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/logFatal":{
-        "metric":"jvm.metrics.logFatal",
+        "metric":"jvm.JvmMetrics.logFatal",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/logInfo":{
-        "metric":"jvm.metrics.logInfo",
+        "metric":"jvm.JvmMetrics.logInfo",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/logWarn":{
-        "metric":"jvm.metrics.logWarn",
+        "metric":"jvm.JvmMetrics.logWarn",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/memHeapCommittedM":{
-        "metric":"jvm.metrics.memHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memHeapCommittedM",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/memHeapUsedM":{
-        "metric":"jvm.metrics.memHeapUsedM",
+        "metric":"jvm.JvmMetrics.memHeapUsedM",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/memNonHeapCommittedM":{
-        "metric":"jvm.metrics.memNonHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memNonHeapCommittedM",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/memNonHeapUsedM":{
-        "metric":"jvm.metrics.memNonHeapUsedM",
+        "metric":"jvm.JvmMetrics.memNonHeapUsedM",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsBlocked":{
-        "metric":"jvm.metrics.threadsBlocked",
+        "metric":"jvm.JvmMetrics.threadsBlocked",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsNew":{
-        "metric":"jvm.metrics.threadsNew",
+        "metric":"jvm.JvmMetrics.threadsNew",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsRunnable":{
-        "metric":"jvm.metrics.threadsRunnable",
+        "metric":"jvm.JvmMetrics.threadsRunnable",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsTerminated":{
-        "metric":"jvm.metrics.threadsTerminated",
+        "metric":"jvm.JvmMetrics.threadsTerminated",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsTimedWaiting":{
-        "metric":"jvm.metrics.threadsTimedWaiting",
+        "metric":"jvm.JvmMetrics.threadsTimedWaiting",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsWaiting":{
-        "metric":"jvm.metrics.threadsWaiting",
+        "metric":"jvm.JvmMetrics.threadsWaiting",
         "pointInTime":false,
         "temporal":true
       },
@@ -4725,87 +4740,87 @@
         "temporal":true
       },
       "metrics/jvm/gcCount":{
-        "metric":"jvm.metrics.gcCount",
+        "metric":"jvm.JvmMetrics.gcCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/gcTimeMillis":{
-        "metric":"jvm.metrics.gcTimeMillis",
+        "metric":"jvm.JvmMetrics.gcTimeMillis",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/logError":{
-        "metric":"jvm.metrics.logError",
+        "metric":"jvm.JvmMetrics.logError",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logFatal":{
-        "metric":"jvm.metrics.logFatal",
+        "metric":"jvm.JvmMetrics.logFatal",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logInfo":{
-        "metric":"jvm.metrics.logInfo",
+        "metric":"jvm.JvmMetrics.logInfo",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logWarn":{
-        "metric":"jvm.metrics.logWarn",
+        "metric":"jvm.JvmMetrics.logWarn",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/maxMemoryM":{
-        "metric":"jvm.metrics.maxMemoryM",
+        "metric":"jvm.JvmMetrics.maxMemoryM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapCommittedM":{
-        "metric":"jvm.metrics.memHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapUsedM":{
-        "metric":"jvm.metrics.memHeapUsedM",
+        "metric":"jvm.JvmMetrics.memHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapCommittedM":{
-        "metric":"jvm.metrics.memNonHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memNonHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapUsedM":{
-        "metric":"jvm.metrics.memNonHeapUsedM",
+        "metric":"jvm.JvmMetrics.memNonHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsBlocked":{
-        "metric":"jvm.metrics.threadsBlocked",
+        "metric":"jvm.JvmMetrics.threadsBlocked",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsNew":{
-        "metric":"jvm.metrics.threadsNew",
+        "metric":"jvm.JvmMetrics.threadsNew",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsRunnable":{
-        "metric":"jvm.metrics.threadsRunnable",
+        "metric":"jvm.JvmMetrics.threadsRunnable",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTerminated":{
-        "metric":"jvm.metrics.threadsTerminated",
+        "metric":"jvm.JvmMetrics.threadsTerminated",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTimedWaiting":{
-        "metric":"jvm.metrics.threadsTimedWaiting",
+        "metric":"jvm.JvmMetrics.threadsTimedWaiting",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsWaiting":{
-        "metric":"jvm.metrics.threadsWaiting",
+        "metric":"jvm.JvmMetrics.threadsWaiting",
         "pointInTime":true,
         "temporal":true
       },
@@ -6282,112 +6297,112 @@
         "temporal":true
       },
       "metrics/hbase/master/cluster_requests":{
-        "metric":"hbase.master.cluster_requests",
+        "metric":"master.Server.clusterRequests",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/hbase/master/splitSize_avg_time":{
-        "metric":"hbase.master.splitSize_avg_time",
+        "metric":"master.FileSystem.HlogSplitSize_mean",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/master/splitSize_num_ops":{
-        "metric":"hbase.master.splitSize_num_ops",
+        "metric":"master.FileSystem.HlogSplitSize_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/master/splitTime_avg_time":{
-        "metric":"hbase.master.splitTime_avg_time",
+        "metric":"master.FileSystem.HlogSplitTime_mean",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/master/splitTime_num_ops":{
-        "metric":"hbase.master.splitTime_num_ops",
+        "metric":"master.FileSystem.HlogSplitTime_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/gcCount":{
-        "metric":"jvm.metrics.gcCount",
+        "metric":"jvm.JvmMetrics.gcCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/gcTimeMillis":{
-        "metric":"jvm.metrics.gcTimeMillis",
+        "metric":"jvm.JvmMetrics.gcTimeMillis",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logError":{
-        "metric":"jvm.metrics.logError",
+        "metric":"jvm.JvmMetrics.logError",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logFatal":{
-        "metric":"jvm.metrics.logFatal",
+        "metric":"jvm.JvmMetrics.logFatal",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logInfo":{
-        "metric":"jvm.metrics.logInfo",
+        "metric":"jvm.JvmMetrics.logInfo",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logWarn":{
-        "metric":"jvm.metrics.logWarn",
+        "metric":"jvm.JvmMetrics.logWarn",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/maxMemoryM":{
-        "metric":"jvm.metrics.maxMemoryM",
+        "metric":"jvm.JvmMetrics.maxMemoryM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapCommittedM":{
-        "metric":"jvm.metrics.memHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapUsedM":{
-        "metric":"jvm.metrics.memHeapUsedM",
+        "metric":"jvm.JvmMetrics.memHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapCommittedM":{
-        "metric":"jvm.metrics.memNonHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memNonHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapUsedM":{
-        "metric":"jvm.metrics.memNonHeapUsedM",
+        "metric":"jvm.JvmMetrics.memNonHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsBlocked":{
-        "metric":"jvm.metrics.threadsBlocked",
+        "metric":"jvm.JvmMetrics.threadsBlocked",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsNew":{
-        "metric":"jvm.metrics.threadsNew",
+        "metric":"jvm.JvmMetrics.threadsNew",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsRunnable":{
-        "metric":"jvm.metrics.threadsRunnable",
+        "metric":"jvm.JvmMetrics.threadsRunnable",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTerminated":{
-        "metric":"jvm.metrics.threadsTerminated",
+        "metric":"jvm.JvmMetrics.threadsTerminated",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTimedWaiting":{
-        "metric":"jvm.metrics.threadsTimedWaiting",
+        "metric":"jvm.JvmMetrics.threadsTimedWaiting",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsWaiting":{
-        "metric":"jvm.metrics.threadsWaiting",
+        "metric":"jvm.JvmMetrics.threadsWaiting",
         "pointInTime":true,
         "temporal":true
       },
@@ -7405,87 +7420,87 @@
         "temporal":true
       },
       "metrics/jvm/gcCount":{
-        "metric":"jvm.metrics.gcCount",
+        "metric":"jvm.JvmMetrics.gcCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/gcTimeMillis":{
-        "metric":"jvm.metrics.gcTimeMillis",
+        "metric":"jvm.JvmMetrics.gcTimeMillis",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logError":{
-        "metric":"jvm.metrics.logError",
+        "metric":"jvm.JvmMetrics.logError",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logFatal":{
-        "metric":"jvm.metrics.logFatal",
+        "metric":"jvm.JvmMetrics.logFatal",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logInfo":{
-        "metric":"jvm.metrics.logInfo",
+        "metric":"jvm.JvmMetrics.logInfo",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logWarn":{
-        "metric":"jvm.metrics.logWarn",
+        "metric":"jvm.JvmMetrics.logWarn",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/maxMemoryM":{
-        "metric":"jvm.metrics.maxMemoryM",
+        "metric":"jvm.JvmMetrics.maxMemoryM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapCommittedM":{
-        "metric":"jvm.metrics.memHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapUsedM":{
-        "metric":"jvm.metrics.memHeapUsedM",
+        "metric":"jvm.JvmMetrics.memHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapCommittedM":{
-        "metric":"jvm.metrics.memNonHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memNonHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapUsedM":{
-        "metric":"jvm.metrics.memNonHeapUsedM",
+        "metric":"jvm.JvmMetrics.memNonHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsBlocked":{
-        "metric":"jvm.metrics.threadsBlocked",
+        "metric":"jvm.JvmMetrics.threadsBlocked",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsNew":{
-        "metric":"jvm.metrics.threadsNew",
+        "metric":"jvm.JvmMetrics.threadsNew",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsRunnable":{
-        "metric":"jvm.metrics.threadsRunnable",
+        "metric":"jvm.JvmMetrics.threadsRunnable",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTerminated":{
-        "metric":"jvm.metrics.threadsTerminated",
+        "metric":"jvm.JvmMetrics.threadsTerminated",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTimedWaiting":{
-        "metric":"jvm.metrics.threadsTimedWaiting",
+        "metric":"jvm.JvmMetrics.threadsTimedWaiting",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsWaiting":{
-        "metric":"jvm.metrics.threadsWaiting",
+        "metric":"jvm.JvmMetrics.threadsWaiting",
         "pointInTime":true,
         "temporal":true
       },
@@ -8937,497 +8952,497 @@
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheCount":{
-        "metric":"hbase.regionserver.blockCacheCount",
+        "metric":"regionserver.Server.blockCacheCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheEvictedCount":{
-        "metric":"hbase.regionserver.blockCacheEvictedCount",
+        "metric":"regionserver.Server.blockCacheEvictedCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheFree":{
-        "metric":"hbase.regionserver.blockCacheFree",
+        "metric":"regionserver.Server.blockCacheFree",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheHitCachingRatio":{
-        "metric":"hbase.regionserver.blockCacheHitCachingRatio",
+        "metric":"regionserver.Server.blockCacheHitCachingRatio",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheHitCount":{
-        "metric":"hbase.regionserver.blockCacheHitCount",
+        "metric":"regionserver.Server.blockCacheHitCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheHitRatio":{
-        "metric":"hbase.regionserver.blockCacheHitRatio",
+        "metric":"regionserver.Server.blockCacheHitRatio",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheMissCount":{
-        "metric":"hbase.regionserver.blockCacheMissCount",
+        "metric":"regionserver.Server.blockCacheMissCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheSize":{
-        "metric":"hbase.regionserver.blockCacheSize",
+        "metric":"regionserver.Server.blockCacheSize",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/compactionQueueSize":{
-        "metric":"hbase.regionserver.compactionQueueSize",
+        "metric":"regionserver.Server.compactionQueueLength",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/compactionSize_avg_time":{
-        "metric":"hbase.regionserver.compactionSize_avg_time",
+        "metric":"regionserver.Server.compactionSize_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/compactionSize_num_ops":{
-        "metric":"hbase.regionserver.compactionSize_num_ops",
+        "metric":"regionserver.Server.compactionSize_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/compactionTime_avg_time":{
-        "metric":"hbase.regionserver.compactionTime_avg_time",
+        "metric":"regionserver.Server.compactionTime_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/compactionTime_num_ops":{
-        "metric":"hbase.regionserver.compactionTime_num_ops",
+        "metric":"regionserver.Server.compactionTime_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_75th_percentile":{
-        "metric":"hbase.regionserver.deleteRequestLatency_75th_percentile",
+        "metric":"regionserver.Server.deleteRequestLatency_75th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_95th_percentile":{
-        "metric":"hbase.regionserver.deleteRequestLatency_95th_percentile",
+        "metric":"regionserver.Server.deleteRequestLatency_95th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_99th_percentile":{
-        "metric":"hbase.regionserver.deleteRequestLatency_99th_percentile",
+        "metric":"regionserver.Server.deleteRequestLatency_99th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_max":{
-        "metric":"hbase.regionserver.deleteRequestLatency_max",
+        "metric":"regionserver.Server.deleteRequestLatency_max",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_mean":{
-        "metric":"hbase.regionserver.deleteRequestLatency_mean",
+        "metric":"regionserver.Server.deleteRequestLatency_mean",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_median":{
-        "metric":"hbase.regionserver.deleteRequestLatency_median",
+        "metric":"regionserver.Server.deleteRequestLatency_median",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_min":{
-        "metric":"hbase.regionserver.deleteRequestLatency_min",
+        "metric":"regionserver.Server.deleteRequestLatency_min",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_num_ops":{
-        "metric":"hbase.regionserver.deleteRequestLatency_num_ops",
+        "metric":"regionserver.Server.deleteRequestLatency_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_std_dev":{
-        "metric":"hbase.regionserver.deleteRequestLatency_std_dev",
+        "metric":"regionserver.Server.deleteRequestLatency_std_dev",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/flushQueueSize":{
-        "metric":"hbase.regionserver.flushQueueSize",
+        "metric":"regionserver.Server.flushQueueLength",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/flushSize_avg_time":{
-        "metric":"hbase.regionserver.flushSize_avg_time",
+        "metric":"regionserver.Server.flushSize_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/flushSize_num_ops":{
-        "metric":"hbase.regionserver.flushSize_num_ops",
+        "metric":"regionserver.Server.flushSize_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/flushTime_avg_time":{
-        "metric":"hbase.regionserver.flushTime_avg_time",
+        "metric":"regionserver.Server.flushTime_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/flushTime_num_ops":{
-        "metric":"hbase.regionserver.flushTime_num_ops",
+        "metric":"regionserver.Server.flushTime_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_75th_percentile":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_75th_percentile",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_75th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_95th_percentile":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_95th_percentile",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_95th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_99th_percentile":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_99th_percentile",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_99th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_max":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_max",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_max",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_mean":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_mean",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_mean",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_median":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_median",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_median",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_min":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_min",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_min",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_num_ops":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_num_ops",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_std_dev":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_std_dev",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_std_dev",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatency_avg_time":{
-        "metric":"hbase.regionserver.fsReadLatency_avg_time",
+        "metric":"regionserver.Server.fsReadLatency_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatency_num_ops":{
-        "metric":"hbase.regionserver.fsReadLatency_num_ops",
+        "metric":"regionserver.Server.fsReadLatency_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsSyncLatency_avg_time":{
-        "metric":"hbase.regionserver.fsSyncLatency_avg_time",
+        "metric":"regionserver.Server.fsSyncLatency_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsSyncLatency_num_ops":{
-        "metric":"hbase.regionserver.fsSyncLatency_num_ops",
+        "metric":"regionserver.Server.fsSyncLatency_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_75th_percentile":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_75th_percentile",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_75th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_95th_percentile":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_95th_percentile",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_95th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_99th_percentile":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_99th_percentile",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_99th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_max":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_max",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_max",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_mean":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_mean",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_mean",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_median":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_median",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_median",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_min":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_min",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_min",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_num_ops":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_num_ops",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_std_dev":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_std_dev",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_std_dev",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatency_avg_time":{
-        "metric":"hbase.regionserver.fsWriteLatency_avg_time",
+        "metric":"regionserver.Server.fsWriteLatency_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatency_num_ops":{
-        "metric":"hbase.regionserver.fsWriteLatency_num_ops",
+        "metric":"regionserver.Server.fsWriteLatency_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_75th_percentile":{
-        "metric":"hbase.regionserver.getRequestLatency_75th_percentile",
+        "metric":"regionserver.Server.getRequestLatency_75th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_95th_percentile":{
-        "metric":"hbase.regionserver.getRequestLatency_95th_percentile",
+        "metric":"regionserver.Server.getRequestLatency_95th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_99th_percentile":{
-        "metric":"hbase.regionserver.getRequestLatency_99th_percentile",
+        "metric":"regionserver.Server.getRequestLatency_99th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_max":{
-        "metric":"hbase.regionserver.getRequestLatency_max",
+        "metric":"regionserver.Server.getRequestLatency_max",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_mean":{
-        "metric":"hbase.regionserver.getRequestLatency_mean",
+        "metric":"regionserver.Server.getRequestLatency_mean",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_median":{
-        "metric":"hbase.regionserver.getRequestLatency_median",
+        "metric":"regionserver.Server.getRequestLatency_median",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_min":{
-        "metric":"hbase.regionserver.getRequestLatency_min",
+        "metric":"regionserver.Server.getRequestLatency_min",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_num_ops":{
-        "metric":"hbase.regionserver.getRequestLatency_num_ops",
+        "metric":"regionserver.Server.getRequestLatency_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_std_dev":{
-        "metric":"hbase.regionserver.getRequestLatency_std_dev",
+        "metric":"regionserver.Server.getRequestLatency_std_dev",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/hdfsBlocksLocalityIndex":{
-        "metric":"hbase.regionserver.hdfsBlocksLocalityIndex",
+        "metric":"regionserver.Server.hdfsBlocksLocalityIndex",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/hlogFileCount":{
-        "metric":"hbase.regionserver.hlogFileCount",
+        "metric":"regionserver.Server.hlogFileCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/memstoreSizeMB":{
-        "metric":"hbase.regionserver.memstoreSizeMB",
+        "metric":"regionserver.Server.memstoreSizeMB",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_75th_percentile":{
-        "metric":"hbase.regionserver.putRequestLatency_75th_percentile",
+        "metric":"regionserver.Server.putRequestLatency_75th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_95th_percentile":{
-        "metric":"hbase.regionserver.putRequestLatency_95th_percentile",
+        "metric":"regionserver.Server.putRequestLatency_95th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_99th_percentile":{
-        "metric":"hbase.regionserver.putRequestLatency_99th_percentile",
+        "metric":"regionserver.Server.putRequestLatency_99th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_max":{
-        "metric":"hbase.regionserver.putRequestLatency_max",
+        "metric":"regionserver.Server.putRequestLatency_max",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_mean":{
-        "metric":"hbase.regionserver.putRequestLatency_mean",
+        "metric":"regionserver.Server.putRequestLatency_mean",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_median":{
-        "metric":"hbase.regionserver.putRequestLatency_median",
+        "metric":"regionserver.Server.putRequestLatency_median",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_min":{
-        "metric":"hbase.regionserver.putRequestLatency_min",
+        "metric":"regionserver.Server.putRequestLatency_min",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_num_ops":{
-        "metric":"hbase.regionserver.putRequestLatency_num_ops",
+        "metric":"regionserver.Server.putRequestLatency_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_std_dev":{
-        "metric":"hbase.regionserver.putRequestLatency_std_dev",
+        "metric":"regionserver.Server.putRequestLatency_std_dev",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/readRequestsCount":{
-        "metric":"hbase.regionserver.readRequestsCount",
+        "metric":"regionserver.Server.readRequestCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/regions":{
-        "metric":"hbase.regionserver.regions",
+        "metric":"regionserver.Server.regionCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/requests":{
-        "metric":"hbase.regionserver.requests",
+        "metric":"regionserver.Server.requests",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/rootIndexSizeKB":{
-        "metric":"hbase.regionserver.rootIndexSizeKB",
+        "metric":"regionserver.Server.rootIndexSizeKB",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/storefileIndexSizeMB":{
-        "metric":"hbase.regionserver.storefileIndexSizeMB",
+        "metric":"regionserver.Server.storefileIndexSizeMB",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/storefiles":{
-        "metric":"hbase.regionserver.storefiles",
+        "metric":"regionserver.Server.storefiles",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/stores":{
-        "metric":"hbase.regionserver.stores",
+        "metric":"regionserver.Server.stores",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/totalStaticBloomSizeKB":{
-        "metric":"hbase.regionserver.totalStaticBloomSizeKB",
+        "metric":"regionserver.Server.totalStaticBloomSizeKB",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/totalStaticIndexSizeKB":{
-        "metric":"hbase.regionserver.totalStaticIndexSizeKB",
+        "metric":"regionserver.Server.totalStaticIndexSizeKB",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/writeRequestsCount":{
-        "metric":"hbase.regionserver.writeRequestsCount",
+        "metric":"regionserver.Server.writeRequestCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/gcCount":{
-        "metric":"jvm.metrics.gcCount",
+        "metric":"jvm.JvmMetrics.gcCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/gcTimeMillis":{
-        "metric":"jvm.metrics.gcTimeMillis",
+        "metric":"jvm.JvmMetrics.gcTimeMillis",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logError":{
-        "metric":"jvm.metrics.logError",
+        "metric":"jvm.JvmMetrics.logError",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logFatal":{
-        "metric":"jvm.metrics.logFatal",
+        "metric":"jvm.JvmMetrics.logFatal",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logInfo":{
-        "metric":"jvm.metrics.logInfo",
+        "metric":"jvm.JvmMetrics.logInfo",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logWarn":{
-        "metric":"jvm.metrics.logWarn",
+        "metric":"jvm.JvmMetrics.logWarn",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/maxMemoryM":{
-        "metric":"jvm.metrics.maxMemoryM",
+        "metric":"jvm.JvmMetrics.maxMemoryM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapCommittedM":{
-        "metric":"jvm.metrics.memHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapUsedM":{
-        "metric":"jvm.metrics.memHeapUsedM",
+        "metric":"jvm.JvmMetrics.memHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapCommittedM":{
-        "metric":"jvm.metrics.memNonHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memNonHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapUsedM":{
-        "metric":"jvm.metrics.memNonHeapUsedM",
+        "metric":"jvm.JvmMetrics.memNonHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsBlocked":{
-        "metric":"jvm.metrics.threadsBlocked",
+        "metric":"jvm.JvmMetrics.threadsBlocked",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsNew":{
-        "metric":"jvm.metrics.threadsNew",
+        "metric":"jvm.JvmMetrics.threadsNew",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsRunnable":{
-        "metric":"jvm.metrics.threadsRunnable",
+        "metric":"jvm.JvmMetrics.threadsRunnable",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTerminated":{
-        "metric":"jvm.metrics.threadsTerminated",
+        "metric":"jvm.JvmMetrics.threadsTerminated",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTimedWaiting":{
-        "metric":"jvm.metrics.threadsTimedWaiting",
+        "metric":"jvm.JvmMetrics.threadsTimedWaiting",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsWaiting":{
-        "metric":"jvm.metrics.threadsWaiting",
+        "metric":"jvm.JvmMetrics.threadsWaiting",
         "pointInTime":true,
         "temporal":true
       },
@@ -10844,87 +10859,87 @@
         "temporal":true
       },
       "metrics/jvm/gcCount":{
-        "metric":"jvm.metrics.gcCount",
+        "metric":"jvm.JvmMetrics.gcCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/gcTimeMillis":{
-        "metric":"jvm.metrics.gcTimeMillis",
+        "metric":"jvm.JvmMetrics.gcTimeMillis",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logError":{
-        "metric":"jvm.metrics.logError",
+        "metric":"jvm.JvmMetrics.logError",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logFatal":{
-        "metric":"jvm.metrics.logFatal",
+        "metric":"jvm.JvmMetrics.logFatal",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logInfo":{
-        "metric":"jvm.metrics.logInfo",
+        "metric":"jvm.JvmMetrics.logInfo",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logWarn":{
-        "metric":"jvm.metrics.logWarn",
+        "metric":"jvm.JvmMetrics.logWarn",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/maxMemoryM":{
-        "metric":"jvm.metrics.maxMemoryM",
+        "metric":"jvm.JvmMetrics.maxMemoryM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapCommittedM":{
-        "metric":"jvm.metrics.memHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapUsedM":{
-        "metric":"jvm.metrics.memHeapUsedM",
+        "metric":"jvm.JvmMetrics.memHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapCommittedM":{
-        "metric":"jvm.metrics.memNonHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memNonHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapUsedM":{
-        "metric":"jvm.metrics.memNonHeapUsedM",
+        "metric":"jvm.JvmMetrics.memNonHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsBlocked":{
-        "metric":"jvm.metrics.threadsBlocked",
+        "metric":"jvm.JvmMetrics.threadsBlocked",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsNew":{
-        "metric":"jvm.metrics.threadsNew",
+        "metric":"jvm.JvmMetrics.threadsNew",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsRunnable":{
-        "metric":"jvm.metrics.threadsRunnable",
+        "metric":"jvm.JvmMetrics.threadsRunnable",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTerminated":{
-        "metric":"jvm.metrics.threadsTerminated",
+        "metric":"jvm.JvmMetrics.threadsTerminated",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTimedWaiting":{
-        "metric":"jvm.metrics.threadsTimedWaiting",
+        "metric":"jvm.JvmMetrics.threadsTimedWaiting",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsWaiting":{
-        "metric":"jvm.metrics.threadsWaiting",
+        "metric":"jvm.JvmMetrics.threadsWaiting",
         "pointInTime":true,
         "temporal":true
       },
@@ -11949,8 +11964,8 @@
         "pointInTime": true,
         "temporal": true
       },
-      "metrics/yarn/Queue/$1.replaceAll(\"([.])\",\"/\")/AppsCompleted": {
-        "metric": "yarn.QueueMetrics.Queue=(.+).AppsCompleted",
+      "metrics/yarn/Queue/$1/AppsCompleted": {
+        "metric": "yarn.QueueMetrics.Queue:(.+),.AppsCompleted",
         "pointInTime": false,
         "temporal": true
       },
@@ -11979,8 +11994,8 @@
         "pointInTime": false,
         "temporal": true
       },
-      "metrics/yarn/Queue/$1.replaceAll(\"([.])\",\"/\")/AppsSubmitted": {
-        "metric": "yarn.QueueMetrics.Queue=(.+).AppsSubmitted",
+      "metrics/yarn/Queue/$1/AppsSubmitted": {
+        "metric": "yarn.QueueMetrics.Queue:(.+),.AppsSubmitted",
         "pointInTime": false,
         "temporal": true
       },
@@ -11999,8 +12014,8 @@
         "pointInTime": false,
         "temporal": true
       },
-      "metrics/yarn/Queue/$1.replaceAll(\"([.])\",\"/\")/AllocatedContainers": {
-        "metric": "yarn.QueueMetrics.Queue=(.+).AllocatedContainers",
+      "metrics/yarn/Queue/$1/AllocatedContainers": {
+        "metric": "yarn.QueueMetrics.Queue:(.+),.AllocatedContainers",
         "pointInTime": false,
         "temporal": true
       },
@@ -12009,8 +12024,8 @@
         "pointInTime": false,
         "temporal": true
       },
-      "metrics/yarn/Queue/$1.replaceAll(\"([.])\",\"/\")/AppsKilled": {
-        "metric": "yarn.QueueMetrics.Queue=(.+).AppsKilled",
+      "metrics/yarn/Queue/$1/AppsKilled": {
+        "metric": "yarn.QueueMetrics.Queue:(.+),.AppsKilled",
         "pointInTime": false,
         "temporal": true
       },
@@ -12034,8 +12049,8 @@
         "pointInTime": false,
         "temporal": true
       },
-      "metrics/yarn/Queue/$1.replaceAll(\"([.])\",\"/\")/AppsFailed": {
-        "metric": "yarn.QueueMetrics.Queue=(.+).AppsFailed",
+      "metrics/yarn/Queue/$1/AppsFailed": {
+        "metric": "yarn.QueueMetrics.Queue:(.+),.AppsFailed",
         "pointInTime": false,
         "temporal": true
       },
@@ -12079,8 +12094,8 @@
         "pointInTime": false,
         "temporal": true
       },
-      "metrics/yarn/Queue/$1.replaceAll(\"([.])\",\"/\")/AppsRunning": {
-        "metric": "yarn.QueueMetrics.Queue=(.+).AppsRunning",
+      "metrics/yarn/Queue/$1/AppsRunning": {
+        "metric": "yarn.QueueMetrics.Queue:(.+),.AppsRunning",
         "pointInTime": false,
         "temporal": true
       },
@@ -12154,8 +12169,8 @@
         "pointInTime": true,
         "temporal": true
       },
-      "metrics/yarn/Queue/$1.replaceAll(\"([.])\",\"/\")/PendingContainers": {
-        "metric": "yarn.QueueMetrics.Queue=(.+).PendingContainers",
+      "metrics/yarn/Queue/$1/PendingContainers": {
+        "metric": "yarn.QueueMetrics.Queue:(.+),.PendingContainers",
         "pointInTime": false,
         "temporal": true
       },
@@ -12259,13 +12274,13 @@
         "pointInTime": true,
         "temporal": true
       },
-      "metrics/yarn/Queue/$1.replaceAll(\"([.])\",\"/\")/AvailableMB": {
-        "metric": "yarn.QueueMetrics.Queue=(.+).AvailableMB",
+      "metrics/yarn/Queue/$1/AvailableMB": {
+        "metric": "yarn.QueueMetrics.Queue:(.+),.AvailableMB",
         "pointInTime": false,
         "temporal": true
       },
-      "metrics/yarn/Queue/$1.replaceAll(\"([.])\",\"/\")/PendingMB": {
-        "metric": "yarn.QueueMetrics.Queue=(.+).PendingMB",
+      "metrics/yarn/Queue/$1/PendingMB": {
+        "metric": "yarn.QueueMetrics.Queue:(.+),.PendingMB",
         "pointInTime": false,
         "temporal": true
       },
@@ -12304,8 +12319,8 @@
         "pointInTime": true,
         "temporal": true
       },
-      "metrics/yarn/Queue/$1.replaceAll(\"([.])\",\"/\")/AppsPending": {
-        "metric": "yarn.QueueMetrics.Queue=(.+).AppsPending",
+      "metrics/yarn/Queue/$1/AppsPending": {
+        "metric": "yarn.QueueMetrics.Queue:(.+),.AppsPending",
         "pointInTime": false,
         "temporal": true
       },
@@ -12354,8 +12369,8 @@
         "pointInTime": false,
         "temporal": true
       },
-      "metrics/yarn/Queue/$1.replaceAll(\"([.])\",\"/\")/AllocatedMB": {
-        "metric": "yarn.QueueMetrics.Queue=(.+).AllocatedMB",
+      "metrics/yarn/Queue/$1/AllocatedMB": {
+        "metric": "yarn.QueueMetrics.Queue:(.+),.AllocatedMB",
         "pointInTime": false,
         "temporal": true
       },
@@ -12394,8 +12409,8 @@
         "pointInTime": true,
         "temporal": true
       },
-      "metrics/yarn/Queue/$1.replaceAll(\"([.])\",\"/\")/ReservedContainers": {
-        "metric": "yarn.QueueMetrics.Queue=(.+).ReservedContainers",
+      "metrics/yarn/Queue/$1/ReservedContainers": {
+        "metric": "yarn.QueueMetrics.Queue:(.+),.ReservedContainers",
         "pointInTime": false,
         "temporal": true
       }
@@ -12761,6 +12776,11 @@
         "pointInTime": false,
         "temporal": true
       },
+      "metrics/dfs/FSNamesystem/CapacityTotal": {
+        "metric": "dfs.FSNamesystem.CapacityTotal",
+        "pointInTime": false,
+        "temporal": true
+      },
       "metrics/rpcdetailed/setOwner_num_ops": {
         "metric": "rpcdetailed.rpcdetailed.SetOwnerNumOps",
         "pointInTime": true,
@@ -12781,6 +12801,11 @@
         "pointInTime": false,
         "temporal": true
       },
+      "metrics/dfs/FSNamesystem/CapacityUsed": {
+        "metric": "dfs.FSNamesystem.CapacityUsed",
+        "pointInTime": false,
+        "temporal": true
+      },
       "metrics/dfs/namenode/AddBlockOps": {
         "metric": "dfs.namenode.AddBlockOps",
         "pointInTime": false,
@@ -13251,6 +13276,16 @@
         "pointInTime": false,
         "temporal": true
       },
+      "metrics/dfs/FSNamesystem/CapacityRemaining": {
+        "metric": "dfs.FSNamesystem.CapacityRemaining",
+        "pointInTime": false,
+        "temporal": true
+      },
+      "metrics/dfs/FSNamesystem/CapacityNonDFSUsed":{
+         "metric": "dfs.FSNamesystem.CapacityUsedNonDFS",
+         "pointInTime": false,
+         "temporal": true
+      },
       "metrics/dfs/namenode/Transactions_avg_time": {
         "metric": "dfs.namenode.TransactionsAvgTime",
         "pointInTime": false,
@@ -14669,7 +14704,7 @@
         "temporal": true
       },
       "metrics/jvm/maxMemoryM": {
-        "metric": "jvm.metrics.maxMemoryM",
+        "metric": "jvm.JvmMetrics.maxMemoryM",
         "pointInTime": true,
         "temporal": true
       },
@@ -15016,82 +15051,82 @@
         "temporal":true
       },
       "metrics/jvm/gcCount":{
-        "metric":"jvm.metrics.gcCount",
+        "metric":"jvm.JvmMetrics.gcCount",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/gcTimeMillis":{
-        "metric":"jvm.metrics.gcTimeMillis",
+        "metric":"jvm.JvmMetrics.gcTimeMillis",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/logError":{
-        "metric":"jvm.metrics.logError",
+        "metric":"jvm.JvmMetrics.logError",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/logFatal":{
-        "metric":"jvm.metrics.logFatal",
+        "metric":"jvm.JvmMetrics.logFatal",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/logInfo":{
-        "metric":"jvm.metrics.logInfo",
+        "metric":"jvm.JvmMetrics.logInfo",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/logWarn":{
-        "metric":"jvm.metrics.logWarn",
+        "metric":"jvm.JvmMetrics.logWarn",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/memHeapCommittedM":{
-        "metric":"jvm.metrics.memHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memHeapCommittedM",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/memHeapUsedM":{
-        "metric":"jvm.metrics.memHeapUsedM",
+        "metric":"jvm.JvmMetrics.memHeapUsedM",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/memNonHeapCommittedM":{
-        "metric":"jvm.metrics.memNonHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memNonHeapCommittedM",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/memNonHeapUsedM":{
-        "metric":"jvm.metrics.memNonHeapUsedM",
+        "metric":"jvm.JvmMetrics.memNonHeapUsedM",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsBlocked":{
-        "metric":"jvm.metrics.threadsBlocked",
+        "metric":"jvm.JvmMetrics.threadsBlocked",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsNew":{
-        "metric":"jvm.metrics.threadsNew",
+        "metric":"jvm.JvmMetrics.threadsNew",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsRunnable":{
-        "metric":"jvm.metrics.threadsRunnable",
+        "metric":"jvm.JvmMetrics.threadsRunnable",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsTerminated":{
-        "metric":"jvm.metrics.threadsTerminated",
+        "metric":"jvm.JvmMetrics.threadsTerminated",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsTimedWaiting":{
-        "metric":"jvm.metrics.threadsTimedWaiting",
+        "metric":"jvm.JvmMetrics.threadsTimedWaiting",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsWaiting":{
-        "metric":"jvm.metrics.threadsWaiting",
+        "metric":"jvm.JvmMetrics.threadsWaiting",
         "pointInTime":false,
         "temporal":true
       },
@@ -15743,87 +15778,87 @@
         "temporal":true
       },
       "metrics/jvm/gcCount":{
-        "metric":"jvm.metrics.gcCount",
+        "metric":"jvm.JvmMetrics.gcCount",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/gcTimeMillis":{
-        "metric":"jvm.metrics.gcTimeMillis",
+        "metric":"jvm.JvmMetrics.gcTimeMillis",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/logError":{
-        "metric":"jvm.metrics.logError",
+        "metric":"jvm.JvmMetrics.logError",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/logFatal":{
-        "metric":"jvm.metrics.logFatal",
+        "metric":"jvm.JvmMetrics.logFatal",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/logInfo":{
-        "metric":"jvm.metrics.logInfo",
+        "metric":"jvm.JvmMetrics.logInfo",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/logWarn":{
-        "metric":"jvm.metrics.logWarn",
+        "metric":"jvm.JvmMetrics.logWarn",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/maxMemoryM":{
-        "metric":"jvm.metrics.maxMemoryM",
+        "metric":"jvm.JvmMetrics.maxMemoryM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapCommittedM":{
-        "metric":"jvm.metrics.memHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memHeapCommittedM",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/memHeapUsedM":{
-        "metric":"jvm.metrics.memHeapUsedM",
+        "metric":"jvm.JvmMetrics.memHeapUsedM",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/memNonHeapCommittedM":{
-        "metric":"jvm.metrics.memNonHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memNonHeapCommittedM",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/memNonHeapUsedM":{
-        "metric":"jvm.metrics.memNonHeapUsedM",
+        "metric":"jvm.JvmMetrics.memNonHeapUsedM",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsBlocked":{
-        "metric":"jvm.metrics.threadsBlocked",
+        "metric":"jvm.JvmMetrics.threadsBlocked",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsNew":{
-        "metric":"jvm.metrics.threadsNew",
+        "metric":"jvm.JvmMetrics.threadsNew",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsRunnable":{
-        "metric":"jvm.metrics.threadsRunnable",
+        "metric":"jvm.JvmMetrics.threadsRunnable",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsTerminated":{
-        "metric":"jvm.metrics.threadsTerminated",
+        "metric":"jvm.JvmMetrics.threadsTerminated",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsTimedWaiting":{
-        "metric":"jvm.metrics.threadsTimedWaiting",
+        "metric":"jvm.JvmMetrics.threadsTimedWaiting",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/jvm/threadsWaiting":{
-        "metric":"jvm.metrics.threadsWaiting",
+        "metric":"jvm.JvmMetrics.threadsWaiting",
         "pointInTime":false,
         "temporal":true
       },
@@ -17195,112 +17230,112 @@
         "temporal":true
       },
       "metrics/hbase/master/cluster_requests":{
-        "metric":"hbase.master.cluster_requests",
+        "metric":"master.Server.cluster_requests",
         "pointInTime":false,
         "temporal":true
       },
       "metrics/hbase/master/splitSize_avg_time":{
-        "metric":"hbase.master.splitSize_avg_time",
+        "metric":"master.FileSystem.HlogSplitSize_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/master/splitSize_num_ops":{
-        "metric":"hbase.master.splitSize_num_ops",
+        "metric":"master.FileSystem.HlogSplitSize_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/master/splitTime_avg_time":{
-        "metric":"hbase.master.splitTime_avg_time",
+        "metric":"master.FileSystem.HlogSplitTime_mean",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/master/splitTime_num_ops":{
-        "metric":"hbase.master.splitTime_num_ops",
+        "metric":"master.FileSystem.HlogSplitTime_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/gcCount":{
-        "metric":"jvm.metrics.gcCount",
+        "metric":"jvm.JvmMetrics.gcCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/gcTimeMillis":{
-        "metric":"jvm.metrics.gcTimeMillis",
+        "metric":"jvm.JvmMetrics.gcTimeMillis",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logError":{
-        "metric":"jvm.metrics.logError",
+        "metric":"jvm.JvmMetrics.logError",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logFatal":{
-        "metric":"jvm.metrics.logFatal",
+        "metric":"jvm.JvmMetrics.logFatal",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logInfo":{
-        "metric":"jvm.metrics.logInfo",
+        "metric":"jvm.JvmMetrics.logInfo",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logWarn":{
-        "metric":"jvm.metrics.logWarn",
+        "metric":"jvm.JvmMetrics.logWarn",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/maxMemoryM":{
-        "metric":"jvm.metrics.maxMemoryM",
+        "metric":"jvm.JvmMetrics.maxMemoryM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapCommittedM":{
-        "metric":"jvm.metrics.memHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapUsedM":{
-        "metric":"jvm.metrics.memHeapUsedM",
+        "metric":"jvm.JvmMetrics.memHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapCommittedM":{
-        "metric":"jvm.metrics.memNonHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memNonHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapUsedM":{
-        "metric":"jvm.metrics.memNonHeapUsedM",
+        "metric":"jvm.JvmMetrics.memNonHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsBlocked":{
-        "metric":"jvm.metrics.threadsBlocked",
+        "metric":"jvm.JvmMetrics.threadsBlocked",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsNew":{
-        "metric":"jvm.metrics.threadsNew",
+        "metric":"jvm.JvmMetrics.threadsNew",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsRunnable":{
-        "metric":"jvm.metrics.threadsRunnable",
+        "metric":"jvm.JvmMetrics.threadsRunnable",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTerminated":{
-        "metric":"jvm.metrics.threadsTerminated",
+        "metric":"jvm.JvmMetrics.threadsTerminated",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTimedWaiting":{
-        "metric":"jvm.metrics.threadsTimedWaiting",
+        "metric":"jvm.JvmMetrics.threadsTimedWaiting",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsWaiting":{
-        "metric":"jvm.metrics.threadsWaiting",
+        "metric":"jvm.JvmMetrics.threadsWaiting",
         "pointInTime":true,
         "temporal":true
       },
@@ -18317,87 +18352,87 @@
         "temporal":true
       },
       "metrics/jvm/gcCount":{
-        "metric":"jvm.metrics.gcCount",
+        "metric":"jvm.JvmMetrics.gcCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/gcTimeMillis":{
-        "metric":"jvm.metrics.gcTimeMillis",
+        "metric":"jvm.JvmMetrics.gcTimeMillis",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logError":{
-        "metric":"jvm.metrics.logError",
+        "metric":"jvm.JvmMetrics.logError",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logFatal":{
-        "metric":"jvm.metrics.logFatal",
+        "metric":"jvm.JvmMetrics.logFatal",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logInfo":{
-        "metric":"jvm.metrics.logInfo",
+        "metric":"jvm.JvmMetrics.logInfo",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/logWarn":{
-        "metric":"jvm.metrics.logWarn",
+        "metric":"jvm.JvmMetrics.logWarn",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/maxMemoryM":{
-        "metric":"jvm.metrics.maxMemoryM",
+        "metric":"jvm.JvmMetrics.maxMemoryM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapCommittedM":{
-        "metric":"jvm.metrics.memHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memHeapUsedM":{
-        "metric":"jvm.metrics.memHeapUsedM",
+        "metric":"jvm.JvmMetrics.memHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapCommittedM":{
-        "metric":"jvm.metrics.memNonHeapCommittedM",
+        "metric":"jvm.JvmMetrics.memNonHeapCommittedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/memNonHeapUsedM":{
-        "metric":"jvm.metrics.memNonHeapUsedM",
+        "metric":"jvm.JvmMetrics.memNonHeapUsedM",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsBlocked":{
-        "metric":"jvm.metrics.threadsBlocked",
+        "metric":"jvm.JvmMetrics.threadsBlocked",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsNew":{
-        "metric":"jvm.metrics.threadsNew",
+        "metric":"jvm.JvmMetrics.threadsNew",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsRunnable":{
-        "metric":"jvm.metrics.threadsRunnable",
+        "metric":"jvm.JvmMetrics.threadsRunnable",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTerminated":{
-        "metric":"jvm.metrics.threadsTerminated",
+        "metric":"jvm.JvmMetrics.threadsTerminated",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsTimedWaiting":{
-        "metric":"jvm.metrics.threadsTimedWaiting",
+        "metric":"jvm.JvmMetrics.threadsTimedWaiting",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/jvm/threadsWaiting":{
-        "metric":"jvm.metrics.threadsWaiting",
+        "metric":"jvm.JvmMetrics.threadsWaiting",
         "pointInTime":true,
         "temporal":true
       },
@@ -19764,497 +19799,497 @@
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheCount":{
-        "metric":"hbase.regionserver.blockCacheCount",
+        "metric":"regionserver.Server.blockCacheCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheEvictedCount":{
-        "metric":"hbase.regionserver.blockCacheEvictedCount",
+        "metric":"regionserver.Server.blockCacheEvictedCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheFree":{
-        "metric":"hbase.regionserver.blockCacheFree",
+        "metric":"regionserver.Server.blockCacheFree",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheHitCachingRatio":{
-        "metric":"hbase.regionserver.blockCacheHitCachingRatio",
+        "metric":"regionserver.Server.blockCacheHitCachingRatio",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheHitCount":{
-        "metric":"hbase.regionserver.blockCacheHitCount",
+        "metric":"regionserver.Server.blockCacheHitCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheHitRatio":{
-        "metric":"hbase.regionserver.blockCacheHitRatio",
+        "metric":"regionserver.Server.blockCacheHitRatio",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheMissCount":{
-        "metric":"hbase.regionserver.blockCacheMissCount",
+        "metric":"regionserver.Server.blockCacheMissCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/blockCacheSize":{
-        "metric":"hbase.regionserver.blockCacheSize",
+        "metric":"regionserver.Server.blockCacheSize",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/compactionQueueSize":{
-        "metric":"hbase.regionserver.compactionQueueSize",
+        "metric":"regionserver.Server.compactionQueueLength",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/compactionSize_avg_time":{
-        "metric":"hbase.regionserver.compactionSize_avg_time",
+        "metric":"regionserver.Server.compactionSize_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/compactionSize_num_ops":{
-        "metric":"hbase.regionserver.compactionSize_num_ops",
+        "metric":"regionserver.Server.compactionSize_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/compactionTime_avg_time":{
-        "metric":"hbase.regionserver.compactionTime_avg_time",
+        "metric":"regionserver.Server.compactionTime_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/compactionTime_num_ops":{
-        "metric":"hbase.regionserver.compactionTime_num_ops",
+        "metric":"regionserver.Server.compactionTime_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_75th_percentile":{
-        "metric":"hbase.regionserver.deleteRequestLatency_75th_percentile",
+        "metric":"regionserver.Server.deleteRequestLatency_75th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_95th_percentile":{
-        "metric":"hbase.regionserver.deleteRequestLatency_95th_percentile",
+        "metric":"regionserver.Server.deleteRequestLatency_95th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_99th_percentile":{
-        "metric":"hbase.regionserver.deleteRequestLatency_99th_percentile",
+        "metric":"regionserver.Server.deleteRequestLatency_99th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_max":{
-        "metric":"hbase.regionserver.deleteRequestLatency_max",
+        "metric":"regionserver.Server.deleteRequestLatency_max",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_mean":{
-        "metric":"hbase.regionserver.deleteRequestLatency_mean",
+        "metric":"regionserver.Server.deleteRequestLatency_mean",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_median":{
-        "metric":"hbase.regionserver.deleteRequestLatency_median",
+        "metric":"regionserver.Server.deleteRequestLatency_median",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_min":{
-        "metric":"hbase.regionserver.deleteRequestLatency_min",
+        "metric":"regionserver.Server.deleteRequestLatency_min",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_num_ops":{
-        "metric":"hbase.regionserver.deleteRequestLatency_num_ops",
+        "metric":"regionserver.Server.deleteRequestLatency_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/deleteRequestLatency_std_dev":{
-        "metric":"hbase.regionserver.deleteRequestLatency_std_dev",
+        "metric":"regionserver.Server.deleteRequestLatency_std_dev",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/flushQueueSize":{
-        "metric":"hbase.regionserver.flushQueueSize",
+        "metric":"regionserver.Server.flushQueueLength",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/flushSize_avg_time":{
-        "metric":"hbase.regionserver.flushSize_avg_time",
+        "metric":"regionserver.Server.flushSize_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/flushSize_num_ops":{
-        "metric":"hbase.regionserver.flushSize_num_ops",
+        "metric":"regionserver.Server.flushSize_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/flushTime_avg_time":{
-        "metric":"hbase.regionserver.flushTime_avg_time",
+        "metric":"regionserver.Server.flushTime_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/flushTime_num_ops":{
-        "metric":"hbase.regionserver.flushTime_num_ops",
+        "metric":"regionserver.Server.flushTime_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_75th_percentile":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_75th_percentile",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_75th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_95th_percentile":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_95th_percentile",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_95th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_99th_percentile":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_99th_percentile",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_99th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_max":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_max",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_max",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_mean":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_mean",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_mean",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_median":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_median",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_median",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_min":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_min",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_min",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_num_ops":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_num_ops",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatencyHistogram_std_dev":{
-        "metric":"hbase.regionserver.fsReadLatencyHistogram_std_dev",
+        "metric":"regionserver.Server.fsReadLatencyHistogram_std_dev",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatency_avg_time":{
-        "metric":"hbase.regionserver.fsReadLatency_avg_time",
+        "metric":"regionserver.Server.fsReadLatency_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsReadLatency_num_ops":{
-        "metric":"hbase.regionserver.fsReadLatency_num_ops",
+        "metric":"regionserver.Server.fsReadLatency_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsSyncLatency_avg_time":{
-        "metric":"hbase.regionserver.fsSyncLatency_avg_time",
+        "metric":"regionserver.Server.fsSyncLatency_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsSyncLatency_num_ops":{
-        "metric":"hbase.regionserver.fsSyncLatency_num_ops",
+        "metric":"regionserver.Server.fsSyncLatency_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_75th_percentile":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_75th_percentile",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_75th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_95th_percentile":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_95th_percentile",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_95th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_99th_percentile":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_99th_percentile",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_99th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_max":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_max",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_max",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_mean":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_mean",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_mean",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_median":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_median",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_median",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_min":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_min",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_min",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_num_ops":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_num_ops",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatencyHistogram_std_dev":{
-        "metric":"hbase.regionserver.fsWriteLatencyHistogram_std_dev",
+        "metric":"regionserver.Server.fsWriteLatencyHistogram_std_dev",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatency_avg_time":{
-        "metric":"hbase.regionserver.fsWriteLatency_avg_time",
+        "metric":"regionserver.Server.fsWriteLatency_avg_time",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/fsWriteLatency_num_ops":{
-        "metric":"hbase.regionserver.fsWriteLatency_num_ops",
+        "metric":"regionserver.Server.fsWriteLatency_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_75th_percentile":{
-        "metric":"hbase.regionserver.getRequestLatency_75th_percentile",
+        "metric":"regionserver.Server.getRequestLatency_75th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_95th_percentile":{
-        "metric":"hbase.regionserver.getRequestLatency_95th_percentile",
+        "metric":"regionserver.Server.getRequestLatency_95th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_99th_percentile":{
-        "metric":"hbase.regionserver.getRequestLatency_99th_percentile",
+        "metric":"regionserver.Server.getRequestLatency_99th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_max":{
-        "metric":"hbase.regionserver.getRequestLatency_max",
+        "metric":"regionserver.Server.getRequestLatency_max",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_mean":{
-        "metric":"hbase.regionserver.getRequestLatency_mean",
+        "metric":"regionserver.Server.getRequestLatency_mean",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_median":{
-        "metric":"hbase.regionserver.getRequestLatency_median",
+        "metric":"regionserver.Server.getRequestLatency_median",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_min":{
-        "metric":"hbase.regionserver.getRequestLatency_min",
+        "metric":"regionserver.Server.getRequestLatency_min",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_num_ops":{
-        "metric":"hbase.regionserver.getRequestLatency_num_ops",
+        "metric":"regionserver.Server.getRequestLatency_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/getRequestLatency_std_dev":{
-        "metric":"hbase.regionserver.getRequestLatency_std_dev",
+        "metric":"regionserver.Server.getRequestLatency_std_dev",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/hdfsBlocksLocalityIndex":{
-        "metric":"hbase.regionserver.hdfsBlocksLocalityIndex",
+        "metric":"regionserver.Server.hdfsBlocksLocalityIndex",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/hlogFileCount":{
-        "metric":"hbase.regionserver.hlogFileCount",
+        "metric":"regionserver.Server.hlogFileCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/memstoreSizeMB":{
-        "metric":"hbase.regionserver.memstoreSizeMB",
+        "metric":"regionserver.Server.memstoreSizeMB",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_75th_percentile":{
-        "metric":"hbase.regionserver.putRequestLatency_75th_percentile",
+        "metric":"regionserver.Server.putRequestLatency_75th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_95th_percentile":{
-        "metric":"hbase.regionserver.putRequestLatency_95th_percentile",
+        "metric":"regionserver.Server.putRequestLatency_95th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_99th_percentile":{
-        "metric":"hbase.regionserver.putRequestLatency_99th_percentile",
+        "metric":"regionserver.Server.putRequestLatency_99th_percentile",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_max":{
-        "metric":"hbase.regionserver.putRequestLatency_max",
+        "metric":"regionserver.Server.putRequestLatency_max",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_mean":{
-        "metric":"hbase.regionserver.putRequestLatency_mean",
+        "metric":"regionserver.Server.putRequestLatency_mean",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_median":{
-        "metric":"hbase.regionserver.putRequestLatency_median",
+        "metric":"regionserver.Server.putRequestLatency_median",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_min":{
-        "metric":"hbase.regionserver.putRequestLatency_min",
+        "metric":"regionserver.Server.putRequestLatency_min",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_num_ops":{
-        "metric":"hbase.regionserver.putRequestLatency_num_ops",
+        "metric":"regionserver.Server.putRequestLatency_num_ops",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/putRequestLatency_std_dev":{
-        "metric":"hbase.regionserver.putRequestLatency_std_dev",
+        "metric":"regionserver.Server.putRequestLatency_std_dev",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/readRequestsCount":{
-        "metric":"hbase.regionserver.readRequestsCount",
+        "metric":"regionserver.Server.readRequestCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/regions":{
-        "metric":"hbase.regionserver.regions",
+        "metric":"regionserver.Server.regionCount",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/requests":{
-        "metric":"hbase.regionserver.requests",
+        "metric":"regionserver.Server.requests",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/rootIndexSizeKB":{
-        "metric":"hbase.regionserver.rootIndexSizeKB",
+        "metric":"regionserver.Server.rootIndexSizeKB",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/storefileIndexSizeMB":{
-        "metric":"hbase.regionserver.storefileIndexSizeMB",
+        "metric":"regionserver.Server.storefileIndexSizeMB",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/storefiles":{
-        "metric":"hbase.regionserver.storefiles",
+        "metric":"regionserver.Server.storefiles",
         "pointInTime":true,
         "temporal":true
       },
       "metrics/hbase/regionserver/stores":{
-        "metric":"hbase.regionserver.stores",
+        "metric":"regionserver.Server.stores",
         "pointI

<TRUNCATED>