Parcourir la source

AMBARI-9005 Port the AMS service scripts from HDP to HDPWIN (Eugene Chekanskiy via jluniya)

Jayush Luniya il y a 10 ans
Parent
commit
3c202998ef
42 fichiers modifiés avec 906 ajouts et 11120 suppressions
  1. 2 1
      ambari-common/src/main/python/resource_management/libraries/functions/reload_windows_env.py
  2. 1 1
      ambari-common/src/main/python/resource_management/libraries/providers/__init__.py
  3. 66 0
      ambari-common/src/main/python/resource_management/libraries/providers/msi.py
  4. 2 1
      ambari-common/src/main/python/resource_management/libraries/resources/__init__.py
  5. 30 0
      ambari-common/src/main/python/resource_management/libraries/resources/msi.py
  6. 31 34
      ambari-common/src/main/python/resource_management/libraries/script/script.py
  7. 3 2
      ambari-metrics/ambari-metrics-timelineservice/src/main/python/embedded_hbase_service.py
  8. 12 109
      ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractProviderModule.java
  9. 0 63
      ambari-server/src/main/java/org/apache/ambari/server/controller/sql/HostInfoProvider.java
  10. 0 572
      ambari-server/src/main/java/org/apache/ambari/server/controller/sql/SQLPropertyProvider.java
  11. 0 132
      ambari-server/src/main/java/org/apache/ambari/server/controller/sql/SinkConnectionFactory.java
  12. 14 0
      ambari-server/src/main/resources/common-services/AMS/0.1.0/metainfo.xml
  13. 81 0
      ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/ams.py
  14. 11 1
      ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/ams_service.py
  15. 77 8
      ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/hbase.py
  16. 2 2
      ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/metric_collector.py
  17. 2 3
      ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/metric_monitor.py
  18. 7 27
      ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/params.py
  19. 53 0
      ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/params_linux.py
  20. 35 0
      ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/params_windows.py
  21. 21 0
      ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/service_mapping.py
  22. 38 0
      ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/status.py
  23. 1 52
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/configuration/cluster-env.xml
  24. 0 18
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/hooks/after-INSTALL/scripts/hook.py
  25. 9 0
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/hooks/before-START/scripts/hook.py
  26. 17 1
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/hooks/before-START/scripts/params.py
  27. 66 0
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/hooks/before-START/templates/hadoop-metrics2-hbase.properties.j2
  28. 56 0
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/hooks/before-START/templates/hadoop-metrics2.properties.j2
  29. 33 0
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/AMS/configuration/ams-env.xml
  30. 47 0
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/AMS/configuration/ams-hbase-env.xml
  31. 45 0
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/AMS/configuration/ams-hbase-site.xml
  32. 59 0
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/AMS/configuration/ams-log4j.xml
  33. 32 0
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/AMS/configuration/ams-site.xml
  34. 26 0
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/AMS/metainfo.xml
  35. 0 4659
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HBASE/metrics.json
  36. 0 2126
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HDFS/metrics.json
  37. 0 10
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HDFS/package/scripts/hdfs.py
  38. 1 8
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HDFS/package/scripts/params.py
  39. 0 53
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HDFS/package/templates/hadoop-metrics2.properties.j2
  40. 0 99
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/STORM/metrics.json
  41. 0 3138
      ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/YARN/metrics.json
  42. 26 0
      ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/AMS/metainfo.xml

+ 2 - 1
ambari-common/src/main/python/resource_management/libraries/functions/reload_windows_env.py

@@ -30,7 +30,8 @@ default_whitelist = ["FALCON_CONF_DIR", "FALCON_DATA_DIR", "FALCON_HOME", "FALCO
                      "HIVE_OPTS", "KNOX_CONF_DIR", "KNOX_HOME", "KNOX_LOG_DIR", "MAHOUT_HOME", "OOZIE_DATA",
                      "OOZIE_HOME", "OOZIE_LOG", "OOZIE_ROOT", "PIG_HOME", "SQOOP_HOME", "STORM_CONF_DIR", "STORM_HOME",
                      "STORM_LOG_DIR", "WEBHCAT_CONF_DIR", "YARN_LOG_DIR", "ZOOKEEPER_CONF_DIR", "ZOOKEEPER_HOME",
-                     "ZOOKEEPER_LIB_DIR", "ZOO_LOG_DIR"]
+                     "ZOOKEEPER_LIB_DIR", "ZOO_LOG_DIR", "COLLECTOR_CONF_DIR", "COLLECTOR_HOME", "MONITOR_CONF_DIR",
+                     "MONITOR_HOME", "SINK_HOME"]
 def reload_windows_env(keys_white_list=default_whitelist):
   root = HKEY_LOCAL_MACHINE
   subkey = r'SYSTEM\CurrentControlSet\Control\Session Manager\Environment'

+ 1 - 1
ambari-common/src/main/python/resource_management/libraries/providers/__init__.py

@@ -31,7 +31,7 @@ PROVIDERS = dict(
     Repository="resource_management.libraries.providers.repository.UbuntuRepositoryProvider",
   ),
   winsrv=dict(
-
+    Msi="resource_management.libraries.providers.msi.MsiProvider"
   ),
   default=dict(
     ExecuteHadoop="resource_management.libraries.providers.execute_hadoop.ExecuteHadoopProvider",

+ 66 - 0
ambari-common/src/main/python/resource_management/libraries/providers/msi.py

@@ -0,0 +1,66 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Ambari Agent
+"""
+
+
+from resource_management import *
+import urlparse
+from ambari_commons.inet_utils import download_file
+import os
+
+class MsiProvider(Provider):
+  MSI_INSTALL_COMMAND = "cmd /C start /wait msiexec /qn /i {msi_file_path} /lv {log_file_path}{list_args_str}{dict_args_str}"
+
+  def action_install(self):
+    name = self.resource.msi_name
+    msi_file_path = name
+    dict_args = self.resource.dict_args
+    list_args = self.resource.list_args
+    working_dir = os.path.abspath(Script.get_config()["hostLevelParams"]["agentCacheDir"])
+    http_source = self.resource.http_source
+
+    # name can be a path to file in local file system
+    msi_filename = os.path.split(name)[1]
+    log_file_path = os.path.join(working_dir, msi_filename) + ".log"
+    marker_file = os.path.join(working_dir, msi_filename) + ".installed"
+
+    # build string from passed arguments to Msi resource
+    dict_args_str = ' ALLUSERS="1"'
+    for k, v in dict_args.iteritems():
+      dict_args_str += " " + str(k)+"="+str(v)
+    list_args_str = ''
+    for a in list_args:
+      list_args_str += " /" + str(a)
+
+    # if http source present we download msi and then execute it
+    if http_source:
+      download_url = urlparse.urljoin(http_source, name)
+      msi_file_path = os.path.join(working_dir, msi_filename)
+      download_file(download_url, msi_file_path)
+    if not os.path.exists(marker_file):
+      Execute(MsiProvider.MSI_INSTALL_COMMAND.format(msi_file_path=msi_file_path,
+                                                     log_file_path=log_file_path,
+                                                     dict_args_str=dict_args_str,
+                                                     list_args_str=list_args_str).rstrip())
+      # writing marker file to not install new msi later
+      open(marker_file,"w").close()
+
+  def action_uninstall(self):
+    pass
+

+ 2 - 1
ambari-common/src/main/python/resource_management/libraries/resources/__init__.py

@@ -27,4 +27,5 @@ from resource_management.libraries.resources.properties_file import *
 from resource_management.libraries.resources.repository import *
 from resource_management.libraries.resources.monitor_webserver import *
 from resource_management.libraries.resources.hdfs_directory import *
-from resource_management.libraries.resources.copy_from_local import *
+from resource_management.libraries.resources.copy_from_local import *
+from resource_management.libraries.resources.msi import *

+ 30 - 0
ambari-common/src/main/python/resource_management/libraries/resources/msi.py

@@ -0,0 +1,30 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Ambari Agent
+"""
+
+_all__ = ["Msi"]
+from resource_management.core.base import Resource, ForcedListArgument, ResourceArgument
+
+class Msi(Resource):
+  action = ForcedListArgument(default="install")
+  msi_name = ResourceArgument(default=lambda obj: obj.name)
+  http_source = ResourceArgument(default=None)
+  dict_args = ResourceArgument(default={})
+  list_args = ResourceArgument(default={})
+  actions = Resource.actions + ["install", "uninstall"]

+ 31 - 34
ambari-common/src/main/python/resource_management/libraries/script/script.py

@@ -26,7 +26,7 @@ import sys
 import json
 import logging
 import platform
-
+from ambari_commons.os_check import OSCheck
 from resource_management.libraries.resources import XmlConfig
 from resource_management.libraries.resources import PropertiesFile
 from resource_management.core.resources import File, Directory
@@ -39,11 +39,11 @@ from resource_management.libraries.functions.version_select_util import get_comp
 from resource_management.libraries.functions.version import compare_versions
 from resource_management.libraries.script.config_dictionary import ConfigDictionary, UnknownConfiguration
 
-IS_WINDOWS = platform.system() == "Windows"
-if IS_WINDOWS:
+if OSCheck.is_windows_family():
   from resource_management.libraries.functions.install_hdp_msi import install_windows_msi
   from resource_management.libraries.functions.reload_windows_env import reload_windows_env
   from resource_management.libraries.functions.zip_archive import archive_dir
+  from resource_management.libraries.resources import Msi
 else:
   from resource_management.libraries.functions.tar_archive import archive_dir
 
@@ -160,7 +160,7 @@ class Script(object):
     # on windows we need to reload some of env variables manually because there is no default paths for configs(like
     # /etc/something/conf on linux. When this env vars created by one of the Script execution, they can not be updated
     # in agent, so other Script executions will not be able to access to new env variables
-    if platform.system() == "Windows":
+    if OSCheck.is_windows_family():
       reload_windows_env()
 
     try:
@@ -243,41 +243,37 @@ class Script(object):
     """
     self.install_packages(env)
 
-
-  if not IS_WINDOWS:
-    def install_packages(self, env, exclude_packages=[]):
-      """
-      List of packages that are required< by service is received from the server
-      as a command parameter. The method installs all packages
-      from this list
-      """
-      config = self.get_config()
-      try:
-        package_list_str = config['hostLevelParams']['package_list']
-        if isinstance(package_list_str, basestring) and len(package_list_str) > 0:
-          package_list = json.loads(package_list_str)
-          for package in package_list:
-            if not package['name'] in exclude_packages:
-              name = package['name']
+  def install_packages(self, env, exclude_packages=[]):
+    """
+    List of packages that are required< by service is received from the server
+    as a command parameter. The method installs all packages
+    from this list
+    """
+    config = self.get_config()
+    try:
+      package_list_str = config['hostLevelParams']['package_list']
+      if isinstance(package_list_str, basestring) and len(package_list_str) > 0:
+        package_list = json.loads(package_list_str)
+        for package in package_list:
+          if not package['name'] in exclude_packages:
+            name = package['name']
+            if OSCheck.is_windows_family():
+              if name[-4:] == ".msi":
+                #TODO all msis must be located in resource folder of server, change it to repo later
+                Msi(name, http_source=os.path.join(config['hostLevelParams']['jdk_location']))
+            else:
               Package(name)
-      except KeyError:
-        pass  # No reason to worry
-
-        # RepoInstaller.remove_repos(config)
-      pass
-  else:
-    def install_packages(self, env, exclude_packages=[]):
-      """
-      List of packages that are required< by service is received from the server
-      as a command parameter. The method installs all packages
-      from this list
-      """
-      config = self.get_config()
+    except KeyError:
+      pass  # No reason to worry
 
+    if OSCheck.is_windows_family():
+      #TODO hacky install of windows msi, remove it or move to old(2.1) stack definition when component based install will be implemented
       install_windows_msi(os.path.join(config['hostLevelParams']['jdk_location'], "hdp.msi"),
                           config["hostLevelParams"]["agentCacheDir"], "hdp.msi", self.get_password("hadoop"),
                           str(config['hostLevelParams']['stack_version']))
-      pass
+      reload_windows_env()
+    # RepoInstaller.remove_repos(config)
+    pass
 
   def fail_with_error(self, message):
     """
@@ -287,6 +283,7 @@ class Script(object):
     sys.stderr.write("Error: " + message)
     sys.exit(1)
 
+
   def start(self, env, rolling_restart=False):
     """
     To be overridden by subclasses

+ 3 - 2
ambari-metrics/ambari-metrics-timelineservice/src/main/python/embedded_hbase_service.py

@@ -30,6 +30,7 @@ from ambari_metrics_collector.serviceConfiguration import EMBEDDED_HBASE_MASTER_
 
 MASTER_JVM_ARGS = '{0} ' \
   '"-XX:+UseConcMarkSweepGC" "-Djava.net.preferIPv4Stack=true" ' \
+  '-Djava.library.path="{6}" ' \
   '-Dhadoop.home.dir="{1}" -Dhbase.log.dir="{2}" -Dhbase.log.file={3} -Dhbase.home.dir="{1}" -Dhbase.id.str="{4}" ' \
   '-Dhbase.root.logger="INFO,DRFA" -Dhbase.security.logger="INFO,RFAS" ' \
   '-classpath "{5}" org.apache.hadoop.hbase.master.HMaster start'
@@ -44,7 +45,7 @@ def _build_master_java_args(username = None):
   hbase_log_dir = os.path.join(os.sep, "var", "log", EMBEDDED_HBASE_MASTER_SERVICE)
   hbase_log_file = "hbase.log"
   hbase_user_id = username if username else "SYSTEM"
-
+  java_library_path = os.path.join(hbase_home_dir, "bin")
   if not os.path.exists(hbase_log_dir):
     os.makedirs(hbase_log_dir)
 
@@ -53,7 +54,7 @@ def _build_master_java_args(username = None):
   java_class_path += os.pathsep + hbase_home_dir
   java_class_path += os.pathsep + os.path.join(hbase_home_dir, "lib", "*")
 
-  args = MASTER_JVM_ARGS.format(build_jvm_args(), hbase_home_dir, hbase_log_dir, hbase_log_file, hbase_user_id, java_class_path)
+  args = MASTER_JVM_ARGS.format(build_jvm_args(), hbase_home_dir, hbase_log_dir, hbase_log_file, hbase_user_id, java_class_path, java_library_path)
 
   return args
 

+ 12 - 109
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractProviderModule.java

@@ -44,9 +44,6 @@ import org.apache.ambari.server.controller.spi.Resource;
 import org.apache.ambari.server.controller.spi.ResourceProvider;
 import org.apache.ambari.server.controller.spi.SystemException;
 import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
-import org.apache.ambari.server.controller.sql.HostInfoProvider;
-import org.apache.ambari.server.controller.sql.SQLPropertyProvider;
-import org.apache.ambari.server.controller.sql.SinkConnectionFactory;
 import org.apache.ambari.server.controller.utilities.PredicateBuilder;
 import org.apache.ambari.server.controller.utilities.PropertyHelper;
 import org.apache.ambari.server.controller.utilities.StreamProvider;
@@ -78,7 +75,7 @@ import static org.apache.ambari.server.controller.metrics.MetricsServiceProvider
  */
 public abstract class AbstractProviderModule implements ProviderModule,
     ResourceProviderObserver, JMXHostProvider, MetricHostProvider,
-    MetricsServiceProvider, HostInfoProvider {
+    MetricsServiceProvider {
 
   private static final int PROPERTY_REQUEST_CONNECT_TIMEOUT = 5000;
   private static final int PROPERTY_REQUEST_READ_TIMEOUT    = 10000;
@@ -546,43 +543,6 @@ public abstract class AbstractProviderModule implements ProviderModule,
     return value;
   }
 
-  // ----- HostInfoProvider -----------------------------------------------
-
-  @Override
-  public String getHostName(String id) throws SystemException {
-    return getClusterNodeName(id);
-  }
-
-  @Override
-  public String getHostAddress(String id) throws SystemException {
-    return getClusterHostAddress(id);
-  }
-
-
-  // get the hostname
-  private String getClusterNodeName(String hostname) throws SystemException {
-    try {
-      if (hostname.equalsIgnoreCase("localhost")) {
-        return InetAddress.getLocalHost().getCanonicalHostName();
-      }
-      return InetAddress.getByName(hostname).getCanonicalHostName();
-    } catch (Exception e) {
-      throw new SystemException("Error getting hostname.", e);
-    }
-  }
-
-  // get the hostname
-  private String getClusterHostAddress(String hostname) throws SystemException {
-    try {
-      if (hostname.equalsIgnoreCase("localhost")) {
-        return InetAddress.getLocalHost().getHostAddress();
-      }
-      return InetAddress.getByName(hostname).getHostAddress();
-    } catch (Exception e) {
-      throw new SystemException("Error getting ip address.", e);
-    }
-  }
-
   // ----- utility methods ---------------------------------------------------
 
   protected abstract ResourceProvider createResourceProvider(Resource.Type type);
@@ -656,15 +616,7 @@ public abstract class AbstractProviderModule implements ProviderModule,
               PropertyHelper.getPropertyId("ServiceComponentInfo", "component_name"),
               PropertyHelper.getPropertyId("ServiceComponentInfo", "state"));
           PropertyProvider gpp = null;
-          if (System.getProperty("os.name").contains("Windows")) {
-            gpp = createSQLComponentPropertyProvider(
-                type,
-                this,
-                PropertyHelper.getPropertyId("ServiceComponentInfo", "cluster_name"),
-                PropertyHelper.getPropertyId("ServiceComponentInfo", "component_name"),
-                PropertyHelper.getPropertyId("ServiceComponentInfo", "service_name"));
-          } else {
-            gpp = createMetricsComponentPropertyProvider(
+          gpp = createMetricsComponentPropertyProvider(
               type,
               streamProvider,
               ComponentSSLConfiguration.instance(),
@@ -672,7 +624,6 @@ public abstract class AbstractProviderModule implements ProviderModule,
               this,
               PropertyHelper.getPropertyId("ServiceComponentInfo", "cluster_name"),
               PropertyHelper.getPropertyId("ServiceComponentInfo", "component_name"));
-          }
           providers.add(new StackDefinedPropertyProvider(
               type,
               this,
@@ -699,25 +650,16 @@ public abstract class AbstractProviderModule implements ProviderModule,
               PropertyHelper.getPropertyId("HostRoles", "component_name"),
               PropertyHelper.getPropertyId("HostRoles", "state"));
           PropertyProvider gpp = null;
-          if (System.getProperty("os.name").contains("Windows")) {
-            gpp = createSQLHostComponentPropertyProvider(
-                type,
-                this,
-                PropertyHelper.getPropertyId("HostRoles", "cluster_name"),
-                PropertyHelper.getPropertyId("HostRoles", "host_name"),
-                PropertyHelper.getPropertyId("HostRoles", "component_name"),
-                PropertyHelper.getPropertyId("HostRoles", "service_name"));
-          } else {
-            gpp = createMetricsHostComponentPropertyProvider(
-              type,
-              streamProvider,
-              ComponentSSLConfiguration.instance(),
-              this,
-              this,
-              PropertyHelper.getPropertyId("HostRoles", "cluster_name"),
-              PropertyHelper.getPropertyId("HostRoles", "host_name"),
-              PropertyHelper.getPropertyId("HostRoles", "component_name"));
-          }
+          gpp = createMetricsHostComponentPropertyProvider(
+            type,
+            streamProvider,
+            ComponentSSLConfiguration.instance(),
+            this,
+            this,
+            PropertyHelper.getPropertyId("HostRoles", "cluster_name"),
+            PropertyHelper.getPropertyId("HostRoles", "host_name"),
+            PropertyHelper.getPropertyId("HostRoles", "component_name"));
+
           providers.add(new StackDefinedPropertyProvider(
               type,
               this,
@@ -1030,45 +972,6 @@ public abstract class AbstractProviderModule implements ProviderModule,
       componentNamePropertyId);
   }
 
-  /**
-   * Create the SQL component property provider for the given type.
-   */
-  private PropertyProvider createSQLComponentPropertyProvider(Resource.Type type,
-                                                              HostInfoProvider hostProvider,
-                                                              String clusterNamePropertyId,
-                                                              String componentNamePropertyId,
-                                                              String serviceNamePropertyId) {
-    return new SQLPropertyProvider(
-        PropertyHelper.getSQLServerPropertyIds(type),
-        hostProvider,
-        clusterNamePropertyId,
-        null,
-        componentNamePropertyId,
-        serviceNamePropertyId,
-        SinkConnectionFactory.instance());
-  }
-
-
-  /**
-   * Create the SQL host component property provider for the given type.
-   */
-  private PropertyProvider createSQLHostComponentPropertyProvider(Resource.Type type,
-                                                                  HostInfoProvider hostProvider,
-                                                                  String clusterNamePropertyId,
-                                                                  String hostNamePropertyId,
-                                                                  String componentNamePropertyId,
-                                                                  String serviceNamePropertyId) {
-
-    return new SQLPropertyProvider(
-        PropertyHelper.getSQLServerPropertyIds(type),
-        hostProvider,
-        clusterNamePropertyId,
-        hostNamePropertyId,
-        componentNamePropertyId,
-        serviceNamePropertyId,
-        SinkConnectionFactory.instance());
-  }
-
   @Override
   public String getJMXProtocol(String clusterName, String componentName) {
     String jmxProtocolString = clusterJmxProtocolMap.get(clusterName);

+ 0 - 63
ambari-server/src/main/java/org/apache/ambari/server/controller/sql/HostInfoProvider.java

@@ -1,63 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.ambari.server.controller.sql;
-
-import org.apache.ambari.server.controller.spi.SystemException;
-
-/**
- * Provider of host information.
- */
-public interface HostInfoProvider {
-
-  /**
-   * Get the host name for the given cluster name and component name.
-   *
-   * @param clusterName    the cluster name
-   * @param componentName  the component name
-   *
-   * @return the host name
-   *
-   * @throws SystemException if unable to get the host name
-   */
-  public String getHostName(String clusterName, String componentName)
-      throws SystemException;
-
-  /**
-   * Get the host name.
-   *
-   * @param id  the host identifier
-   *
-   * @return the host name
-   *
-   * @throws SystemException if unable to get the host name
-   */
-  public String getHostName(String id)
-      throws SystemException;
-
-  /**
-   * Get the host ip address.
-   *
-   * @param id  the host identifier
-   *
-   * @return the host ip address
-   *
-   * @throws SystemException if unable to get the host address
-   */
-  public String getHostAddress(String id)
-      throws SystemException;
-}

+ 0 - 572
ambari-server/src/main/java/org/apache/ambari/server/controller/sql/SQLPropertyProvider.java

@@ -1,572 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.controller.sql;
-
-import org.apache.ambari.server.controller.internal.AbstractPropertyProvider;
-import org.apache.ambari.server.controller.internal.PropertyInfo;
-import org.apache.ambari.server.controller.jdbc.ConnectionFactory;
-import org.apache.ambari.server.controller.spi.Predicate;
-import org.apache.ambari.server.controller.spi.Request;
-import org.apache.ambari.server.controller.spi.Resource;
-import org.apache.ambari.server.controller.spi.SystemException;
-import org.apache.ambari.server.controller.spi.TemporalInfo;
-import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.Serializable;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-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;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * SQL based property/metrics provider required for ambari-scom.
- */
-public class SQLPropertyProvider extends AbstractPropertyProvider {
-
-  private final HostInfoProvider hostProvider;
-
-  private final String clusterNamePropertyId;
-
-  private final String hostNamePropertyId;
-
-  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.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);
-
-
-  // ----- Constructors ------------------------------------------------------
-
-  public SQLPropertyProvider(
-    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.serviceNamePropertyId = serviceNamePropertyId;
-    this.connectionFactory = connectionFactory;
-  }
-
-
-  // ----- PropertyProvider --------------------------------------------------
-
-  @Override
-  public Set<Resource> populateResources(Set<Resource> resources, Request request, Predicate predicate)
-    throws SystemException {
-    Set<Resource> keepers = new HashSet<Resource>();
-    try {
-      Connection connection = connectionFactory.getConnection();
-      try {
-        Statement statement = connection.createStatement();
-        try {
-          for (Resource resource : resources) {
-            if (populateResource(resource, request, predicate, statement)) {
-              keepers.add(resource);
-            }
-          }
-        } finally {
-          statement.close();
-        }
-      } finally {
-        connection.close();
-      }
-    } catch (SQLException e) {
-      if (LOG.isErrorEnabled()) {
-        LOG.error("Error during populateResources call.");
-        LOG.debug("Error during populateResources call : caught exception", e);
-      }
-    }
-    return keepers;
-  }
-
-
-  // ----- helper methods ----------------------------------------------------
-
-  // Populate the given resource
-  private boolean populateResource(Resource resource, Request request, Predicate predicate, Statement statement) throws SystemException {
-
-    Set<String> ids = getRequestPropertyIds(request, predicate);
-    if (ids.isEmpty()) {
-      // no properties requested ... nothing to do.
-      return true;
-    }
-
-    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.
-      return true;
-    }
-
-    String clusterName = (String) resource.getPropertyValue(clusterNamePropertyId);
-    String hostName = getHost(resource, clusterName, componentName);
-
-    if (hostName == null) {
-      throw new SystemException(
-        "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();
-        PropertyInfo propertyInfo = entry.getValue();
-        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)) {
-
-          long startTime;
-          long endTime;
-
-          if (temporalInfo != null) {
-            Long endTimeSeconds = temporalInfo.getEndTime();
-
-            endTime = endTimeSeconds != -1 ? endTimeSeconds * 1000 : Long.MAX_VALUE;
-            startTime = temporalInfo.getStartTime() * 1000;
-          } else {
-            startTime = 0L;
-            endTime = Long.MAX_VALUE;
-          }
-
-          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,
-                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);
-            }
-          }
-        }
-      }
-    }
-
-    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();
-      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 {
-            resource.setProperty(propertyKey, dp);
-          }
-        }
-      }
-    }
-
-    return true;
-  }
-
-  // get a metric from a sql connection
-  private Map<MetricDefinition, List<DataPoint>> getMetric(Set<MetricDefinition> metricDefinitionSet, Statement statement) throws SystemException {
-    Map<MetricDefinition, List<DataPoint>> results = new HashMap<MetricDefinition, List<DataPoint>>();
-    try {
-      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>();
-      long startTime = 0, endTime = 0;
-      for (MetricDefinition metricDefinition : metricDefinitionSet) {
-        if (metricDefinition.getRecordTypeContext() == null || metricDefinition.getRecordTypeName() == null || metricDefinition.getNodeName() == null) {
-          continue;
-        }
-
-        recordTypeContexts.add(metricDefinition.getRecordTypeContext());
-        recordTypeNamess.add(metricDefinition.getRecordTypeName());
-        tagPairsPatterns.add(metricDefinition.getTagPairsPattern());
-        nodeNames.add(metricDefinition.getNodeName());
-        serviceNames.add(metricDefinition.getServiceName());
-        metricNames.add(metricDefinition.getMetricName());
-        startTime = metricDefinition.getStartTime();
-        endTime = metricDefinition.getEndTime();
-      }
-
-      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 = null;
-      if (query.length() != 0) {
-        rs = statement.executeQuery(query.toString());
-      }
-
-      if (rs != null) {
-        //(RecordTimeStamp bigint, MetricValue NVARCHAR(512))
-        while (rs.next()) {
-          MetricDefinition metricDefinition = null;
-          for (MetricDefinition md : metricDefinitionSet) {
-            if (md.getRecordTypeContext().equalsIgnoreCase(rs.getString("RecordTypeContext"))
-              && md.getRecordTypeName().equalsIgnoreCase(rs.getString("RecordTypeName"))
-              && md.getMetricName().equalsIgnoreCase(rs.getString("MetricName"))
-              && md.getServiceName().equalsIgnoreCase(rs.getString("ServiceName"))
-              && md.getNodeName().equalsIgnoreCase(rs.getString("NodeName"))
-              && rs.getString("TagPairs").contains(md.getTagPairsPattern())) {
-              metricDefinition = md;
-              break;
-            }
-          }
-          if (metricDefinition == null) {
-            LOG.error("Error during getMetric call : No metricdefinition found for  result");
-            continue;
-          }
-          ParsePosition parsePosition = new ParsePosition(0);
-          NumberFormat numberFormat = NumberFormat.getInstance();
-          Number parsedNumber = numberFormat.parse(rs.getString("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);
-          }
-        }
-      }
-    } catch (SQLException e) {
-      throw new SystemException("Error during getMetric call : caught exception - ", e);
-    }
-    return results;
-  }
-
-  // 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));
-  }
-
-
-  // ----- inner class : DataPoint -------------------------------------------
-
-  /**
-   * Structure to hold a single datapoint (value/timestamp pair) retrieved from the db.
-   */
-  private static class DataPoint {
-    private final long timestamp;
-    private final Number value;
-
-    // ----- Constructor -------------------------------------------------
-
-    /**
-     * Construct a data point from the given value and timestamp.
-     *
-     * @param timestamp the timestamp
-     * @param value     the value
-     */
-    private DataPoint(long timestamp, Number value) {
-      this.timestamp = timestamp;
-      this.value = value;
-    }
-
-    // ----- DataPoint ---------------------------------------------------
-
-    /**
-     * Get the timestamp value.
-     *
-     * @return the timestamp
-     */
-    public long getTimestamp() {
-      return timestamp;
-    }
-
-    /**
-     * Get the value.
-     *
-     * @return the value
-     */
-    public Number getValue() {
-      return value;
-    }
-
-    // ----- Object overrides --------------------------------------------
-
-    @Override
-    public String toString() {
-      return "{" + value + " : " + timestamp + "}";
-    }
-  }
-
-  private class MetricDefinition {
-    long startTime;
-    long endTime;
-
-    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 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 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;
-    }
-
-    public long getStartTime() {
-      return startTime;
-    }
-
-    public void setStartTime(long startTime) {
-      this.startTime = startTime;
-    }
-
-    public long getEndTime() {
-      return endTime;
-    }
-
-    public void setEndTime(long endTime) {
-      this.endTime = endTime;
-    }
-
-    public String getRecordTypeContext() {
-      return recordTypeContext;
-    }
-
-    public void setRecordTypeContext(String recordTypeContext) {
-      this.recordTypeContext = recordTypeContext;
-    }
-
-    public String getRecordTypeName() {
-      return recordTypeName;
-    }
-
-    public void setRecordTypeName(String recordTypeName) {
-      this.recordTypeName = recordTypeName;
-    }
-
-    public String getTagPairsPattern() {
-      return tagPairsPattern;
-    }
-
-    public void getTagPairsPattern(String tagPairsPattern) {
-      this.tagPairsPattern = tagPairsPattern;
-    }
-
-    public String getMetricName() {
-      return metricName;
-    }
-
-    public void setMetricName(String metricName) {
-      this.metricName = metricName;
-    }
-
-    public String getServiceName() {
-      return serviceName;
-    }
-
-    public void setServiceName(String serviceName) {
-      this.serviceName = serviceName;
-    }
-
-    public String getNodeName() {
-      return nodeName;
-    }
-
-    public void setNodeName(String nodeName) {
-      this.nodeName = nodeName;
-    }
-
-    public String getPropertyKey() {
-      return propertyKey;
-    }
-
-    public void setPropertyKey(String propertyKey) {
-      this.propertyKey = propertyKey;
-    }
-
-    public String getRequestedPropertyKey() {
-      return requestedPropertyKey;
-    }
-
-    public void setRequestedPropertyKey(String requestedPropertyKey) {
-      this.requestedPropertyKey = requestedPropertyKey;
-    }
-
-    public TemporalInfo getTemporalInfo() {
-      return temporalInfo;
-    }
-
-    public void setTemporalInfo(TemporalInfo temporalInfo) {
-      this.temporalInfo = temporalInfo;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-      if (this == o) return true;
-      if (o == null || getClass() != o.getClass()) return false;
-
-      MetricDefinition that = (MetricDefinition) o;
-
-      if (metricName != null ? !metricName.equals(that.metricName) : that.metricName != 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;
-    }
-
-    @Override
-    public int hashCode() {
-      int result = recordTypeContext != null ? recordTypeContext.hashCode() : 0;
-      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.toLowerCase().hashCode() : 0);
-      return result;
-    }
-  }
-}

+ 0 - 132
ambari-server/src/main/java/org/apache/ambari/server/controller/sql/SinkConnectionFactory.java

@@ -1,132 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.controller.sql;
-
-import com.mchange.v2.c3p0.ComboPooledDataSource;
-import org.apache.ambari.server.configuration.Configuration;
-import org.apache.ambari.server.controller.jdbc.ConnectionFactory;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-
-/**
- * Factory for the sink database connection.
- */
-public class SinkConnectionFactory implements ConnectionFactory {
-
-  /**
-   * The database URL.
-   */
-  private String databaseUrl;
-
-  /**
-   * The database driver.
-   */
-  private String databaseDriver;
-
-  private String databaseUser;
-
-  private String databasePassword;
-
-  private boolean useIntegratedAuth;
-
-  /**
-   * Indicates whether or not the driver has been initialized
-   */
-  private boolean connectionInitialized = false;
-
-  private ComboPooledDataSource cpds;
-  /**
-   * The singleton.
-   */
-  private static SinkConnectionFactory singleton = new SinkConnectionFactory();
-
-  // ----- Constructor -------------------------------------------------------
-
-  protected SinkConnectionFactory() {
-    Configuration config = new Configuration();
-    this.databaseUrl    = config.getSinkDatabaseUrl();
-    this.databaseDriver = config.getSinkDatabaseDriver();
-    this.useIntegratedAuth = config.getSinkUseIntegratedAuth();
-    this.databaseUser = config.getSinkDatabaseUser();
-    this.databasePassword =  config.getSinkDatabasePassword();
-  }
-
-
-  // ----- SinkConnectionFactory ---------------------------------------------
-
-  /**
-   * Initialize.
-   */
-  public void init() {
-    this.cpds = new ComboPooledDataSource();
-    this.cpds.setJdbcUrl(this.databaseUrl);
-    if(!useIntegratedAuth) {
-      this.cpds.setUser(this.databaseUser);
-      this.cpds.setPassword(this.databasePassword);
-    }
-    this.cpds.setMaxPoolSize(5);
-  }
-
-  /**
-   * Get the singleton instance.
-   *
-   * @return the singleton instance
-   */
-  public static SinkConnectionFactory instance() {
-    return singleton;
-  }
-
-  /**
-   * Get the database URL.
-   *
-   * @return the database URL
-   */
-  public String getDatabaseUrl() {
-    return databaseUrl;
-  }
-
-  /**
-   * Get the database driver.
-   *
-   * @return the database driver
-   */
-  public String getDatabaseDriver() {
-    return databaseDriver;
-  }
-
-// ----- ConnectionFactory -----------------------------------------------
-
-  @Override
-  public Connection getConnection() throws SQLException {
-    synchronized (this) {
-      if (!connectionInitialized) {
-        try {
-          Class.forName(databaseDriver);
-        } catch (Exception e) {
-          throw new SQLException("Can't load the driver class.", e);
-        }
-        init();
-        connectionInitialized = true;
-      }
-    }
-    return this.cpds.getConnection();
-  }
-}

+ 14 - 0
ambari-server/src/main/resources/common-services/AMS/0.1.0/metainfo.xml

@@ -92,6 +92,20 @@
             </package>
           </packages>
         </osSpecific>
+        <osSpecific>
+          <osFamily>winsrv6</osFamily>
+          <packages>
+            <package>
+              <name>ambari-metrics-collector.msi</name>
+            </package>
+            <package>
+              <name>ambari-metrics-monitor.msi</name>
+            </package>
+            <package>
+              <name>ambari-metrics-hadoop-sink.msi</name>
+            </package>
+          </packages>
+        </osSpecific>
       </osSpecifics>
 
       <commandScript>

+ 81 - 0
ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/ams.py

@@ -19,8 +19,89 @@ limitations under the License.
 """
 
 from resource_management import *
+from ambari_commons import OSConst
+from service_mapping import *
+from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
+import glob
 
+@OsFamilyFuncImpl(os_family=OSConst.WINSRV_FAMILY)
+def ams(name=None):
+  import params
+  if name == 'collector':
+    if not check_windows_service_exists(collector_win_service_name):
+      Execute(format("cmd /C cd {ams_collector_home_dir} & ambari-metrics-collector.cmd setup"))
+
+    Directory(params.ams_collector_conf_dir,
+              owner=params.ams_user,
+              recursive=True
+    )
+
+    Directory(params.ams_checkpoint_dir,
+              owner=params.ams_user,
+              recursive=True
+    )
+
+    XmlConfig("ams-site.xml",
+              conf_dir=params.ams_collector_conf_dir,
+              configurations=params.config['configurations']['ams-site'],
+              configuration_attributes=params.config['configuration_attributes']['ams-site'],
+              owner=params.ams_user,
+    )
+
+    XmlConfig( "hbase-site.xml",
+               conf_dir = params.ams_collector_conf_dir,
+               configurations = params.config['configurations']['ams-hbase-site'],
+               configuration_attributes=params.config['configuration_attributes']['ams-hbase-site'],
+               owner = params.ams_user,
+    )
+
+    if (params.log4j_props != None):
+      File(os.path.join(params.ams_collector_conf_dir, "log4j.properties"),
+           owner=params.ams_user,
+           content=params.log4j_props
+      )
+
+    File(os.path.join(params.ams_collector_conf_dir, "ams-env.cmd"),
+         owner=params.ams_user,
+         content=InlineTemplate(params.ams_env_sh_template)
+    )
+
+    pass
+
+  elif name == 'monitor':
+    if not check_windows_service_exists(monitor_win_service_name):
+      Execute(format("cmd /C cd {ams_monitor_home_dir} & ambari-metrics-monitor.cmd setup"))
+
+    # creating symbolic links on ams jars to make them available to services
+    links_pairs = [
+      ("%HADOOP_HOME%\\share\\hadoop\\common\\lib\\ambari-metrics-hadoop-sink-with-common.jar",
+       "%SINK_HOME%\\hadoop-sink\\ambari-metrics-hadoop-sink-with-common-*.jar"),
+      ("%HBASE_HOME%\\lib\\ambari-metrics-hadoop-sink-with-common.jar",
+       "%SINK_HOME%\\hadoop-sink\\ambari-metrics-hadoop-sink-with-common-*.jar"),
+    ]
+    for link_pair in links_pairs:
+      link, target = link_pair
+      target = glob.glob(os.path.expandvars(target))[0].replace("\\\\", "\\")
+      Execute('cmd /c mklink "{0}" "{1}"'.format(link, target))
+
+    Directory(params.ams_monitor_conf_dir,
+              owner=params.ams_user,
+              recursive=True
+    )
+
+    TemplateConfig(
+      os.path.join(params.ams_monitor_conf_dir, "metric_monitor.ini"),
+      owner=params.ams_user,
+      template_tag=None
+    )
+
+    TemplateConfig(
+      os.path.join(params.ams_monitor_conf_dir, "metric_groups.conf"),
+      owner=params.ams_user,
+      template_tag=None
+    )
 
+@OsFamilyFuncImpl(os_family=OsFamilyImpl.DEFAULT)
 def ams(name=None):
   import params
 

+ 11 - 1
ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/ams_service.py

@@ -19,9 +19,19 @@ limitations under the License.
 """
 
 from resource_management import *
+from ambari_commons import OSConst
+from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
 
+@OsFamilyFuncImpl(os_family=OSConst.WINSRV_FAMILY)
+def ams_service(name, action):
+  import service_mapping
+  if name == 'collector':
+    Service(service_mapping.collector_win_service_name, action=action)
+  elif name == 'monitor':
+    Service(service_mapping.monitor_win_service_name, action=action)
 
-def ams_service(name='collector', action='start'):
+@OsFamilyFuncImpl(os_family=OsFamilyImpl.DEFAULT)
+def ams_service(name, action):
   import params
 
   if name == 'collector':

+ 77 - 8
ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/hbase.py

@@ -18,10 +18,80 @@ limitations under the License.
 
 """
 import os
-
+from ambari_commons import OSConst
 from resource_management import *
-import sys
+from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
+
+@OsFamilyFuncImpl(os_family=OSConst.WINSRV_FAMILY)
+def hbase(name=None):
+  import params
+  Directory(params.hbase_conf_dir,
+            owner = params.hadoop_user,
+            recursive = True
+  )
+  Directory(params.hbase_tmp_dir,
+             recursive = True,
+             owner = params.hadoop_user
+  )
 
+  Directory (os.path.join(params.local_dir, "jars"),
+             owner = params.hadoop_user,
+             recursive = True
+  )
+
+  XmlConfig("hbase-site.xml",
+            conf_dir = params.hbase_conf_dir,
+            configurations = params.config['configurations']['ams-hbase-site'],
+            configuration_attributes=params.config['configuration_attributes']['ams-hbase-site'],
+            owner = params.hadoop_user
+  )
+
+  if 'ams-hbase-policy' in params.config['configurations']:
+    XmlConfig("hbase-policy.xml",
+              conf_dir = params.hbase_conf_dir,
+              configurations = params.config['configurations']['ams-hbase-policy'],
+              configuration_attributes=params.config['configuration_attributes']['ams-hbase-policy'],
+              owner = params.hadoop_user
+    )
+  # Manually overriding ownership of file installed by hadoop package
+  else:
+    File(os.path.join(params.hbase_conf_dir, "hbase-policy.xml"),
+          owner = params.hadoop_user
+    )
+
+  # File(format("{hbase_conf_dir}/hbase-env.cmd"),
+  #      owner = params.hadoop_user,
+  #      content=InlineTemplate(params.hbase_env_sh_template)
+  # )
+
+  # Metrics properties
+  # File(os.path.join(params.hbase_conf_dir, "hadoop-metrics2-hbase.properties"),
+  #      owner = params.hadoop_user,
+  #      content=Template("hadoop-metrics2-hbase.properties.j2")
+  # )
+
+  hbase_TemplateConfig('regionservers', user=params.hadoop_user)
+
+  if params.security_enabled:
+    hbase_TemplateConfig(format("hbase_{name}_jaas.conf"), user=params.hadoop_user)
+
+  if name != "client":
+    Directory (params.hbase_log_dir,
+               owner = params.hadoop_user,
+               recursive = True
+    )
+
+  if (params.hbase_log4j_props != None):
+    File(os.path.join(params.hbase_conf_dir, "log4j.properties"),
+         owner=params.hadoop_user,
+         content=params.hbase_log4j_props
+    )
+  elif (os.path.exists(os.path.join(params.hbase_conf_dir,"log4j.properties"))):
+    File(os.path.join(params.hbase_conf_dir,"log4j.properties"),
+         owner=params.hadoop_user
+    )
+
+@OsFamilyFuncImpl(os_family=OsFamilyImpl.DEFAULT)
 def hbase(name=None # 'master' or 'regionserver' or 'client'
               ):
   import params
@@ -83,10 +153,10 @@ def hbase(name=None # 'master' or 'regionserver' or 'client'
   #   tag = 'GANGLIA-MASTER' if name == 'master' else 'GANGLIA-RS'
   # )
 
-  hbase_TemplateConfig('regionservers')
+  hbase_TemplateConfig('regionservers', user=params.hbase_user)
 
   if params.security_enabled:
-    hbase_TemplateConfig( format("hbase_{name}_jaas.conf"))
+    hbase_TemplateConfig( format("hbase_{name}_jaas.conf"), user=params.hbase_user)
   
   if name != "client":
     Directory( params.hbase_pid_dir,
@@ -113,11 +183,10 @@ def hbase(name=None # 'master' or 'regionserver' or 'client'
       owner=params.hbase_user
     )
 
-
-def hbase_TemplateConfig(name, tag=None):
+def hbase_TemplateConfig(name, tag=None, user=None):
   import params
 
-  TemplateConfig( format("{hbase_conf_dir}/{name}"),
-      owner = params.hbase_user,
+  TemplateConfig( os.path.join(params.hbase_conf_dir, name),
+      owner = user,
       template_tag = tag
   )

+ 2 - 2
ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/metric_collector.py

@@ -22,6 +22,7 @@ from resource_management import *
 from ams import ams
 from ams_service import ams_service
 from hbase import hbase
+from status import check_service_status
 
 class AmsCollector(Script):
     def install(self, env):
@@ -55,8 +56,7 @@ class AmsCollector(Script):
     def status(self, env):
         import status_params
         env.set_params(status_params)
-        pid_file = format("{ams_collector_pid_dir}/ambari-metrics-collector.pid")
-        check_process_status(pid_file)
+        check_service_status(name='collector')
 
 
 if __name__ == "__main__":

+ 2 - 3
ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/metric_monitor.py

@@ -21,7 +21,7 @@ limitations under the License.
 from resource_management import *
 from ams import ams
 from ams_service import ams_service
-from hbase import hbase
+from status import check_service_status
 
 class AmsMonitor(Script):
   def install(self, env):
@@ -52,8 +52,7 @@ class AmsMonitor(Script):
   def status(self, env):
     import status_params
     env.set_params(status_params)
-    pid_file = format("{ams_monitor_pid_dir}/ambari-metrics-monitor.pid")
-    check_process_status(pid_file)
+    check_service_status(name='monitor')
 
 
 if __name__ == "__main__":

+ 7 - 27
ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/params.py

@@ -21,17 +21,20 @@ limitations under the License.
 from functions import calc_xmn_from_xms
 from resource_management import *
 import status_params
+from ambari_commons import OSCheck
 
+if OSCheck.is_windows_family():
+  from params_windows import *
+else:
+  from params_linux import *
 # server configurations
 config = Script.get_config()
 exec_tmp_dir = Script.get_tmp_dir()
 
 #AMS data
-ams_user = status_params.ams_user
 ams_pid_dir = status_params.ams_collector_pid_dir
 
 ams_collector_script = "/usr/sbin/ambari-metrics-collector"
-ams_collector_conf_dir = "/etc/ambari-metrics-collector/conf"
 ams_collector_pid_dir = status_params.ams_collector_pid_dir
 ams_collector_hosts = default("/clusterHostInfo/metric_collector_hosts", [])
 ams_collector_host_single = ams_collector_hosts[0] #TODO cardinality is 1+ so we can have more than one host
@@ -43,38 +46,14 @@ pass
 ams_collector_log_dir = config['configurations']['ams-env']['ams_collector_log_dir']
 ams_monitor_log_dir = config['configurations']['ams-env']['ams_monitor_log_dir']
 
-ams_monitor_conf_dir = "/etc/ambari-metrics-monitor/conf/"
 ams_monitor_dir = "/usr/lib/python2.6/site-packages/resource_monitoring"
 ams_monitor_pid_dir = status_params.ams_monitor_pid_dir
 ams_monitor_script = "/usr/sbin/ambari-metrics-monitor"
 
-#RPM versioning support
-rpm_version = default("/configurations/hadoop-env/rpm_version", None)
 
-#hadoop params
-if rpm_version is not None:
-#RPM versioning support
-  rpm_version = default("/configurations/hadoop-env/rpm_version", None)
 
 #hadoop params
-if rpm_version is not None:
-  hadoop_native_lib = format("/usr/hdp/current/hadoop-client/lib/native/")
-  hadoop_bin_dir = format("/usr/hdp/current/hadoop/bin")
-  daemon_script = format('/usr/hdp/current/hbase/bin/hbase-daemon.sh')
-  region_mover = format('/usr/hdp/current/hbase/bin/region_mover.rb')
-  region_drainer = format('/usr/hdp/current/hbase/bin/draining_servers.rb')
-  hbase_cmd = format('/usr/hdp/current/hbase/bin/hbase')
-else:
-  hadoop_native_lib = format("/usr/lib/hadoop/lib/native")
-  hadoop_bin_dir = "/usr/bin"
-  daemon_script = "/usr/lib/hbase/bin/hbase-daemon.sh"
-  region_mover = "/usr/lib/hbase/bin/region_mover.rb"
-  region_drainer = "/usr/lib/hbase/bin/draining_servers.rb"
-  hbase_cmd = "/usr/lib/hbase/bin/hbase"
-
-hadoop_conf_dir = "/etc/hadoop/conf"
-#hbase_conf_dir = "/etc/ams-hbase/conf"
-hbase_conf_dir = "/etc/ams-hbase/conf"
+
 hbase_excluded_hosts = config['commandParams']['excluded_hosts']
 hbase_drain_only = config['commandParams']['mark_draining_only']
 hbase_included_hosts = config['commandParams']['included_hosts']
@@ -120,6 +99,7 @@ smoke_test_user = config['configurations']['cluster-env']['smokeuser']
 smokeuser_permissions = "RWXCA"
 service_check_data = functions.get_unique_id_and_date()
 user_group = config['configurations']['cluster-env']["user_group"]
+hadoop_user = "hadoop"
 
 if security_enabled:
   _hostname_lowercase = config['hostname'].lower()

+ 53 - 0
ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/params_linux.py

@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+"""
+
+from resource_management import *
+from ambari_commons import OSCheck
+import status_params
+config = Script.get_config()
+
+ams_collector_conf_dir = "/etc/ambari-metrics-collector/conf"
+ams_monitor_conf_dir = "/etc/ambari-metrics-monitor/conf/"
+ams_user = status_params.ams_user
+#RPM versioning support
+rpm_version = default("/configurations/hadoop-env/rpm_version", None)
+
+#hadoop params
+if rpm_version is not None:
+  #RPM versioning support
+  rpm_version = default("/configurations/hadoop-env/rpm_version", None)
+
+if rpm_version is not None:
+  hadoop_native_lib = format("/usr/hdp/current/hadoop-client/lib/native/")
+  hadoop_bin_dir = format("/usr/hdp/current/hadoop/bin")
+  daemon_script = format('/usr/hdp/current/hbase/bin/hbase-daemon.sh')
+  region_mover = format('/usr/hdp/current/hbase/bin/region_mover.rb')
+  region_drainer = format('/usr/hdp/current/hbase/bin/draining_servers.rb')
+  hbase_cmd = format('/usr/hdp/current/hbase/bin/hbase')
+else:
+  hadoop_native_lib = format("/usr/lib/hadoop/lib/native")
+  hadoop_bin_dir = "/usr/bin"
+  daemon_script = "/usr/lib/hbase/bin/hbase-daemon.sh"
+  region_mover = "/usr/lib/hbase/bin/region_mover.rb"
+  region_drainer = "/usr/lib/hbase/bin/draining_servers.rb"
+  hbase_cmd = "/usr/lib/hbase/bin/hbase"
+
+hadoop_conf_dir = "/etc/hadoop/conf"
+hbase_conf_dir = "/etc/ams-hbase/conf"

+ 35 - 0
ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/params_windows.py

@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+"""
+
+
+from resource_management import *
+
+config = Script.get_config()
+
+ams_user = "hadoop"
+ams_collector_conf_dir = os.environ["COLLECTOR_CONF_DIR"]
+ams_collector_home_dir = os.environ["COLLECTOR_HOME"]
+ams_monitor_conf_dir = os.environ["MONITOR_CONF_DIR"]
+ams_monitor_home_dir = os.environ["MONITOR_HOME"]
+hadoop_native_lib = os.path.join(os.environ["HADOOP_HOME"], "bin")
+hadoop_bin_dir = os.path.join(os.environ["HADOOP_HOME"], "bin")
+hbase_cmd = os.path.join(os.environ["COLLECTOR_HOME"], "hbase", "bin", "hbase.cmd")
+hadoop_conf_dir = os.path.join(os.environ["HADOOP_HOME"], "conf")
+hbase_conf_dir = os.path.join(os.environ["COLLECTOR_HOME"], "hbase", "conf")

+ 21 - 0
ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/service_mapping.py

@@ -0,0 +1,21 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+"""
+
+collector_win_service_name = "AmbariMetricsCollector"
+monitor_win_service_name = "AmbariMetricsHostMonitoring"

+ 38 - 0
ambari-server/src/main/resources/common-services/AMS/0.1.0/package/scripts/status.py

@@ -0,0 +1,38 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+"""
+
+from resource_management import *
+from ambari_commons import OSConst
+from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
+
+@OsFamilyFuncImpl(os_family=OsFamilyImpl.DEFAULT)
+def check_service_status(name):
+  if name=='collector':
+    pid_file = format("{ams_monitor_pid_dir}/ambari-metrics-collector.pid")
+  elif name == 'monitor':
+    pid_file = format("{ams_monitor_pid_dir}/ambari-metrics-monitor.pid")
+  check_process_status(pid_file)
+
+@OsFamilyFuncImpl(os_family=OSConst.WINSRV_FAMILY)
+def check_service_status(name):
+  import service_mapping
+  if name=='collector':
+    check_windows_service_status(service_mapping.collector_win_service_name)
+  elif name == 'monitor':
+    check_windows_service_status(service_mapping.monitor_win_service_name)

+ 1 - 52
ambari-server/src/main/resources/stacks/HDPWIN/2.1/configuration/cluster-env.xml

@@ -21,61 +21,10 @@
 -->
 
 <configuration>
-    <!-- metrics sink properties -->
-    <property>
-      <name>sink_database</name>
-      <value>Existing MSSQL Server database with sql auth</value>
-    </property>
-
-    <property>
-      <name>sink.dbservername</name>
-      <value/>
-    </property>
-
-    <property>
-      <name>sink.dblogin</name>
-      <value>hadoop</value>
-      <description>
-        DB user name.
-      </description>
-    </property>
-
-    <property>
-      <name>sink.dbpassword</name>
-      <value/>
-      <description>
-        DB password.
-      </description>
-    </property>
-
-    <property>
-      <name>sink.db.schema.name</name>
-      <value>HadoopMetrics</value>
-    </property>
-
-    <property>
-      <name>sink.jdbc.driver</name>
-      <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
-      <description>
-        JDBC driver class.
-      </description>
-    </property>
-
-    <property>
-      <name>sink.jdbc.url</name>
-      <value/>
-      <description>
-        JDBC URL.
-      </description>
-    </property>
-
     <property>
       <name>hadoop.user.name</name>
       <value>hadoop</value>
     </property>
-
-
-
     <property>
         <name>security_enabled</name>
         <value>false</value>
@@ -108,4 +57,4 @@
         <property-type>GROUP</property-type>
         <description>Hadoop user group.</description>
     </property>
-</configuration>
+</configuration>

+ 0 - 18
ambari-server/src/main/resources/stacks/HDPWIN/2.1/hooks/after-INSTALL/scripts/hook.py

@@ -38,24 +38,6 @@ class AfterInstallHook(Hook):
               mode="f",
               configuration_attributes=params.config['configuration_attributes']['core-site']
     )
-    download_file(os.path.join(params.config['hostLevelParams']['jdk_location'], "sqljdbc4.jar"),
-                  os.path.join(params.hadoop_common_dir, "sqljdbc4.jar")
-    )
-    download_file(os.path.join(params.config['hostLevelParams']['jdk_location'], "sqljdbc_auth.dll"),
-                  os.path.join(params.hadoop_common_dir, "sqljdbc_auth.dll")
-    )
-    download_file(os.path.join(params.config['hostLevelParams']['jdk_location'], "sqljdbc4.jar"),
-                  os.path.join(params.hbase_lib_dir, "sqljdbc4.jar")
-    )
-    download_file(os.path.join(params.config['hostLevelParams']['jdk_location'], "sqljdbc_auth.dll"),
-                  os.path.join(params.hadoop_common_bin, "sqljdbc_auth.dll")
-    )
-    download_file(os.path.join(params.config['hostLevelParams']['jdk_location'], "metrics-sink-1.0.0.jar"),
-                  os.path.join(params.hadoop_common_dir, "metrics-sink-1.0.0.jar")
-    )
-    download_file(os.path.join(params.config['hostLevelParams']['jdk_location'], "metrics-sink-1.0.0.jar"),
-                  os.path.join(params.hbase_lib_dir, "metrics-sink-1.0.0.jar")
-    )
 
     File(format("{params.hadoop_install_root}/cluster.properties"),
            content=Template("cluster.properties.j2"),

+ 9 - 0
ambari-server/src/main/resources/stacks/HDPWIN/2.1/hooks/before-START/scripts/hook.py

@@ -28,6 +28,15 @@ class BeforeStartHook(Hook):
     self.run_custom_hook('before-ANY')
     self.run_custom_hook('after-INSTALL')
     env.set_params(params)
+    if params.has_metric_collector:
+      File(os.path.join(params.hadoop_conf_dir, "hadoop-metrics2.properties"),
+           owner=params.hadoop_user,
+           content=Template("hadoop-metrics2.properties.j2")
+      )
+      File(os.path.join(params.hbase_conf_dir, "hadoop-metrics2-hbase.properties"),
+           owner=params.hadoop_user,
+           content=Template("hadoop-metrics2-hbase.properties.j2")
+      )
 
 if __name__ == "__main__":
   BeforeStartHook().execute()

+ 17 - 1
ambari-server/src/main/resources/stacks/HDPWIN/2.1/hooks/before-START/scripts/params.py

@@ -18,5 +18,21 @@ limitations under the License.
 """
 
 from resource_management import *
-
+import nturl2path
 config = Script.get_config()
+ams_collector_hosts = default("/clusterHostInfo/metric_collector_hosts", [])
+has_metric_collector = not len(ams_collector_hosts) == 0
+if has_metric_collector:
+  metric_collector_host = ams_collector_hosts[0]
+  metric_collector_port = default("/configurations/ams-site/timeline.metrics.service.webapp.address", "0.0.0.0:8188")
+  if metric_collector_port and metric_collector_port.find(':') != -1:
+    metric_collector_port = metric_collector_port.split(':')[1]
+  pass
+  sink_home = os.environ["SINK_HOME"]
+  timeline_plugin_url = "file:"+nturl2path.pathname2url(os.path.join(sink_home, "hadoop-sink", "ambari-metrics-hadoop-sink.jar"))
+
+
+
+hadoop_conf_dir = os.environ["HADOOP_CONF_DIR"]
+hbase_conf_dir = os.environ["HBASE_CONF_DIR"]
+hadoop_user = "hadoop"

+ 66 - 0
ambari-server/src/main/resources/stacks/HDPWIN/2.1/hooks/before-START/templates/hadoop-metrics2-hbase.properties.j2

@@ -0,0 +1,66 @@
+{#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#}
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# See http://wiki.apache.org/hadoop/GangliaMetrics
+#
+# Make sure you know whether you are using ganglia 3.0 or 3.1.
+# If 3.1, you will have to patch your hadoop instance with HADOOP-4675
+# And, yes, this file is named hadoop-metrics.properties rather than
+# hbase-metrics.properties because we're leveraging the hadoop metrics
+# package and hadoop-metrics.properties is an hardcoded-name, at least
+# for the moment.
+#
+# See also http://hadoop.apache.org/hbase/docs/current/metrics.html
+
+# HBase-specific configuration to reset long-running stats (e.g. compactions)
+# If this variable is left out, then the default is no expiration.
+hbase.extendedperiod = 3600
+
+{% if has_metric_collector %}
+*.timeline.plugin.urls={{timeline_plugin_url}}
+hbase.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
+hbase.period=10
+hbase.collector={{metric_collector_host}}:{{metric_collector_port}}
+
+jvm.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
+jvm.period=10
+jvm.collector={{metric_collector_host}}:{{metric_collector_port}}
+
+rpc.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
+rpc.period=10
+rpc.collector={{metric_collector_host}}:{{metric_collector_port}}
+
+hbase.sink.timeline.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
+hbase.sink.timeline.period=10
+hbase.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+{% endif %}

+ 56 - 0
ambari-server/src/main/resources/stacks/HDPWIN/2.1/hooks/before-START/templates/hadoop-metrics2.properties.j2

@@ -0,0 +1,56 @@
+{#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#}
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# syntax: [prefix].[source|sink|jmx].[instance].[options]
+# See package.html for org.apache.hadoop.metrics2 for details
+
+{% if has_metric_collector %}
+
+*.period=60
+*.sink.timeline.plugin.urls={{timeline_plugin_url}}
+*.sink.timeline.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
+*.sink.timeline.period=10
+
+datanode.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+namenode.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+resourcemanager.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+nodemanager.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+historyserver.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+journalnode.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+nimbus.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+supervisor.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+maptask.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+reducetask.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+
+resourcemanager.sink.timeline.tagsForPrefix.yarn=Queue
+{% endif %}

+ 33 - 0
ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/AMS/configuration/ams-env.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<configuration>
+  <property>
+    <name>ams_user</name>
+    <deleted>true</deleted>
+  </property>
+
+  <property>
+    <name>content</name>
+    <value>
+    </value>
+  </property>
+
+</configuration>

+ 47 - 0
ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/AMS/configuration/ams-hbase-env.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<configuration>
+  <property>
+    <name>hbase_log_dir</name>
+    <value>c:\hadoop\logs\ams-hbase</value>
+    <description>Log Directories for HBase.</description>
+  </property>
+  <property>
+    <name>hbase_pid_dir</name>
+    <value>c:\hadoop\run\ams-hbase</value>
+    <description>Pid Directory for HBase.</description>
+  </property>
+  <property>
+    <name>hbase_user</name>
+    <deleted>true</deleted>
+  </property>
+
+  <!-- hbase-env.cmd -->
+  <property>
+    <name>content</name>
+    <description>This is the jinja template for hbase-env.cmd file</description>
+    <value>
+    </value>
+  </property>
+
+</configuration>

+ 45 - 0
ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/AMS/configuration/ams-hbase-site.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<configuration>
+  <property>
+    <name>hbase.rootdir</name>
+    <value>file:///C:/hadoop/hbase-ams</value>
+    <description>
+      AMS service uses HBase as default storage backend. Set the rootdir for
+      HBase to either local filesystem path if using AMS in embedded mode or
+      to a HDFS dir, example: hdfs://namenode.example.org:9000/hbase.  By
+      default HBase writes into /tmp. Change this configuration else all data
+      will be lost on machine restart.
+    </description>
+  </property>
+  <property>
+    <name>hbase.tmp.dir</name>
+    <value>c:/hadoop/hbase-ams/hbase-tmp</value>
+    <description>
+      Temporary directory on the local filesystem.
+      Change this setting to point to a location more permanent
+      than '/tmp' (The '/tmp' directory is often cleared on
+      machine restart).
+    </description>
+  </property>
+</configuration>

+ 59 - 0
ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/AMS/configuration/ams-log4j.xml

@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<configuration supports_final="false">
+
+  <property>
+    <name>content</name>
+    <description>Custom log4j.properties</description>
+    <value>
+      #
+      # Licensed to the Apache Software Foundation (ASF) under one
+      # or more contributor license agreements.  See the NOTICE file
+      # distributed with this work for additional information
+      # regarding copyright ownership.  The ASF licenses this file
+      # to you under the Apache License, Version 2.0 (the
+      # "License"); you may not use this file except in compliance
+      # with the License.  You may obtain a copy of the License at
+      #
+      #     http://www.apache.org/licenses/LICENSE-2.0
+      #
+      # Unless required by applicable law or agreed to in writing, software
+      # distributed under the License is distributed on an "AS IS" BASIS,
+      # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+      # See the License for the specific language governing permissions and
+      # limitations under the License.
+      #
+
+      # Define some default values that can be overridden by system properties
+      # Root logger option
+      log4j.rootLogger=INFO,file
+
+      # Direct log messages to a log file
+      log4j.appender.file=org.apache.log4j.RollingFileAppender
+      log4j.appender.file.File=C:\\var\\log\\ambari-metrics-collector\\ambari-metrics-collector.log
+      log4j.appender.file.MaxFileSize=80MB
+      log4j.appender.file.MaxBackupIndex=60
+      log4j.appender.file.layout=org.apache.log4j.PatternLayout
+      log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p [%t] %c{1}:%L - %m%n
+    </value>
+  </property>
+
+</configuration>

+ 32 - 0
ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/AMS/configuration/ams-site.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<configuration>
+  <property>
+    <name>timeline.metrics.aggregator.checkpoint.dir</name>
+    <value>c:\ambari\ambari-metrics-collector\checkpoint</value>
+    <description>
+      Directory to store aggregator checkpoints. Change to a permanent
+      location so that checkpoint ar not lost.
+    </description>
+  </property>
+</configuration>

+ 26 - 0
ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/AMS/metainfo.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<metainfo>
+  <schemaVersion>2.0</schemaVersion>
+  <services>
+    <service>
+      <name>AMS</name>
+      <extends>common-services/AMS/0.1.0</extends>
+    </service>
+  </services>
+</metainfo>

+ 0 - 4659
ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HBASE/metrics.json

@@ -1,4659 +0,0 @@
-{
-  "HBASE_REGIONSERVER": {
-    "Component": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/hbase/regionserver/slowPutCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.slowPutCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/percentFilesLocal": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.percentFilesLocal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_min": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_min",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/blockCacheFree": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.blockCacheFreeSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/mutationsWithoutWALSize": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.mutationsWithoutWALSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/blockCacheMissCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.blockCacheMissCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/flushQueueSize": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.flushQueueLength",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_99th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_99th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_num_ops": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/slowAppendCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.slowAppendCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/blockCacheSize": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.blockCacheSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_num_ops": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/slowIncrementCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.slowIncrementCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/blockCacheEvictedCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.blockCacheEvictionCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_95th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_95th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/compactionQueueSize": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.compactionQueueLength",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_median": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_median",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_mean": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_mean",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/slowGetCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.slowGetCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/blockCacheCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.blockCacheCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_75th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_75th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/readRequestsCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.readRequestCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_min": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_min",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/storefileIndexSizeMB": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.storeFileIndexSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_median": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_median",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_max": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_max",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/totalStaticIndexSizeKB": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.staticIndexSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_num_ops": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_mean": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_mean",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/requests": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.totalRequestCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/storefiles": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.storeFileCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/mutationsWithoutWALCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.mutationsWithoutWALCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/writeRequestsCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.writeRequestCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_median": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_median",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/slowDeleteCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.slowDeleteCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_99th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_99th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/stores": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.storeCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_min": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_min",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_95th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_95th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_95th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_95th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/memstoreSizeMB": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.memStoreSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_max": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_max",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_mean": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_mean",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_75th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_75th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_max": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_max",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_75th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_75th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/regions": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.regionCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/totalStaticBloomSizeKB": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.staticBloomSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/blockCacheHitCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.blockCacheHitCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_99th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_99th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-    ],
-    "HostComponent": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/hbase/regionserver/slowPutCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.slowPutCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/percentFilesLocal": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.percentFilesLocal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_min": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_min",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/blockCacheFree": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.blockCacheFreeSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/mutationsWithoutWALSize": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.mutationsWithoutWALSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/blockCacheMissCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.blockCacheMissCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/flushQueueSize": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.flushQueueLength",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_99th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_99th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_num_ops": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/slowAppendCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.slowAppendCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/blockCacheSize": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.blockCacheSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_num_ops": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/slowIncrementCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.slowIncrementCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/blockCacheEvictedCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.blockCacheEvictionCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_95th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_95th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/compactionQueueSize": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.compactionQueueLength",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_median": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_median",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_mean": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_mean",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/slowGetCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.slowGetCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/blockCacheCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.blockCacheCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_75th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_75th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/readRequestsCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.readRequestCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_min": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_min",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/storefileIndexSizeMB": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.storeFileIndexSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_median": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_median",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_max": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_max",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/totalStaticIndexSizeKB": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.staticIndexSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_num_ops": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_mean": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_mean",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/requests": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.totalRequestCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/storefiles": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.storeFileCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/mutationsWithoutWALCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.mutationsWithoutWALCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/writeRequestsCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.writeRequestCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_median": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_median",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/slowDeleteCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.slowDeleteCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_99th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_99th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/stores": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.storeCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_min": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_min",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_95th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_95th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_95th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_95th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/memstoreSizeMB": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.memStoreSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_max": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_max",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_mean": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_mean",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_75th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_75th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/deleteRequestLatency_max": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Delete_max",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/putRequestLatency_75th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Mutate_75th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/regions": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.regionCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/totalStaticBloomSizeKB": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.staticBloomSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/blockCacheHitCount": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.blockCacheHitCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/regionserver/getRequestLatency_99th_percentile": {
-            "metric": "Hadoop:service=HBase,name=RegionServer,sub=Server.Get_99th_percentile",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-    ]
-  },
-  "HBASE_MASTER": {
-    "Component": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/rpc/regionServerReport.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReport.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memMaxM":{
-            "metric" : "Hadoop:service=HBase,name=JvmMetrics.MemMaxM",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/rpc/reportRSFatalError.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalError.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeRegionMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeRegionMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunningAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunningAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTimeAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcQueueTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTableNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTableNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/Revision": {
-            "metric": "hadoop:service=HBase,name=Info.revision",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/splitRegionAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.splitRegionAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptorsMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptorsMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatus.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatus.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/splitRegionNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.splitRegionNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersionAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersionAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getBlockCacheColumnFamilySummariesMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getBlockCacheColumnFamilySummariesMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumnMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumnMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClosestRowBeforeMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClosestRowBeforeMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignatureNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignatureNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcSlowResponseMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcSlowResponseMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/AverageLoad": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.averageLoad",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openScannerNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openScannerNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTable.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTable.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumn.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumn.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getCompactionStateMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getCompactionStateMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerReport.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReport.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMaster.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMaster.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumn.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumn.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHServerInfoAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHServerInfoAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rollHLogWriterMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rollHLogWriterMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offlineMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offlineMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignatureMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignatureMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/ServerName": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.tag.serverName",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHServerInfoMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHServerInfoMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitSizeMaxTime": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitSize_max",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/execCoprocessorAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.execCoprocessorAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTimeMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcProcessingTimeMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatusMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatusMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offline.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offline.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/ZookeeperQuorum": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.tag.zookeeperQuorum",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/hdfsDate": {
-            "metric": "hadoop:service=HBase,name=Info.hdfsDate",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTable.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTable.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offlineMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offlineMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offline.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offline.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClosestRowBeforeNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClosestRowBeforeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumnNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumnNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getLastFlushTimeNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getLastFlushTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMaster.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMaster.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTable.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTable.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/hdfsUrl": {
-            "metric": "hadoop:service=HBase,name=Info.hdfsUrl",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/multiMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.multiMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/revision": {
-            "metric": "hadoop:service=HBase,name=Info.revision",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumnMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumnMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumnMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumnMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptorsNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptorsNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTimeMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcQueueTimeMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/multiNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.multiNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersion.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersion.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offline.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offline.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTable.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTable.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTableMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTableMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerReportMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReportMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/reportRSFatalErrorNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalErrorNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumn.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumn.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassign.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassign.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/reportRSFatalErrorMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalErrorMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTable.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTable.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/existsAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.existsAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/MasterActiveTime": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.masterActiveTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getBlockCacheColumnFamilySummariesNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getBlockCacheColumnFamilySummariesNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTable.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTable.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationFailures": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rpcAuthorizationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/hdfsUser": {
-            "metric": "hadoop:service=HBase,name=Info.hdfsUser",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartupAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartupAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartupNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartupNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumnNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumnNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/version": {
-            "metric": "hadoop:service=HBase,name=Info.version",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitTimeMaxTime": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitTime_max",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitchNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitchNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMasterNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMasterNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitTimeNumOps": {
-            "metric": "hadoop:service=Master,name=MasterStatistics.splitTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/reportRSFatalErrorAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalErrorAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/replicateLogEntriesNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.replicateLogEntriesNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/multiMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.multiMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumnMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumnMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignature.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignature.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getLastFlushTimeMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getLastFlushTimeMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTable.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTable.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/NumOpenConnections": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.NumOpenConnections",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTimeNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcQueueTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerReportMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReportMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/IsActiveMaster": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.tag.isActiveMaster",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/bulkLoadHFilesMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.bulkLoadHFilesMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitch.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitch.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/MasterStartTime": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.masterStartTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitchMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitchMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unlockRowMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unlockRowMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/reportRSFatalError.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalError.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitch.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitch.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/execCoprocessorMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.execCoprocessorMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTable.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTable.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/putMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.putMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/flushRegionMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.flushRegionMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/nextNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.nextNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getOnlineRegionsAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getOnlineRegionsAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTableAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTableAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTable.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTable.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatusAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatusAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assign.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assign.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartup.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartup.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitch.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitch.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunningMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunningMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/existsNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.existsNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/compactRegionMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.compactRegionMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/bulkLoadHFilesMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.bulkLoadHFilesMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rollHLogWriterNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rollHLogWriterNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unlockRowAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unlockRowAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionsNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionsNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndDeleteMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndDeleteMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMaster.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMaster.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/splitRegionMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.splitRegionMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptorsMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptorsMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumn.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumn.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/moveMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.moveMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdown.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdown.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/appendNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.appendNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/appendAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.appendAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatusNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatusNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcSlowResponseNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcSlowResponseNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitSize_num_ops": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitSize_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/MasterActiveTime": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.masterActiveTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getLastFlushTimeMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getLastFlushTimeMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndPutNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndPutNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitTime_avg_time": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitTime_mean",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTableMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTableMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatus.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatus.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getCompactionStateMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getCompactionStateMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitTimeAvgTime": {
-            "metric": "hadoop:service=Master,name=MasterStatistics.splitTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getStoreFileListMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getStoreFileListMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignature.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignature.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTimeAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcProcessingTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementColumnValueNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementColumnValueNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTable.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTable.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/multiAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.multiAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTable.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTable.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdownAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdownAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getBlockCacheColumnFamilySummariesMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getBlockCacheColumnFamilySummariesMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumn.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumn.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumn.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumn.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTableNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTableNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersion.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersion.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/replicateLogEntriesAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.replicateLogEntriesAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/cluster_requests": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.clusterRequests",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHServerInfoMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHServerInfoMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatusMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatusMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationFailures": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rpcAuthenticationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/Coprocessors": {
-            "metric": "hadoop:service=Master,name=Master.Coprocessors",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unlockRowNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unlockRowNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatus.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatus.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartup.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartup.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementColumnValueMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementColumnValueMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumn.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumn.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersionMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersionMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/RegionsInTransition": {
-            "metric": "hadoop:service=Master,name=Master.RegionsInTransition",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitchAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitchAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatusMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatusMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassignMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassignMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/nextAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.nextAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rollHLogWriterMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rollHLogWriterMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatus.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatus.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/hdfsVersion": {
-            "metric": "hadoop:service=HBase,name=Info.hdfsVersion",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassignMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassignMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcSlowResponseAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcSlowResponseAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assignNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assignNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getLastFlushTimeAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getLastFlushTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatusAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatusAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/mutateRowNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.mutateRowNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClosestRowBeforeMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClosestRowBeforeMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerReport.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReport.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatus.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatus.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitchNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitchNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/RegionServers": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.numRegionServers",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/bulkLoadHFilesAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.bulkLoadHFilesAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/compactRegionAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.compactRegionAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTableMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTableMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTableNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTableNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openScannerMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openScannerMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/moveMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.moveMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndPutMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndPutMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTableAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTableAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assign.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assign.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/ClusterId": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.tag.clusterId",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersionMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersionMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartupMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartupMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTimeMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcQueueTimeMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTableNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTableNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTimeMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcProcessingTimeMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatus.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatus.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumnNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumnNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitSizeNumOps": {
-            "metric": "hadoop:service=Master,name=MasterStatistics.splitSizeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassignNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassignNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balance.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balance.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeRegionNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeRegionNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignature.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignature.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitchAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitchAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/appendMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.appendMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unlockRowMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unlockRowMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getStoreFileListMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getStoreFileListMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/moveAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.moveAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/mutateRowMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.mutateRowMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptors.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptors.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getCompactionStateAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getCompactionStateAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeRegionMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeRegionMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/reportRSFatalError.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalError.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcSlowResponseMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcSlowResponseMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitchMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitchMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/lockRowMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.lockRowMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openScannerMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openScannerMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getStoreFileListAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getStoreFileListAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionsAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionsAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTableMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTableMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getOnlineRegionsNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getOnlineRegionsNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumnAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumnAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/putMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.putMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/replicationCallQueueLen": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.replicationCallQueueLen",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTableMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTableMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/reportRSFatalErrorMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalErrorMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/flushRegionAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.flushRegionAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumn.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumn.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offline.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offline.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitTimeMinTime": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitTime_min",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTable.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTable.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/lockRowAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.lockRowAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/lockRowMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.lockRowMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitch.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitch.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatus.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatus.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumn.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumn.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunningNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunningNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumn.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumn.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/replicateLogEntriesMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.replicateLogEntriesMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionsMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionsMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balance.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balance.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/replicateLogEntriesMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.replicateLogEntriesMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/execCoprocessorMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.execCoprocessorMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitTime_num_ops": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitTime_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/RegionsInTransition": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.ritCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTableAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTableAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assignMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assignMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunning.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunning.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerReport.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReport.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationSuccesses": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rpcAuthenticationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTable.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTable.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/execCoprocessorNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.execCoprocessorNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/move.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.move.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdownMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdownMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assign.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assign.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerReportNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReportNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumnAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumnAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunning.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunning.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersion.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersion.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTable.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTable.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/HeapMemoryUsed": {
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[used]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rollHLogWriterAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rollHLogWriterAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getRegionInfoNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getRegionInfoNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/ReceivedBytes": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.ReceivedBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/move.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.move.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignatureAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignatureAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/NonHeapMemoryMax": {
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[max]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTableMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTableMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementColumnValueAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementColumnValueAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTableNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTableNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTable.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTable.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatus.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatus.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumnAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumnAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/reportRSFatalError.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalError.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/DeadRegionServers": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.numDeadRegionServers",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassign.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassign.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balance.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balance.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/nextMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.nextMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/AverageLoad": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.averageLoad",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/MasterStartTime": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.masterStartTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/appendMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.appendMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/priorityCallQueueLen": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.priorityCallQueueLen",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatusMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatusMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/bulkLoadHFilesNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.bulkLoadHFilesNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/callQueueLen": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.callQueueLen",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitchMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitchMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/flushRegionNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.flushRegionNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartup.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartup.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassignAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassignAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersionNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersionNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdown.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdown.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndPutMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndPutMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assignAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assignAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndDeleteMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndDeleteMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdownNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdownNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatusNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatusNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTable.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTable.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumn.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumn.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitch.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitch.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getCompactionStateNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getCompactionStateNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptorsAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptorsAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMaster.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMaster.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getRegionInfoMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getRegionInfoMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/putNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.putNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/hdfsRevision": {
-            "metric": "hadoop:service=HBase,name=Info.hdfsRevision",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/url": {
-            "metric": "hadoop:service=HBase,name=Info.url",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignature.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignature.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionsMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionsMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/compactRegionNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.compactRegionNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/nextMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.nextMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getOnlineRegionsMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getOnlineRegionsMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndDeleteNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndDeleteNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunning.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunning.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTable.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTable.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassign.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassign.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getRegionInfoAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getRegionInfoAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balance.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balance.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHServerInfoNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHServerInfoNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdown.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdown.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/NonHeapMemoryUsed": {
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[used]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumnMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumnMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getStoreFileListNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getStoreFileListNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTableMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTableMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumn.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumn.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitchMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitchMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunningMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunningMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeRegionAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeRegionAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTableAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTableAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assign.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assign.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offlineAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offlineAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/HeapMemoryMax": {
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[max]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/moveNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.moveNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementColumnValueMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementColumnValueMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitSize_avg_time": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitSize_mean",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndDeleteAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndDeleteAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/mutateRowAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.mutateRowAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/existsMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.existsMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitch.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitch.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTable.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTable.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitch.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitch.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/date": {
-            "metric": "hadoop:service=HBase,name=Info.date",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/flushRegionMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.flushRegionMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getOnlineRegionsMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getOnlineRegionsMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/user": {
-            "metric": "java.lang:type=Runtime.SystemProperties.user.name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptors.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptors.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClosestRowBeforeAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClosestRowBeforeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offlineNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offlineNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/SentBytes": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.SentBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTableMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTableMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndPutAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndPutAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openScannerAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openScannerAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMasterAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMasterAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assignMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assignMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/compactRegionMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.compactRegionMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumnMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumnMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTimeNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcProcessingTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/existsMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.existsMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTableMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTableMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitSizeMinTime": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitSize_min",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdown.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdown.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTableAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTableAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartup.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartup.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/lockRowNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.lockRowNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMasterMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMasterMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersion.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersion.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitch.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitch.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/move.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.move.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignatureMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignatureMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTable.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTable.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/splitRegionMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.splitRegionMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/mutateRowMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.mutateRowMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitSizeAvgTime": {
-            "metric": "hadoop:service=Master,name=MasterStatistics.splitSizeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerReportAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReportAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/putAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.putAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdownMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdownMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getBlockCacheColumnFamilySummariesAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getBlockCacheColumnFamilySummariesAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptors.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptors.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartupMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartupMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTableMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTableMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptors.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptors.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationSuccesses": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rpcAuthorizationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunning.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunning.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTable.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTable.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/Version": {
-            "metric": "hadoop:service=HBase,name=Info.version",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getRegionInfoMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getRegionInfoMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassign.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassign.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMasterMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMasterMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/move.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.move.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-    ],
-    "HostComponent": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/rpc/regionServerReport.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReport.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memMaxM":{
-            "metric" : "Hadoop:service=HBase,name=JvmMetrics.MemMaxM",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/rpc/reportRSFatalError.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalError.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeRegionMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeRegionMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunningAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunningAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTimeAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcQueueTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTableNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTableNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/splitRegionAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.splitRegionAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptorsMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptorsMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatus.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatus.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/splitRegionNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.splitRegionNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersionAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersionAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumnMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumnMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getBlockCacheColumnFamilySummariesMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getBlockCacheColumnFamilySummariesMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClosestRowBeforeMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClosestRowBeforeMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignatureNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignatureNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcSlowResponseMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcSlowResponseMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/AverageLoad": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.averageLoad",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openScannerNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openScannerNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTable.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTable.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumn.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumn.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getCompactionStateMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getCompactionStateMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMaster.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMaster.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerReport.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReport.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHServerInfoAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHServerInfoAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumn.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumn.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rollHLogWriterMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rollHLogWriterMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offlineMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offlineMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignatureMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignatureMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/ServerName": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.tag.serverName",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHServerInfoMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHServerInfoMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitSizeMaxTime": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitSize_max",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/execCoprocessorAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.execCoprocessorAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTimeMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcProcessingTimeMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatusMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatusMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offline.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offline.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/ZookeeperQuorum": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.tag.zookeeperQuorum",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/hdfsDate": {
-            "metric": "hadoop:service=HBase,name=Info.hdfsDate",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTable.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTable.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offlineMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offlineMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offline.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offline.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClosestRowBeforeNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClosestRowBeforeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumnNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumnNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getLastFlushTimeNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getLastFlushTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMaster.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMaster.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTable.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTable.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/hdfsUrl": {
-            "metric": "hadoop:service=HBase,name=Info.hdfsUrl",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/NonHeapMemoryMax": {
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[max]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/multiMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.multiMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/revision": {
-            "metric": "hadoop:service=HBase,name=Info.revision",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumnMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumnMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumnMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumnMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptorsNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptorsNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTimeMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcQueueTimeMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/multiNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.multiNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersion.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersion.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offline.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offline.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTable.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTable.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTableMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTableMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerReportMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReportMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/reportRSFatalErrorNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalErrorNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumn.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumn.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassign.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassign.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/reportRSFatalErrorMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalErrorMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTable.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTable.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/existsAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.existsAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/MasterActiveTime": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.masterActiveTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getBlockCacheColumnFamilySummariesNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getBlockCacheColumnFamilySummariesNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTable.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTable.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationFailures": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rpcAuthorizationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/hdfsUser": {
-            "metric": "hadoop:service=HBase,name=Info.hdfsUser",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartupAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartupAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartupNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartupNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumnNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumnNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/version": {
-            "metric": "hadoop:service=HBase,name=Info.version",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitTimeMaxTime": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitTime_max",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitchNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitchNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMasterNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMasterNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitTimeNumOps": {
-            "metric": "hadoop:service=Master,name=MasterStatistics.splitTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/reportRSFatalErrorAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalErrorAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/replicateLogEntriesNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.replicateLogEntriesNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/multiMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.multiMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumnMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumnMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignature.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignature.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getLastFlushTimeMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getLastFlushTimeMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTable.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTable.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/NumOpenConnections": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.NumOpenConnections",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTimeNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcQueueTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerReportMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReportMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/IsActiveMaster": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.tag.isActiveMaster",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/bulkLoadHFilesMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.bulkLoadHFilesMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitch.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitch.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/MasterStartTime": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.masterStartTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitchMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitchMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unlockRowMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unlockRowMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/reportRSFatalError.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalError.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitch.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitch.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/execCoprocessorMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.execCoprocessorMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTable.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTable.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/putMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.putMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/flushRegionMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.flushRegionMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/nextNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.nextNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getOnlineRegionsAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getOnlineRegionsAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTableAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTableAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTable.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTable.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatusAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatusAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assign.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assign.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartup.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartup.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitch.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitch.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunningMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunningMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/existsNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.existsNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/compactRegionMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.compactRegionMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/bulkLoadHFilesMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.bulkLoadHFilesMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rollHLogWriterNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rollHLogWriterNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unlockRowAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unlockRowAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionsNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionsNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndDeleteMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndDeleteMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMaster.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMaster.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/splitRegionMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.splitRegionMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptorsMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptorsMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumn.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumn.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/moveMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.moveMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdown.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdown.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/appendNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.appendNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/appendAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.appendAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatusNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatusNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcSlowResponseNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcSlowResponseNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitSize_num_ops": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitSize_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getLastFlushTimeMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getLastFlushTimeMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndPutNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndPutNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitTime_avg_time": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitTime_mean",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTableMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTableMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatus.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatus.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getCompactionStateMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getCompactionStateMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitTimeAvgTime": {
-            "metric": "hadoop:service=Master,name=MasterStatistics.splitTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getStoreFileListMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getStoreFileListMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignature.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignature.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTimeAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcProcessingTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementColumnValueNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementColumnValueNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTable.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTable.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/multiAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.multiAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTable.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTable.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdownAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdownAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getBlockCacheColumnFamilySummariesMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getBlockCacheColumnFamilySummariesMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumn.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumn.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumn.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumn.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTableNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTableNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersion.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersion.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/replicateLogEntriesAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.replicateLogEntriesAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/cluster_requests": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.clusterRequests",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHServerInfoMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHServerInfoMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatusMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatusMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationFailures": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rpcAuthenticationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/Coprocessors": {
-            "metric": "hadoop:service=Master,name=Master.Coprocessors",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unlockRowNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unlockRowNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatus.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatus.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartup.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartup.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumn.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumn.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementColumnValueMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementColumnValueMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersionMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersionMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/RegionsInTransition": {
-            "metric": "hadoop:service=Master,name=Master.RegionsInTransition",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitchAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitchAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatusMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatusMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassignMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassignMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/nextAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.nextAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rollHLogWriterMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rollHLogWriterMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatus.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatus.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/hdfsVersion": {
-            "metric": "hadoop:service=HBase,name=Info.hdfsVersion",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassignMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassignMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcSlowResponseAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcSlowResponseAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assignNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assignNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getLastFlushTimeAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getLastFlushTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatusAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatusAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/mutateRowNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.mutateRowNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClosestRowBeforeMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClosestRowBeforeMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerReport.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReport.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatus.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatus.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitchNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitchNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/RegionServers": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.numRegionServers",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/bulkLoadHFilesAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.bulkLoadHFilesAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/compactRegionAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.compactRegionAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTableMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTableMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTableNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTableNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openScannerMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openScannerMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/moveMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.moveMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndPutMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndPutMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTableAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTableAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assign.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assign.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/ClusterId": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.tag.clusterId",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersionMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersionMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartupMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartupMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTimeMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcQueueTimeMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTableNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTableNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTimeMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcProcessingTimeMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatus.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatus.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitSizeNumOps": {
-            "metric": "hadoop:service=Master,name=MasterStatistics.splitSizeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumnNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumnNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassignNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassignNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balance.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balance.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeRegionNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeRegionNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignature.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignature.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitchAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitchAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/appendMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.appendMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unlockRowMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unlockRowMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getStoreFileListMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getStoreFileListMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/moveAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.moveAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/mutateRowMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.mutateRowMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptors.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptors.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getCompactionStateAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getCompactionStateAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeRegionMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeRegionMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/reportRSFatalError.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalError.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/HeapMemoryMax": {
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[max]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcSlowResponseMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcSlowResponseMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitchMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitchMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/HeapMemoryUsed": {
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[used]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/lockRowMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.lockRowMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openScannerMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openScannerMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getStoreFileListAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getStoreFileListAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionsAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionsAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTableMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTableMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getOnlineRegionsNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getOnlineRegionsNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumnAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumnAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/replicationCallQueueLen": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.replicationCallQueueLen",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/putMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.putMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTableMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTableMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/reportRSFatalErrorMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalErrorMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/flushRegionAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.flushRegionAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumn.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumn.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offline.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offline.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitTimeMinTime": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitTime_min",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTable.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTable.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/lockRowAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.lockRowAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/lockRowMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.lockRowMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitch.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitch.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatus.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatus.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumn.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumn.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunningNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunningNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumn.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumn.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/replicateLogEntriesMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.replicateLogEntriesMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionsMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionsMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balance.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balance.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/replicateLogEntriesMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.replicateLogEntriesMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/execCoprocessorMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.execCoprocessorMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitTime_num_ops": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitTime_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTableAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTableAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assignMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assignMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunning.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunning.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerReport.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReport.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationSuccesses": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rpcAuthenticationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTable.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTable.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/execCoprocessorNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.execCoprocessorNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/NonHeapMemoryUsed": {
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[used]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/move.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.move.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdownMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdownMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assign.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assign.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerReportNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReportNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumnAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumnAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunning.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunning.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersion.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersion.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTable.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTable.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rollHLogWriterAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rollHLogWriterAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getRegionInfoNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getRegionInfoNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/ReceivedBytes": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.ReceivedBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/move.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.move.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignatureAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignatureAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTableMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTableMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementColumnValueAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementColumnValueAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTableNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTableNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTable.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTable.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClusterStatus.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClusterStatus.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumnAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumnAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/reportRSFatalError.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.reportRSFatalError.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/DeadRegionServers": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.numDeadRegionServers",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassign.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassign.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balance.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balance.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/nextMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.nextMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/appendMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.appendMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/priorityCallQueueLen": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.priorityCallQueueLen",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatusMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatusMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/bulkLoadHFilesNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.bulkLoadHFilesNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/callQueueLen": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.callQueueLen",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitchMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitchMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/flushRegionNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.flushRegionNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartup.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartup.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassignAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassignAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersionNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersionNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdown.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdown.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndPutMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndPutMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assignAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assignAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndDeleteMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndDeleteMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdownNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdownNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getAlterStatusNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getAlterStatusNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTable.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTable.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyColumn.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyColumn.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitch.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitch.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getCompactionStateNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getCompactionStateNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptorsAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptorsAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMaster.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMaster.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getRegionInfoMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getRegionInfoMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/putNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.putNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/hdfsRevision": {
-            "metric": "hadoop:service=HBase,name=Info.hdfsRevision",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/url": {
-            "metric": "hadoop:service=HBase,name=Info.url",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignature.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignature.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionsMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionsMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/compactRegionNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.compactRegionNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/nextMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.nextMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getOnlineRegionsMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getOnlineRegionsMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndDeleteNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndDeleteNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunning.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunning.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTable.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTable.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassign.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassign.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getRegionInfoAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getRegionInfoAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balance.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balance.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHServerInfoNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHServerInfoNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdown.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdown.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteColumnMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteColumnMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getStoreFileListNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getStoreFileListNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTableMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTableMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumn.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumn.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitchMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitchMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunningMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunningMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/closeRegionAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.closeRegionAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/disableTableAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.disableTableAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assign.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assign.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offlineAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offlineAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/moveNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.moveNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementColumnValueMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementColumnValueMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitSize_avg_time": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitSize_mean",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/load/AverageLoad": {
-            "metric": "hadoop:service=Master,name=Master.AverageLoad",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndDeleteAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndDeleteAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/mutateRowAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.mutateRowAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/existsMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.existsMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitch.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitch.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTable.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTable.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/synchronousBalanceSwitch.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.synchronousBalanceSwitch.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/date": {
-            "metric": "hadoop:service=HBase,name=Info.date",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/flushRegionMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.flushRegionMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getOnlineRegionsMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getOnlineRegionsMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/user": {
-            "metric": "java.lang:type=Runtime.SystemProperties.user.name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptors.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptors.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getClosestRowBeforeAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getClosestRowBeforeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/offlineNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.offlineNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/SentBytes": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.SentBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/incrementMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.incrementMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/deleteTableMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.deleteTableMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/checkAndPutAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.checkAndPutAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openScannerAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openScannerAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMasterAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMasterAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/assignMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.assignMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/compactRegionMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.compactRegionMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/openRegionMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.openRegionMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/addColumnMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.addColumnMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTimeNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.RpcProcessingTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/existsMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.existsMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTableMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTableMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitSizeMinTime": {
-            "metric": "Hadoop:service=HBase,name=Master,sub=Server.HlogSplitSize_min",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdown.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdown.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTableAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTableAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartup.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartup.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/lockRowNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.lockRowNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolVersion.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolVersion.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMasterMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMasterMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/balanceSwitch.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.balanceSwitch.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/move.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.move.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getProtocolSignatureMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getProtocolSignatureMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/modifyTable.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.modifyTable.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/splitRegionMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.splitRegionMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/mutateRowMinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.mutateRowMinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/hbase/master/splitSizeAvgTime": {
-            "metric": "hadoop:service=Master,name=MasterStatistics.splitSizeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerReportAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerReportAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/putAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.putAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getNumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/shutdownMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.shutdownMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getBlockCacheColumnFamilySummariesAvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getBlockCacheColumnFamilySummariesAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptors.aboveOneSec.MaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptors.aboveOneSec.MaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/regionServerStartupMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.regionServerStartupMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/createTableMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.createTableMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getHTableDescriptors.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getHTableDescriptors.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationSuccesses": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.rpcAuthorizationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/isMasterRunning.aboveOneSec.NumOps": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.isMasterRunning.aboveOneSec.NumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/enableTable.aboveOneSec.AvgTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.enableTable.aboveOneSec.AvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/getRegionInfoMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.getRegionInfoMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/unassign.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.unassign.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/stopMasterMaxTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.stopMasterMaxTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/move.aboveOneSec.MinTime": {
-            "metric": "hadoop:service=HBase,name=RPCStatistics.move.aboveOneSec.MinTime",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-    ]
-  }
-}

+ 0 - 2126
ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HDFS/metrics.json

@@ -1,2126 +0,0 @@
-{
-  "NAMENODE": {
-    "Component": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/dfs/namenode/Used": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Used",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/TotalLoad": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.TotalLoad",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memMaxM":{
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.MemMaxM",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/dfs/FSNamesystem/BlockCapacity": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.BlockCapacity",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/TotalFiles": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.TotalFiles",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/HostName": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.HostName",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/GetListingOps": {
-            "metric": "Hadoop:service=NameNode,name=NameNode.GetListingOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/UpgradeFinalized": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.UpgradeFinalized",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getProtocolVersion_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.getProtocolVersion_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/fsync_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.fsync_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginSuccess_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=ugi.loginSuccess_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/Safemode": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Safemode",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/CorruptBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystemMetrics.CorruptBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/LiveNodes": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.LiveNodes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/renewLease_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.renewLease_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getFileInfo_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.getFileInfo_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityRemaining": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CapacityRemaining",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/PercentRemaining": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.PercentRemaining",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memNonHeapUsedM": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.MemNonHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/complete_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.complete_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityTotalGB": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CapacityTotalGB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getBlockLocations_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.getBlockLocations_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/AddBlockOps": {
-            "metric": "Hadoop:service=NameNode,name=NameNode.AddBlockOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityUsedGB": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CapacityUsedGB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Syncs_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=NameNode.Syncs_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsBlocked": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.ThreadsBlocked",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTime_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.RpcQueueTime_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/PercentUsed": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.PercentUsed",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/DecomNodes": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.DecomNodes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/blockReport_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=NameNode.blockReport_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/NonDfsUsedSpace": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.NonDfsUsedSpace",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/UpgradeFinalized": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.UpgradeFinalized",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getFileInfo_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.getFileInfo_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getEditLogSize_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.getEditLogSize_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginSuccess_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=ugi.loginSuccess_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/blockReceived_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.blockReceived_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Safemode": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Safemode",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/FilesCreated": {
-            "metric": "Hadoop:service=NameNode,name=NameNode.FilesCreated",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/addBlock_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.addBlock_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/DecomNodes": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.DecomNodes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityUsed": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CapacityUsed",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/NonHeapMemoryUsed": {
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[used]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memNonHeapCommittedM": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.MemNonHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/DeadNodes": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.DeadNodes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/PercentUsed": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.PercentUsed",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Free": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Free",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Total": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Total",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/GetBlockLocations": {
-            "metric": "Hadoop:service=NameNode,name=NameNode.GetBlockLocations",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginFailure_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=ugi.loginFailure_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/fsync_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.fsync_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/HeapMemoryMax": {
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[max]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/create_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.create_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/PendingReplicationBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.PendingReplicationBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/UnderReplicatedBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystemMetrics.UnderReplicatedBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/FileInfoOps": {
-            "metric": "Hadoop:service=NameNode,name=NameNode.FileInfoOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/MissingBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystemMetrics.MissingBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/sendHeartbeat_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.sendHeartbeat_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTime_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.RpcProcessingTime_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/blockReport_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.blockReport_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/CapacityRemaining": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystemState.CapacityRemaining",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationSuccesses": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.rpcAuthenticationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/PendingDeletionBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.PendingDeletionBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationFailures": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.rpcAuthenticationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getEditLogSize_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.getEditLogSize_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memHeapCommittedM": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.MemHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/FilesInGetListingOps": {
-            "metric": "Hadoop:service=NameNode,name=NameNode.FilesInGetListingOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsRunnable": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.ThreadsRunnable",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/BlocksTotal": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystemMetrics.BlocksTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityTotal": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CapacityTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/complete_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.complete_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/LiveNodes": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.LiveNodes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsNew": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.ThreadsNew",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/rollFsImage_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.rollFsImage_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationFailures": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.rpcAuthorizationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Syncs_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=NameNode.Syncs_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/StartTime": {
-            "metric": "java.lang:type=Runtime.StartTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTime_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.RpcQueueTime_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/blockReceived_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.blockReceived_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/rollEditLog_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.rollEditLog_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/DeadNodes": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.DeadNodes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/SentBytes": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.SentBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/HeapMemoryUsed": {
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[used]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/FilesTotal": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.FilesTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Version": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Version",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logWarn": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.LogWarn",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/ExcessBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.ExcessBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsTimedWaiting": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.ThreadsTimedWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/gcCount": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.GcCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/PercentRemaining": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.PercentRemaining",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/ReceivedBytes": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.ReceivedBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/blockReport_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=NameNode.blockReport_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/NonHeapMemoryMax": {
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[max]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/rollFsImage_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.rollFsImage_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/NumOpenConnections": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.NumOpenConnections",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memHeapUsedM": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.MemHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/ScheduledReplicationBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.ScheduledReplicationBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsWaiting": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.ThreadsWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/BlocksTotal": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.BlocksTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/gcTimeMillis": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.GcTimeMillis",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getBlockLocations_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.getBlockLocations_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Transactions_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=NameNode.Transactions_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/create_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.create_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/CapacityTotal": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Total",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsTerminated": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.ThreadsTerminated",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityRemainingGB": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CapacityRemainingGB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Transactions_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=NameNode.Transactions_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/MissingBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.MissingBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Threads": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Threads",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/callQueueLen": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.callQueueLen",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CorruptBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CorruptBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/blockReport_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.blockReport_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/TotalFiles": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.TotalFiles",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logInfo": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.LogInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/NameDirStatuses": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.NameDirStatuses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getListing_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.getListing_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/rollEditLog_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.rollEditLog_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/addBlock_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.addBlock_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTime_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.RpcProcessingTime_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/CapacityUsed": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Used",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/UnderReplicatedBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.UnderReplicatedBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/sendHeartbeat_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.sendHeartbeat_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/CreateFileOps": {
-            "metric": "Hadoop:service=NameNode,name=NameNode.CreateFileOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logError": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.LogError",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginFailure_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=ugi.loginFailure_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getProtocolVersion_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.getProtocolVersion_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationSuccesses": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.rpcAuthorizationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/Version": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Version",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getListing_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.getListing_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logFatal": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.LogFatal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/NonDfsUsedSpace": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.NonDfsUsedSpace",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/renewLease_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.renewLease_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/TotalBlocks": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.TotalBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityNonDFSUsed": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CapacityNonDFSUsed",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-    ],
-    "HostComponent": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/dfs/namenode/Used": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Used",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/TotalLoad": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.TotalLoad",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memMaxM":{
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.MemMaxM",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/dfs/FSNamesystem/BlockCapacity": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.BlockCapacity",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/TotalFiles": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.TotalFiles",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/GetListingOps": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeActivity.GetListingOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/HostName": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeActivity.tag.Hostname",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/runtime/StartTime": {
-            "metric": "java.lang:type=Runtime.StartTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/UpgradeFinalized": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.UpgradeFinalized",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getProtocolVersion_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.VersionRequestNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/fsync_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.FsyncAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginSuccess_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=UgiMetrics.LoginSuccessAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/renewLease_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.renewLease_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityRemaining": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CapacityRemaining",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getFileInfo_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.GetFileInfoAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/PercentRemaining": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.PercentRemaining",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memNonHeapUsedM": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.MemNonHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/complete_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.CompleteAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityTotalGB": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CapacityTotalGB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getBlockLocations_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.GetBlockLocationsNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityUsedGB": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CapacityUsedGB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/AddBlockOps": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeActivity.AddBlockOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Syncs_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeActivity.SyncsAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsBlocked": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.ThreadsBlocked",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/PercentUsed": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.PercentUsed",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTime_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.RpcQueueTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/blockReport_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeActivity.BlockReportAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/HeapMemoryMax": {
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[max]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/HeapMemoryUsed": {
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[used]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getFileInfo_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.GetFileInfoNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getEditLogSize_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.GetEditLogManifestAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginSuccess_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=UgiMetrics.LoginSuccessNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/blockReceived_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.BlockReceivedAndDeletedAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/addBlock_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.AddBlockNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/FilesCreated": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeActivity.FilesCreated",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Safemode": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Safemode",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityUsed": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CapacityUsed",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/DecomNodes": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.DecomNodes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memNonHeapCommittedM": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.MemNonHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Free": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Free",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Total": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Total",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/HAState": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.tag#HAState",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/GetBlockLocations": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeActivity.GetBlockLocations",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginFailure_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=UgiMetrics.LoginFailureNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/fsync_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.FsyncNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/NonHeapMemoryMax": {
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[max]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/create_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.CreateAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/PendingReplicationBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.PendingReplicationBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/FileInfoOps": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeActivity.FileInfoOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/sendHeartbeat_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.SendHeartbeatNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTime_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.RpcProcessingTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/blockReport_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.BlockReportNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationSuccesses": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.RpcAuthenticationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/PendingDeletionBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.PendingDeletionBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationFailures": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.RpcAuthenticationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memHeapCommittedM": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.MemHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getEditLogSize_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.GetEditLogManifestNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/NonHeapMemoryUsed": {
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[used]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/FilesInGetListingOps": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeActivity.FilesInGetListingOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsRunnable": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.ThreadsRunnable",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityTotal": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CapacityTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/LiveNodes": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.LiveNodes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/complete_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.CompleteNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsNew": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.ThreadsNew",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/rollFsImage_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.rollFsImage_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationFailures": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.RpcAuthorizationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Syncs_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeActivity.SyncsNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTime_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.RpcQueueTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/blockReceived_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.BlockReceivedAndDeletedNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/rollEditLog_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.RollEditLogAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/DeadNodes": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.DeadNodes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/SentBytes": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.SentBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/FilesTotal": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.FilesTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Version": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Version",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logWarn": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.LogWarn",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/ExcessBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.ExcessBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsTimedWaiting": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.ThreadsTimedWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/gcCount": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.GcCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/ReceivedBytes": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.ReceivedBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/blockReport_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeActivity.BlockReportNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/rollFsImage_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.rollFsImage_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/NumOpenConnections": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.NumOpenConnections",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memHeapUsedM": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.MemHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/ScheduledReplicationBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.ScheduledReplicationBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsWaiting": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.ThreadsWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/BlocksTotal": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.BlocksTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/gcTimeMillis": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.GcTimeMillis",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getBlockLocations_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.GetBlockLocationsAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Transactions_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeActivity.TransactionsNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/create_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.CreateNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsTerminated": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.ThreadsTerminated",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityRemainingGB": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CapacityRemainingGB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Transactions_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeActivity.TransactionsAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/MissingBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.MissingBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/Threads": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.Threads",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/callQueueLen": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.CallQueueLength",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CorruptBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CorruptBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/blockReport_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.BlockReportAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logInfo": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.LogInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/NameDirStatuses": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.NameDirStatuses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getListing_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.GetListingNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/rollEditLog_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.RollEditLogNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/addBlock_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.AddBlockAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTime_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.RpcProcessingTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/UnderReplicatedBlocks": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.UnderReplicatedBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/sendHeartbeat_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.SendHeartbeatAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/CreateFileOps": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeActivity.CreateFileOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logError": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.LogError",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginFailure_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=UgiMetrics.LoginFailureAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getProtocolVersion_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.VersionRequestAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationSuccesses": {
-            "metric": "Hadoop:service=NameNode,name=RpcActivity.RpcAuthorizationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getListing_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.GetListingAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logFatal": {
-            "metric": "Hadoop:service=NameNode,name=JvmMetrics.LogFatal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/NonDfsUsedSpace": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.NonDfsUsedSpace",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/renewLease_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=RpcDetailedActivity.renewLease_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/JournalTransactionInfo": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.JournalTransactionInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityNonDFSUsed": {
-            "metric": "Hadoop:service=NameNode,name=FSNamesystem.CapacityUsedNonDFS",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/namenode/TotalBlocks": {
-            "metric": "Hadoop:service=NameNode,name=NameNodeInfo.TotalBlocks",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-    ]
-  },
-  "DATANODE": {
-    "HostComponent": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/rpcdetailed/getEditLogSize_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.getEditLogSize_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/TotalLoad": {
-            "metric": "Hadoop:service=DataNode,name=DataNode.TotalLoad",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memHeapCommittedM": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.MemHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/NonHeapMemoryUsed": {
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[used]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/BlockCapacity": {
-            "metric": "Hadoop:service=DataNode,name=DataNode.BlockCapacity",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsRunnable": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.ThreadsRunnable",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/complete_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.complete_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsNew": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.ThreadsNew",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/rollFsImage_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.rollFsImage_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationFailures": {
-            "metric": "Hadoop:service=DataNode,name=RpcActivity.RpcAuthorizationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/RpcPort": {
-            "metric": "Hadoop:service=DataNode,name=DataNodeInfo.RpcPort",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getProtocolVersion_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.getProtocolVersion_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTime_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcActivity.RpcQueueTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/fsync_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.fsync_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginSuccess_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=UgiMetrics.LoginSuccessAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/blockReceived_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.blockReceived_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/rollEditLog_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.rollEditLog_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/SentBytes": {
-            "metric": "Hadoop:service=DataNode,name=RpcActivity.SentBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/renewLease_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.renewLease_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getFileInfo_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.getFileInfo_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/FilesTotal": {
-            "metric": "Hadoop:service=DataNode,name=DataNode.FilesTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memNonHeapUsedM": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.MemNonHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/VolumeInfo": {
-            "metric": "Hadoop:service=DataNode,name=DataNodeInfo.VolumeInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/complete_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.complete_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logWarn": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.LogWarn",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityTotalGB": {
-            "metric": "Hadoop:service=DataNode,name=DataNode.CapacityTotalGB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/ExcessBlocks": {
-            "metric": "Hadoop:service=DataNode,name=DataNode.ExcessBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getBlockLocations_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.getBlockLocations_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/HttpPort": {
-            "metric": "Hadoop:service=DataNode,name=DataNodeInfo.HttpPort",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsTimedWaiting": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.ThreadsTimedWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/gcCount": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.GcCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityUsedGB": {
-            "metric": "Hadoop:service=DataNode,name=DataNode.CapacityUsedGB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/ReceivedBytes": {
-            "metric": "Hadoop:service=DataNode,name=RpcActivity.ReceivedBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/HostName": {
-            "metric": "Hadoop:service=DataNode,name=MetricsSystem,sub=Stats.tag.Hostname",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsBlocked": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.ThreadsBlocked",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTime_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcActivity.RpcQueueTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/HeapMemoryMax": {
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[max]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/HeapMemoryUsed": {
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[used]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/rollFsImage_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.rollFsImage_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/NumOpenConnections": {
-            "metric": "Hadoop:service=DataNode,name=RpcActivity.NumOpenConnections",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getFileInfo_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.getFileInfo_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memHeapUsedM": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.MemHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/ScheduledReplicationBlocks": {
-            "metric": "Hadoop:service=DataNode,name=DataNode.ScheduledReplicationBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsWaiting": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.ThreadsWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/BlocksTotal": {
-            "metric": "Hadoop:service=DataNode,name=DataNode.BlocksTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginSuccess_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=UgiMetrics.LoginSuccessNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getEditLogSize_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.getEditLogSize_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getBlockLocations_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.getBlockLocations_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/gcTimeMillis": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.GcTimeMillis",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/blockReceived_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.blockReceived_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/create_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.create_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsTerminated": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.ThreadsTerminated",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/addBlock_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.addBlock_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CapacityRemainingGB": {
-            "metric": "Hadoop:service=DataNode,name=DataNode.CapacityRemainingGB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/MissingBlocks": {
-            "metric": "Hadoop:service=DataNode,name=DataNode.MissingBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memNonHeapCommittedM": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.MemNonHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/callQueueLen": {
-            "metric": "Hadoop:service=DataNode,name=RpcActivity.CallQueueLength",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/CorruptBlocks": {
-            "metric": "Hadoop:service=DataNode,name=DataNode.CorruptBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/Version": {
-            "metric": "Hadoop:service=DataNode,name=DataNodeInfo.Version",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/blockReport_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.blockReport_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logInfo": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.LogInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getListing_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.getListing_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/rollEditLog_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.rollEditLog_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/addBlock_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.addBlock_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/NamenodeAddress": {
-            "metric": "Hadoop:service=DataNode,name=DataNodeInfo.NamenodeAddresses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTime_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcActivity.RpcProcessingTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginFailure_num_ops": {
-            "metric": "Hadoop:service=NameNode,name=UgiMetrics.LoginFailureNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/fsync_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.fsync_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/UnderReplicatedBlocks": {
-            "metric": "Hadoop:service=DataNode,name=DataNode.UnderReplicatedBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/NonHeapMemoryMax": {
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[max]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/PendingReplicationBlocks": {
-            "metric": "Hadoop:service=DataNode,name=DataNode.PendingReplicationBlocks",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/create_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.create_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/sendHeartbeat_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.sendHeartbeat_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logError": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.LogError",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginFailure_avg_time": {
-            "metric": "Hadoop:service=NameNode,name=UgiMetrics.LoginFailureAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getProtocolVersion_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.getProtocolVersion_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationSuccesses": {
-            "metric": "Hadoop:service=DataNode,name=RpcActivity.RpcAuthorizationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getListing_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.getListing_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/sendHeartbeat_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.sendHeartbeat_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logFatal": {
-            "metric": "Hadoop:service=DataNode,name=JvmMetrics.LogFatal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/renewLease_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.renewLease_avg_time",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTime_avg_time": {
-            "metric": "Hadoop:service=DataNode,name=RpcActivity.RpcProcessingTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/blockReport_num_ops": {
-            "metric": "Hadoop:service=DataNode,name=RpcDetailedActivity.blockReport_num_ops",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationSuccesses": {
-            "metric": "Hadoop:service=DataNode,name=RpcActivity.RpcAuthenticationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationFailures": {
-            "metric": "Hadoop:service=DataNode,name=RpcActivity.RpcAuthenticationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/FSNamesystem/PendingDeletionBlocks": {
-            "metric": "Hadoop:service=DataNode,name=DataNode.PendingDeletionBlocks",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-    ]
-  },
-  "JOURNALNODE": {
-    "HostComponent": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/jvm/memHeapCommittedM": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.MemHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/NonHeapMemoryUsed": {
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[used]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsRunnable": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.ThreadsRunnable",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs300s95thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs300s95thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsNew": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.ThreadsNew",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/finalizeLogSegment_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.FinalizeLogSegmentNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationFailures": {
-            "metric": "Hadoop:service=JournalNode,name=RpcActivity.RpcAuthorizationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginSuccess_avg_time": {
-            "metric": "Hadoop:service=JournalNode,name=UgiMetrics.LoginSuccessAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTime_avg_time": {
-            "metric": "Hadoop:service=JournalNode,name=RpcActivity.RpcQueueTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/startLogSegment_avg_time": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.StartLogSegmentAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/lastWriterEpoch": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).LastWriterEpoch",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getEditLogManifest_avg_time": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.GetEditLogManifestAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/SentBytes": {
-            "metric": "Hadoop:service=JournalNode,name=RpcActivity.SentBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memNonHeapUsedM": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.MemNonHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs60s_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs60sNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logWarn": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.LogWarn",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs3600s50thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs3600s50thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsTimedWaiting": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.ThreadsTimedWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/gcCount": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.GcCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs3600s95thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs3600s95thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/acceptRecovery_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.AcceptRecoveryNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/ReceivedBytes": {
-            "metric": "Hadoop:service=JournalNode,name=RpcActivity.ReceivedBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs3600s99thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs3600s99thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsBlocked": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.ThreadsBlocked",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/lastWrittenTxId": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).LastWrittenTxId",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTime_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=RpcActivity.RpcQueueTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/HeapMemoryMax": {
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[max]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/HeapMemoryUsed": {
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[used]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/newEpoch_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.NewEpochNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs60s75thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs60s75thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/NumOpenConnections": {
-            "metric": "Hadoop:service=JournalNode,name=RpcActivity.NumOpenConnections",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memHeapUsedM": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.MemHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/prepareRecovery_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.PrepareRecoveryNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/batchesWrittenWhileLagging": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).BatchesWrittenWhileLagging",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsWaiting": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.ThreadsWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/newEpoch_avg_time": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.NewEpochAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginSuccess_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=UgiMetrics.LoginSuccessNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/gcTimeMillis": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.GcTimeMillis",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs300s75thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs300s75thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsTerminated": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.ThreadsTerminated",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memMaxM": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.MemMaxM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs300s_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs300sNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs300s50thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs300s50thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getJournalState_avg_time": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.GetJournalStateAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/lastPromisedEpoch": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).LastPromisedEpoch",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/startTime": {
-            "metric": "java.lang:type=Runtime.StartTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs60s95thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs60s95thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/journalsStatus": {
-            "metric": "Hadoop:service=JournalNode,name=JournalNodeInfo.JournalsStatus",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memNonHeapCommittedM": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.MemNonHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs60s50thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs60s50thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/callQueueLen": {
-            "metric": "Hadoop:service=JournalNode,name=RpcActivity.CallQueueLength",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/journal_avg_time": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.JournalAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs3600s75thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs3600s75thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/finalizeLogSegment_avg_time": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.FinalizeLogSegmentAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs3600s90thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs3600s90thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/batchesWritten": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).BatchesWritten",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/startLogSegment_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.StartLogSegmentNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs60s90thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs60s90thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs3600s_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs3600sNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/prepareRecovery_avg_time": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.PrepareRecoveryAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logInfo": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.LogInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getJournalState_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.GetJournalStateNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/currentLagTxns": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).CurrentLagTxns",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTime_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=RpcActivity.RpcProcessingTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginFailure_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=UgiMetrics.LoginFailureNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/getEditLogManifest_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.GetEditLogManifestNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs300s99thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs300s99thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/NonHeapMemoryMax": {
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[max]",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs300s90thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs300s90thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/acceptRecovery_avg_time": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.AcceptRecoveryAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logError": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.LogError",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginFailure_avg_time": {
-            "metric": "Hadoop:service=JournalNode,name=UgiMetrics.LoginFailureAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/syncs60s99thPercentileLatencyMicros": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).Syncs60s99thPercentileLatencyMicros",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpcdetailed/journal_num_ops": {
-            "metric": "Hadoop:service=JournalNode,name=RpcDetailedActivity.JournalNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationSuccesses": {
-            "metric": "Hadoop:service=JournalNode,name=RpcActivity.RpcAuthorizationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/txnsWritten": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).TxnsWritten",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logFatal": {
-            "metric": "Hadoop:service=JournalNode,name=JvmMetrics.LogFatal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTime_avg_time": {
-            "metric": "Hadoop:service=JournalNode,name=RpcActivity.RpcProcessingTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationSuccesses": {
-            "metric": "Hadoop:service=JournalNode,name=RpcActivity.RpcAuthenticationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationFailures": {
-            "metric": "Hadoop:service=JournalNode,name=RpcActivity.RpcAuthenticationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/dfs/journalnode/cluster/$1.replaceAll(\"^-\",\"\")/bytesWritten": {
-            "metric": "Hadoop:service=JournalNode,name=Journal(-.+).BytesWritten",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-    ]
-  }
-}

+ 0 - 10
ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HDFS/package/scripts/hdfs.py

@@ -52,13 +52,3 @@ def hdfs(component=None):
             mode="f",
             configuration_attributes=params.config['configuration_attributes']['hdfs-site']
   )
-  File(os.path.join(params.hadoop_conf_dir, "hadoop-metrics2.properties"),
-       content=Template("hadoop-metrics2.properties.j2"),
-       owner=params.hdfs_user,
-       mode="f"
-  )
-  File(os.path.join(params.hbase_conf_dir, "hadoop-metrics2-hbase.properties"),
-       content=Template("hadoop-metrics2.properties.j2"),
-       owner=params.hdfs_user,
-       mode="f"
-  )

+ 1 - 8
ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HDFS/package/scripts/params.py

@@ -50,16 +50,9 @@ if dfs_ha_enabled:
     if hostname in nn_host:
       namenode_id = nn_id
       namenode_rpc = nn_host
-dbserver = config['configurations']['cluster-env']['sink.dbservername'].replace('\\', '\\\\')
-dblogin = config['configurations']['cluster-env']['sink.dblogin']
-dbpassword = config['configurations']['cluster-env']['sink.dbpassword']
-dburl = config['configurations']['cluster-env']['sink.jdbc.url'].replace('\\', '\\\\')
-
-if 'integratedSecurity=true' not in dburl:
-  dburl = dburl + ';user=' + dblogin + ';password=' + dbpassword;
 
 hdfs_user = "hadoop"
 
 grep_exe = "findstr"
 
-name_node_params = default("/commandParams/namenode", None)
+name_node_params = default("/commandParams/namenode", None)

+ 0 - 53
ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HDFS/package/templates/hadoop-metrics2.properties.j2

@@ -1,53 +0,0 @@
-{#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#}
-
-#
-#   Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  See the NOTICE file distributed with
-#   this work for additional information regarding copyright ownership.
-#   The ASF licenses this file to You under the Apache License, Version 2.0
-#   (the "License"); you may not use this file except in compliance with
-#   the License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing, software
-#   distributed under the License is distributed on an "AS IS" BASIS,
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#   See the License for the specific language governing permissions and
-#   limitations under the License.
-#
-
-# syntax: [prefix].[source|sink].[instance].[options]
-# See javadoc of package-info.java for org.apache.hadoop.metrics2 for details
-
-*.sink.sql.class=org.apache.hadoop.metrics2.sink.SqlServerSinkHadoop2
-
-namenode.sink.sql.databaseUrl={{dburl}}
-datanode.sink.sql.databaseUrl={{dburl}}
-jobtracker.sink.sql.databaseUrl={{dburl}}
-tasktracker.sink.sql.databaseUrl={{dburl}}
-maptask.sink.sql.databaseUrl={{dburl}}
-reducetask.sink.sql.databaseUrl={{dburl}}
-resourcemanager.sink.sql.databaseUrl={{dburl}}
-nodemanager.sink.sql.databaseUrl={{dburl}}
-historyserver.sink.sql.databaseUrl={{dburl}}
-journalnode.sink.sql.databaseUrl={{dburl}}
-nimbus.sink.sql.databaseUrl={{dburl}}
-supervisor.sink.sql.databaseUrl={{dburl}}
-hbase.sink.sql.databaseUrl={{dburl}}

+ 0 - 99
ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/STORM/metrics.json

@@ -1,99 +0,0 @@
-{
-  "STORM_REST_API": {
-    "Component": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/api/cluster/summary/tasks.total": {
-            "metric": "tasks.total",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/api/cluster/summary/slots.total": {
-            "metric": "slots.total",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/api/cluster/summary/slots.free": {
-            "metric": "slots.free",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/api/cluster/summary/supervisors": {
-            "metric": "supervisors",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/api/cluster/summary/executors.total": {
-            "metric": "executors.total",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/api/cluster/summary/slots.used": {
-            "metric": "slots.used",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/api/cluster/summary/topologies": {
-            "metric": "topologies",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/api/cluster/summary/nimbus.uptime": {
-            "metric": "nimbus.uptime",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-    ],
-    "HostComponent": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/api/cluster/summary/tasks.total": {
-            "metric": "tasks.total",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/api/cluster/summary/slots.total": {
-            "metric": "slots.total",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/api/cluster/summary/slots.free": {
-            "metric": "slots.free",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/api/cluster/summary/supervisors": {
-            "metric": "supervisors",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/api/cluster/summary/executors.total": {
-            "metric": "executors.total",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/api/cluster/summary/slots.used": {
-            "metric": "slots.used",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/api/cluster/summary/topologies": {
-            "metric": "topologies",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/api/cluster/summary/nimbus.uptime": {
-            "metric": "nimbus.uptime",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-
-    ]
-  }
-}

+ 0 - 3138
ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/YARN/metrics.json

@@ -1,3138 +0,0 @@
-{
-  "NODEMANAGER": {
-    "HostComponent": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/jvm/memHeapCommittedM": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.MemHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsRunnable": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.ThreadsRunnable",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsNew": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.ThreadsNew",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memNonHeapCommittedM": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.MemNonHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/callQueueLen": {
-            "metric": "Hadoop:service=NodeManager,name=RpcActivity.CallQueueLength",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationFailures": {
-            "metric": "Hadoop:service=NodeManager,name=RpcActivity.RpcAuthorizationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTime_avg_time": {
-            "metric": "Hadoop:service=NodeManager,name=RpcActivity.RpcQueueTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginSuccess_avg_time": {
-            "metric": "Hadoop:service=NodeManager,name=UgiMetrics.LoginSuccessAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/SentBytes": {
-            "metric": "Hadoop:service=NodeManager,name=RpcActivity.SentBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logInfo": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.LogInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memNonHeapUsedM": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.MemNonHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logWarn": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.LogWarn",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginFailure_num_ops": {
-            "metric": "Hadoop:service=NodeManager,name=UgiMetrics.LoginFailureNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsTimedWaiting": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.ThreadsTimedWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTime_num_ops": {
-            "metric": "Hadoop:service=NodeManager,name=RpcActivity.RpcProcessingTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/gcCount": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.GcCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/ReceivedBytes": {
-            "metric": "Hadoop:service=NodeManager,name=RpcActivity.ReceivedBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsBlocked": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.ThreadsBlocked",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTime_num_ops": {
-            "metric": "Hadoop:service=NodeManager,name=RpcActivity.RpcQueueTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logError": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.LogError",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginFailure_avg_time": {
-            "metric": "Hadoop:service=NodeManager,name=UgiMetrics.LoginFailureAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationSuccesses": {
-            "metric": "Hadoop:service=NodeManager,name=RpcActivity.RpcAuthorizationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/NumOpenConnections": {
-            "metric": "Hadoop:service=NodeManager,name=RpcActivity.NumOpenConnections",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memHeapUsedM": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.MemHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logFatal": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.LogFatal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTime_avg_time": {
-            "metric": "Hadoop:service=NodeManager,name=RpcActivity.RpcProcessingTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsWaiting": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.ThreadsWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/gcTimeMillis": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.GcTimeMillis",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginSuccess_num_ops": {
-            "metric": "Hadoop:service=NodeManager,name=UgiMetrics.LoginSuccessNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationSuccesses": {
-            "metric": "Hadoop:service=NodeManager,name=RpcActivity.RpcAuthenticationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationFailures": {
-            "metric": "Hadoop:service=NodeManager,name=RpcActivity.RpcAuthenticationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsTerminated": {
-            "metric": "Hadoop:service=NodeManager,name=JvmMetrics.ThreadsTerminated",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-    ]
-  },
-  "RESOURCEMANAGER": {
-    "Component": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AppsFailed": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AppsFailed",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/rm_metrics/cluster/rebootedNMcount": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumRebootedNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memHeapCommittedM": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.MemHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/ClusterMetrics/NumUnhealthyNMs": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumUnhealthyNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/HeapMemoryMax":{
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[max]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/jvm/HeapMemoryUsed":{
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[used]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/jvm/NonHeapMemoryMax":{
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[max]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/jvm/NonHeapMemoryUsed":{
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[used]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/jvm/threadsRunnable": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.ThreadsRunnable",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsNew": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.ThreadsNew",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/ClusterMetrics/NumRebootedNMs": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumRebootedNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/runtime/StartTime": {
-            "metric": "java.lang:type=Runtime.StartTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AppsKilled": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AppsKilled",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationFailures": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcAuthorizationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AggregateContainersAllocated": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AggregateContainersAllocated",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/ClusterMetrics/NumLostNMs": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumLostNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginSuccess_avg_time": {
-            "metric": "Hadoop:service=ResourceManager,name=UgiMetrics.LoginSuccessAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/StartTime": {
-            "metric": "java.lang:type=Runtime.StartTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTime_avg_time": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcQueueTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/ReservedContainers": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).ReservedContainers",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AppsSubmitted": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AppsSubmitted",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/SentBytes": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.SentBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/ClusterMetrics/NumActiveNMs": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumActiveNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/running_300": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).running_300",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memNonHeapUsedM": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.MemNonHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logWarn": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.LogWarn",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsTimedWaiting": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.ThreadsTimedWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/gcCount": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.GcCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/ReceivedBytes": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.ReceivedBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsBlocked": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.ThreadsBlocked",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/running_60": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).running_60",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTime_num_ops": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcQueueTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/ClusterMetrics/NumDecommissionedNMs": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumDecommissionedNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AllocatedContainers": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AllocatedContainers",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/PendingContainers": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).PendingContainers",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/NumOpenConnections": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.NumOpenConnections",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memHeapUsedM": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.MemHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsWaiting": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.ThreadsWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/gcTimeMillis": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.GcTimeMillis",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginSuccess_num_ops": {
-            "metric": "Hadoop:service=ResourceManager,name=UgiMetrics.LoginSuccessNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsTerminated": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.ThreadsTerminated",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memMaxM": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.MemMaxM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/rm_metrics/cluster/unhealthyNMcount": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumUnhealthyNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/ReservedVCores": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).ReservedVCores",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/rm_metrics/cluster/decommissionedNMcount": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumDecommissionedNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/startTime": {
-            "metric": "java.lang:type=Runtime.StartTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/ActiveApplications": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).ActiveApplications",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AvailableMB": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AvailableMB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memNonHeapCommittedM": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.MemNonHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/rm_metrics/cluster/nodeManagers": {
-            "metric": "Hadoop:service=ResourceManager,name=RMNMInfo.LiveNodeManagers",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/callQueueLen": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.CallQueueLength",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AllocatedVCores": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AllocatedVCores",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AppsPending": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AppsPending",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AppsCompleted": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AppsCompleted",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/ActiveUsers": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).ActiveUsers",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logInfo": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.LogInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AppsRunning": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AppsRunning",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/running_1440": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).running_1440",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AvailableVCores": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AvailableVCores",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginFailure_num_ops": {
-            "metric": "Hadoop:service=ResourceManager,name=UgiMetrics.LoginFailureNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTime_num_ops": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcProcessingTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/ReservedMB": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).ReservedMB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logError": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.LogError",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/PendingMB": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).PendingMB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginFailure_avg_time": {
-            "metric": "Hadoop:service=ResourceManager,name=UgiMetrics.LoginFailureAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationSuccesses": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcAuthorizationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logFatal": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.LogFatal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTime_avg_time": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcProcessingTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/rm_metrics/cluster/activeNMcount": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumActiveNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationSuccesses": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcAuthenticationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AggregateContainersReleased": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AggregateContainersReleased",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationFailures": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcAuthenticationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "ServiceComponentInfo/rm_metrics/cluster/lostNMcount": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumLostNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AllocatedMB": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AllocatedMB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/PendingVCores": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).PendingVCores",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-    ],
-    "HostComponent": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AppsFailed": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AppsFailed",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memHeapCommittedM": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.MemHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/ClusterMetrics/NumUnhealthyNMs": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumUnhealthyNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsRunnable": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.ThreadsRunnable",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsNew": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.ThreadsNew",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/ClusterMetrics/NumRebootedNMs": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumRebootedNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AppsKilled": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AppsKilled",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationFailures": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcAuthorizationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AggregateContainersAllocated": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AggregateContainersAllocated",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/ClusterMetrics/NumLostNMs": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumLostNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTime_avg_time": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcQueueTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginSuccess_avg_time": {
-            "metric": "Hadoop:service=ResourceManager,name=UgiMetrics.LoginSuccessAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/ReservedContainers": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).ReservedContainers",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AppsSubmitted": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AppsSubmitted",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/SentBytes": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.SentBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/ClusterMetrics/NumActiveNMs": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumActiveNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/running_300": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).running_300",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/HeapMemoryMax":{
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[max]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/jvm/HeapMemoryUsed":{
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[used]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/jvm/NonHeapMemoryMax":{
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[max]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/jvm/NonHeapMemoryUsed":{
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[used]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/jvm/memNonHeapUsedM": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.MemNonHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logWarn": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.LogWarn",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsTimedWaiting": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.ThreadsTimedWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/gcCount": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.GcCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/ReceivedBytes": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.ReceivedBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsBlocked": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.ThreadsBlocked",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/running_60": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).running_60",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTime_num_ops": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcQueueTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/ClusterMetrics/NumDecommissionedNMs": {
-            "metric": "Hadoop:service=ResourceManager,name=ClusterMetrics.NumDecommissionedNMs",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AllocatedContainers": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AllocatedContainers",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/PendingContainers": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).PendingContainers",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/NumOpenConnections": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.NumOpenConnections",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memHeapUsedM": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.MemHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsWaiting": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.ThreadsWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/gcTimeMillis": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.GcTimeMillis",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginSuccess_num_ops": {
-            "metric": "Hadoop:service=ResourceManager,name=UgiMetrics.LoginSuccessNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/threadsTerminated": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.ThreadsTerminated",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memMaxM": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.MemMaxM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/ReservedVCores": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).ReservedVCores",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/ActiveApplications": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).ActiveApplications",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AvailableMB": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AvailableMB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/memNonHeapCommittedM": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.MemNonHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/callQueueLen": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.CallQueueLength",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AppsPending": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AppsPending",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AllocatedVCores": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AllocatedVCores",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AppsCompleted": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AppsCompleted",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/ActiveUsers": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).ActiveUsers",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logInfo": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.LogInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AppsRunning": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AppsRunning",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/running_1440": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).running_1440",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AvailableVCores": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AvailableVCores",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginFailure_num_ops": {
-            "metric": "Hadoop:service=ResourceManager,name=UgiMetrics.LoginFailureNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTime_num_ops": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcProcessingTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/ReservedMB": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).ReservedMB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logError": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.LogError",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/PendingMB": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).PendingMB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ugi/loginFailure_avg_time": {
-            "metric": "Hadoop:service=ResourceManager,name=UgiMetrics.LoginFailureAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthorizationSuccesses": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcAuthorizationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/logFatal": {
-            "metric": "Hadoop:service=ResourceManager,name=JvmMetrics.LogFatal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTime_avg_time": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcProcessingTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationSuccesses": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcAuthenticationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AggregateContainersReleased": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AggregateContainersReleased",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/rpcAuthenticationFailures": {
-            "metric": "Hadoop:service=ResourceManager,name=RpcActivity.RpcAuthenticationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/AllocatedMB": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).AllocatedMB",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/yarn/Queue/$1.replaceAll(\",q(\\d+)=\",\"/\").substring(1)/PendingVCores": {
-            "metric": "Hadoop:service=ResourceManager,name=QueueMetrics(.+).PendingVCores",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-    ]
-  },
-  "HISTORYSERVER": {
-    "Component": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/rpc/ReceivedBytes": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.ReceivedBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/SentBytes": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.SentBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTimeNumOps": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcQueueTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTimeAvgTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcQueueTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTimeNumOps": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcProcessingTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTimeAvgTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcProcessingTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcAuthenticationFailures": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcAuthenticationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcAuthenticationSuccesses": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcAuthenticationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcAuthorizationFailures": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcAuthorizationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcAuthorizationSuccesses": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcAuthorizationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/NumOpenConnections": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.NumOpenConnections",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/CallQueueLength": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.CallQueueLength",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-
-          "metrics/jvm/MemNonHeapUsedM": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.MemNonHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/MemNonHeapCommittedM": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.MemNonHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/MemHeapUsedM": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.MemHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/MemHeapCommittedM": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.MemHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/MemMaxM": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.MemMaxM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/GcCountCopy": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.GcCountCopy",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/GcTimeMillisCopy": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.GcTimeMillisCopy",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/GcCountMarkSweepCompact": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.GcCountMarkSweepCompact",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/GcTimeMillisMarkSweepCompact": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.GcTimeMillisMarkSweepCompact",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/GcCount": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.GcCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/GcTimeMillis": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.GcTimeMillis",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/ThreadsNew": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.ThreadsNew",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/ThreadsRunnable": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.ThreadsRunnable",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/ThreadsBlocked": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.ThreadsBlocked",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/ThreadsWaiting": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.ThreadsWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/ThreadsTimedWaiting": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.ThreadsTimedWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/ThreadsTerminated": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.ThreadsTerminated",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/LogFatal": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.LogFatal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/LogError": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.LogError",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/LogWarn": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.LogWarn",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/LogInfo": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.LogInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-
-          "metrics/Memory/HeapMemoryMax":{
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[max]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/Memory/HeapMemoryUsed":{
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[used]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/Memory/HeapMemoryCommitted":{
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[committed]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/Memory/HeapMemoryInit":{
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[init]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/Memory/NonHeapMemoryMax":{
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[max]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/Memory/NonHeapMemoryUsed":{
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[used]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/Memory/NonHeapMemoryCommitted":{
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[committed]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/Memory/NonHeapMemoryInit":{
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[init]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-
-
-
-          "metrics/MBeanServerDelegate/MBeanServerId": {
-            "metric": "JMImplementation:type=MBeanServerDelegate.MBeanServerId",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MBeanServerDelegate/SpecificationName": {
-            "metric": "JMImplementation:type=MBeanServerDelegate.SpecificationName",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MBeanServerDelegate/SpecificationVersion": {
-            "metric": "JMImplementation:type=MBeanServerDelegate.SpecificationVersion",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MBeanServerDelegate/SpecificationVendor": {
-            "metric": "JMImplementation:type=MBeanServerDelegate.SpecificationVendor",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MBeanServerDelegate/ImplementationName": {
-            "metric": "JMImplementation:type=MBeanServerDelegate.ImplementationName",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MBeanServerDelegate/ImplementationVersion": {
-            "metric": "JMImplementation:type=MBeanServerDelegate.ImplementationVersion",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MBeanServerDelegate/ImplementationVendor": {
-            "metric": "JMImplementation:type=MBeanServerDelegate.ImplementationVendor",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/StartupProgress/ElapsedTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.ElapsedTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/PercentComplete": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.PercentComplete",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingFsImageCount": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingFsImageCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingFsImageElapsedTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingFsImageElapsedTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingFsImageTotal": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingFsImageTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingFsImagePercentComplete": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingFsImagePercentComplete",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingEditsCount": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingEditsCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingEditsElapsedTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingEditsElapsedTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingEditsTotal": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingEditsTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingEditsPercentComplete": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingEditsPercentComplete",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SavingCheckpointCount": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SavingCheckpointCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SavingCheckpointElapsedTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SavingCheckpointElapsedTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SavingCheckpointTotal": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SavingCheckpointTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SavingCheckpointPercentComplete": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SavingCheckpointPercentComplete",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SafeModeCount": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SafeModeCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SafeModeElapsedTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SafeModeElapsedTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SafeModeTotal": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SafeModeTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SafeModePercentComplete": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SafeModePercentComplete",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-          "metrics/HotSpotDiagnostic/DiagnosticOptions": {
-            "metric": "com.sun.management:type=HotSpotDiagnostic.DiagnosticOptions",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/MemoryManager/MemoryPoolNames": {
-            "metric": "java.lang:type=MemoryManager,name=CodeCacheManager.MemoryPoolNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryManager/Name": {
-            "metric": "java.lang:type=MemoryManager,name=CodeCacheManager.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryManager/Valid": {
-            "metric": "java.lang:type=MemoryManager,name=CodeCacheManager.Valid",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryManager/ObjectName": {
-            "metric": "java.lang:type=MemoryManager,name=CodeCacheManager.ObjectName",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-          "metrics/Logging/LoggerNames": {
-            "metric": "java.util.logging:type=Logging.LoggerNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-          "metrics/UgiMetrics/LoginSuccessNumOps": {
-            "metric": "Hadoop:service=JobHistoryServer,name=UgiMetrics.LoginSuccessNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/UgiMetrics/LoginSuccessAvgTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=UgiMetrics.LoginSuccessAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/UgiMetrics/LoginFailureNumOps": {
-            "metric": "Hadoop:service=JobHistoryServer,name=UgiMetrics.LoginFailureNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/UgiMetrics/LoginFailureAvgTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=UgiMetrics.LoginFailureAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/MemoryPool/SurvivorSpace/CollectionUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.CollectionUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/CollectionUsageThreshold": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.CollectionUsageThreshold",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/CollectionUsageThresholdCount": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.CollectionUsageThresholdCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/MemoryManagerNames": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.MemoryManagerNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/PeakUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.PeakUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/Usage": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.Usage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/CollectionUsageThresholdExceeded": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.CollectionUsageThresholdExceeded",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/CollectionUsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.CollectionUsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/UsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.UsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/Name": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/Type": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.Type",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/Valid": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.Valid",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/Threading/ThreadAllocatedMemoryEnabled": {
-            "metric": "java.lang:type=Threading.ThreadAllocatedMemoryEnabled",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/ThreadAllocatedMemorySupported": {
-            "metric": "java.lang:type=Threading.ThreadAllocatedMemorySupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/DaemonThreadCount": {
-            "metric": "java.lang:type=Threading.DaemonThreadCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/PeakThreadCount": {
-            "metric": "java.lang:type=Threading.PeakThreadCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/CurrentThreadCpuTimeSupported": {
-            "metric": "java.lang:type=Threading.CurrentThreadCpuTimeSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/ObjectMonitorUsageSupported": {
-            "metric": "java.lang:type=Threading.ObjectMonitorUsageSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/SynchronizerUsageSupported": {
-            "metric": "java.lang:type=Threading.SynchronizerUsageSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/ThreadContentionMonitoringSupported": {
-            "metric": "java.lang:type=Threading.ThreadContentionMonitoringSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/ThreadCpuTimeEnabled": {
-            "metric": "java.lang:type=Threading.ThreadCpuTimeEnabled",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/CurrentThreadCpuTime": {
-            "metric": "java.lang:type=Threading.CurrentThreadCpuTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/CurrentThreadUserTime": {
-            "metric": "java.lang:type=Threading.CurrentThreadUserTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/ThreadCount": {
-            "metric": "java.lang:type=Threading.ThreadCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/TotalStartedThreadCount": {
-            "metric": "java.lang:type=Threading.TotalStartedThreadCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/ThreadCpuTimeSupported": {
-            "metric": "java.lang:type=Threading.ThreadCpuTimeSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/ThreadContentionMonitoringEnabled": {
-            "metric": "java.lang:type=Threading.ThreadContentionMonitoringEnabled",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/AllThreadIds": {
-            "metric": "java.lang:type=Threading.AllThreadIds",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-          "metrics/ClassLoading/LoadedClassCount": {
-            "metric": "java.lang:type=ClassLoading.LoadedClassCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ClassLoading/UnloadedClassCount": {
-            "metric": "java.lang:type=ClassLoading.UnloadedClassCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ClassLoading/TotalLoadedClassCount": {
-            "metric": "java.lang:type=ClassLoading.TotalLoadedClassCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ClassLoading/Verbose": {
-            "metric": "java.lang:type=ClassLoading.Verbose",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/Runtime/BootClassPath": {
-            "metric": "java.lang:type=Runtime.BootClassPath",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/LibraryPath": {
-            "metric": "java.lang:type=Runtime.LibraryPath",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/VmName": {
-            "metric": "java.lang:type=Runtime.VmName",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/VmVendor": {
-            "metric": "java.lang:type=Runtime.VmVendor",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/VmVersion": {
-            "metric": "java.lang:type=Runtime.VmVersion",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/BootClassPathSupported": {
-            "metric": "java.lang:type=Runtime.BootClassPathSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/StartTime": {
-            "metric": "java.lang:type=Runtime.StartTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/InputArguments": {
-            "metric": "java.lang:type=Runtime.InputArguments",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/ManagementSpecVersion": {
-            "metric": "java.lang:type=Runtime.ManagementSpecVersion",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/SpecName": {
-            "metric": "java.lang:type=Runtime.SpecName",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/SpecVendor": {
-            "metric": "java.lang:type=Runtime.SpecVendor",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/SpecVersion": {
-            "metric": "java.lang:type=Runtime.SpecVersion",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/SystemProperties": {
-            "metric": "java.lang:type=Runtime.SystemProperties",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/Uptime": {
-            "metric": "java.lang:type=Runtime.Uptime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/Name": {
-            "metric": "java.lang:type=Runtime.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/ClassPath": {
-            "metric": "java.lang:type=Runtime.ClassPath",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-          "metrics/OperatingSystem/MaxFileDescriptorCount": {
-            "metric": "java.lang:type=OperatingSystem.MaxFileDescriptorCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/OpenFileDescriptorCount": {
-            "metric": "java.lang:type=OperatingSystem.OpenFileDescriptorCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/CommittedVirtualMemorySize": {
-            "metric": "java.lang:type=OperatingSystem.CommittedVirtualMemorySize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/FreePhysicalMemorySize": {
-            "metric": "java.lang:type=OperatingSystem.FreePhysicalMemorySize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/FreeSwapSpaceSize": {
-            "metric": "java.lang:type=OperatingSystem.FreeSwapSpaceSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/ProcessCpuLoad": {
-            "metric": "java.lang:type=OperatingSystem.ProcessCpuLoad",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/ProcessCpuTime": {
-            "metric": "java.lang:type=OperatingSystem.ProcessCpuTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/SystemCpuLoad": {
-            "metric": "java.lang:type=OperatingSystem.SystemCpuLoad",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/TotalPhysicalMemorySize": {
-            "metric": "java.lang:type=OperatingSystem.TotalPhysicalMemorySize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/TotalSwapSpaceSize": {
-            "metric": "java.lang:type=OperatingSystem.TotalSwapSpaceSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/AvailableProcessors": {
-            "metric": "java.lang:type=OperatingSystem.AvailableProcessors",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/Version": {
-            "metric": "java.lang:type=OperatingSystem.Version",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/Arch": {
-            "metric": "java.lang:type=OperatingSystem.Arch",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/SystemLoadAverage": {
-            "metric": "java.lang:type=OperatingSystem.SystemLoadAverage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/Name": {
-            "metric": "java.lang:type=OperatingSystem.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/MemoryPool/PermGen/CollectionUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.CollectionUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/CollectionUsageThreshold": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.CollectionUsageThreshold",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/CollectionUsageThresholdCount": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.CollectionUsageThresholdCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/MemoryManagerNames": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.MemoryManagerNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/PeakUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.PeakUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/Usage": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.Usage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/UsageThreshold": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.UsageThreshold",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/UsageThresholdCount": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.UsageThresholdCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/CollectionUsageThresholdExceeded": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.CollectionUsageThresholdExceeded",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/CollectionUsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.CollectionUsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/UsageThresholdExceeded": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.UsageThresholdExceeded",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/UsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.UsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/Name": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/Type": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.Type",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/Valid": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.Valid",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/BufferPool/mapred/Count": {
-            "metric": "java.nio:type=BufferPool,name=mapped.Count",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/BufferPool/mapred/MemoryUsed": {
-            "metric": "java.nio:type=BufferPool,name=mapped.MemoryUsed",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/BufferPool/mapred/TotalCapacity": {
-            "metric": "java.nio:type=BufferPool,name=mapped.TotalCapacity",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/BufferPool/mapred/Name": {
-            "metric": "java.nio:type=BufferPool,name=mapped.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/BufferPool/direct/Count": {
-            "metric": "java.nio:type=BufferPool,name=direct.Count",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/BufferPool/direct/MemoryUsed": {
-            "metric": "java.nio:type=BufferPool,name=direct.MemoryUsed",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/BufferPool/direct/TotalCapacity": {
-            "metric": "java.nio:type=BufferPool,name=direct.TotalCapacity",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/BufferPool/direct/Name": {
-            "metric": "java.nio:type=BufferPool,name=direct.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/GarbageCollector/MarkSweepCompact/LastGcInfo": {
-            "metric": "java.lang:type=GarbageCollector,name=MarkSweepCompact.LastGcInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/MarkSweepCompact/CollectionCount": {
-            "metric": "java.lang:type=GarbageCollector,name=MarkSweepCompact.CollectionCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/MarkSweepCompact/CollectionTime": {
-            "metric": "java.lang:type=GarbageCollector,name=MarkSweepCompact.CollectionTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/MarkSweepCompact/MemoryPoolNames": {
-            "metric": "java.lang:type=GarbageCollector,name=MarkSweepCompact.MemoryPoolNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/MarkSweepCompact/Name": {
-            "metric": "java.lang:type=GarbageCollector,name=MarkSweepCompact.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/MarkSweepCompact/Valid": {
-            "metric": "java.lang:type=GarbageCollector,name=MarkSweepCompact.Valid",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/Copy/LastGcInfo": {
-            "metric": "java.lang:type=GarbageCollector,name=Copy.LastGcInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/Copy/CollectionCount": {
-            "metric": "java.lang:type=GarbageCollector,name=Copy.CollectionCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/Copy/CollectionTime": {
-            "metric": "java.lang:type=GarbageCollector,name=Copy.CollectionTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/Copy/MemoryPoolNames": {
-            "metric": "java.lang:type=GarbageCollector,name=Copy.MemoryPoolNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/Copy/Name": {
-            "metric": "java.lang:type=GarbageCollector,name=Copy.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/Copy/Valid": {
-            "metric": "java.lang:type=GarbageCollector,name=Copy.Valid",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/MemoryPool/CodeCache/CollectionUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.CollectionUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/MemoryManagerNames": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.MemoryManagerNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/PeakUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.PeakUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/Usage": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.Usage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/UsageThreshold": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.UsageThreshold",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/UsageThresholdCount": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.UsageThresholdCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/CollectionUsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.CollectionUsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/UsageThresholdExceeded": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.UsageThresholdExceeded",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/UsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.UsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/Name": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/Type": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.Type",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/Valid": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.Valid",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-          "metrics/MemoryPool/EdenSpace/CollectionUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.CollectionUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/CollectionUsageThreshold": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.CollectionUsageThreshold",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/CollectionUsageThresholdCount": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.CollectionUsageThresholdCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/MemoryManagerNames": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.MemoryManagerNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/PeakUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.PeakUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/Usage": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.Usage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/CollectionUsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.CollectionUsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/CollectionUsageThresholdExceeded": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.CollectionUsageThresholdExceeded",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/UsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.UsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/Name": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/Type": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.Type",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/Valid": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.Valid",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-          "metrics/MemoryPool/TenuredGen/CollectionUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.CollectionUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/CollectionUsageThreshold": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.CollectionUsageThreshold",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/CollectionUsageThresholdCount": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.CollectionUsageThresholdCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/MemoryManagerNames": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.MemoryManagerNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/PeakUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.PeakUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/Usage": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.Usage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/UsageThreshold": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.UsageThreshold",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/UsageThresholdCount": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.UsageThresholdCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/CollectionUsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.CollectionUsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/CollectionUsageThresholdExceeded": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.CollectionUsageThresholdExceeded",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/UsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.UsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/UsageThresholdExceeded": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.UsageThresholdExceeded",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/Name": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/Type": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.Type",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/Valid": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.Valid",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-    ],
-    "HostComponent": [
-      {
-        "type": "jmx",
-        "metrics": {
-          "metrics/rpc/ReceivedBytes": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.ReceivedBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/SentBytes": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.SentBytes",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTimeNumOps": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcQueueTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcQueueTimeAvgTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcQueueTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTimeNumOps": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcProcessingTimeNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcProcessingTimeAvgTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcProcessingTimeAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcAuthenticationFailures": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcAuthenticationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcAuthenticationSuccesses": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcAuthenticationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcAuthorizationFailures": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcAuthorizationFailures",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/RpcAuthorizationSuccesses": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.RpcAuthorizationSuccesses",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/NumOpenConnections": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.NumOpenConnections",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/rpc/CallQueueLength": {
-            "metric": "Hadoop:service=JobHistoryServer,name=RpcActivity.CallQueueLength",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-
-          "metrics/jvm/MemNonHeapUsedM": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.MemNonHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/MemNonHeapCommittedM": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.MemNonHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/MemHeapUsedM": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.MemHeapUsedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/MemHeapCommittedM": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.MemHeapCommittedM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/MemMaxM": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.MemMaxM",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/GcCountCopy": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.GcCountCopy",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/GcTimeMillisCopy": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.GcTimeMillisCopy",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/GcCountMarkSweepCompact": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.GcCountMarkSweepCompact",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/GcTimeMillisMarkSweepCompact": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.GcTimeMillisMarkSweepCompact",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/GcCount": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.GcCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/GcTimeMillis": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.GcTimeMillis",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/ThreadsNew": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.ThreadsNew",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/ThreadsRunnable": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.ThreadsRunnable",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/ThreadsBlocked": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.ThreadsBlocked",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/ThreadsWaiting": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.ThreadsWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/ThreadsTimedWaiting": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.ThreadsTimedWaiting",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/ThreadsTerminated": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.ThreadsTerminated",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/LogFatal": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.LogFatal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/LogError": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.LogError",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/LogWarn": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.LogWarn",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/jvm/LogInfo": {
-            "metric": "Hadoop:service=JobHistoryServer,name=JvmMetrics.LogInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-
-          "metrics/Memory/HeapMemoryMax":{
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[max]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/Memory/HeapMemoryUsed":{
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[used]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/Memory/HeapMemoryCommitted":{
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[committed]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/Memory/HeapMemoryInit":{
-            "metric": "java.lang:type=Memory.HeapMemoryUsage[init]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/Memory/NonHeapMemoryMax":{
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[max]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/Memory/NonHeapMemoryUsed":{
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[used]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/Memory/NonHeapMemoryCommitted":{
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[committed]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-          "metrics/Memory/NonHeapMemoryInit":{
-            "metric": "java.lang:type=Memory.NonHeapMemoryUsage[init]",
-            "pointInTime" : true,
-            "temporal" : false
-          },
-
-
-
-          "metrics/MBeanServerDelegate/MBeanServerId": {
-            "metric": "JMImplementation:type=MBeanServerDelegate.MBeanServerId",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MBeanServerDelegate/SpecificationName": {
-            "metric": "JMImplementation:type=MBeanServerDelegate.SpecificationName",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MBeanServerDelegate/SpecificationVersion": {
-            "metric": "JMImplementation:type=MBeanServerDelegate.SpecificationVersion",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MBeanServerDelegate/SpecificationVendor": {
-            "metric": "JMImplementation:type=MBeanServerDelegate.SpecificationVendor",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MBeanServerDelegate/ImplementationName": {
-            "metric": "JMImplementation:type=MBeanServerDelegate.ImplementationName",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MBeanServerDelegate/ImplementationVersion": {
-            "metric": "JMImplementation:type=MBeanServerDelegate.ImplementationVersion",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MBeanServerDelegate/ImplementationVendor": {
-            "metric": "JMImplementation:type=MBeanServerDelegate.ImplementationVendor",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/StartupProgress/ElapsedTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.ElapsedTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/PercentComplete": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.PercentComplete",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingFsImageCount": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingFsImageCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingFsImageElapsedTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingFsImageElapsedTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingFsImageTotal": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingFsImageTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingFsImagePercentComplete": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingFsImagePercentComplete",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingEditsCount": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingEditsCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingEditsElapsedTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingEditsElapsedTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingEditsTotal": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingEditsTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/LoadingEditsPercentComplete": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.LoadingEditsPercentComplete",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SavingCheckpointCount": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SavingCheckpointCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SavingCheckpointElapsedTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SavingCheckpointElapsedTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SavingCheckpointTotal": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SavingCheckpointTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SavingCheckpointPercentComplete": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SavingCheckpointPercentComplete",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SafeModeCount": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SafeModeCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SafeModeElapsedTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SafeModeElapsedTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SafeModeTotal": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SafeModeTotal",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/StartupProgress/SafeModePercentComplete": {
-            "metric": "Hadoop:service=JobHistoryServer,name=StartupProgress.SafeModePercentComplete",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-          "metrics/HotSpotDiagnostic/DiagnosticOptions": {
-            "metric": "com.sun.management:type=HotSpotDiagnostic.DiagnosticOptions",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/MemoryManager/MemoryPoolNames": {
-            "metric": "java.lang:type=MemoryManager,name=CodeCacheManager.MemoryPoolNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryManager/Name": {
-            "metric": "java.lang:type=MemoryManager,name=CodeCacheManager.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryManager/Valid": {
-            "metric": "java.lang:type=MemoryManager,name=CodeCacheManager.Valid",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryManager/ObjectName": {
-            "metric": "java.lang:type=MemoryManager,name=CodeCacheManager.ObjectName",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-          "metrics/Logging/LoggerNames": {
-            "metric": "java.util.logging:type=Logging.LoggerNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-          "metrics/UgiMetrics/LoginSuccessNumOps": {
-            "metric": "Hadoop:service=JobHistoryServer,name=UgiMetrics.LoginSuccessNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/UgiMetrics/LoginSuccessAvgTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=UgiMetrics.LoginSuccessAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/UgiMetrics/LoginFailureNumOps": {
-            "metric": "Hadoop:service=JobHistoryServer,name=UgiMetrics.LoginFailureNumOps",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/UgiMetrics/LoginFailureAvgTime": {
-            "metric": "Hadoop:service=JobHistoryServer,name=UgiMetrics.LoginFailureAvgTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/MemoryPool/SurvivorSpace/CollectionUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.CollectionUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/CollectionUsageThreshold": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.CollectionUsageThreshold",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/CollectionUsageThresholdCount": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.CollectionUsageThresholdCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/MemoryManagerNames": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.MemoryManagerNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/PeakUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.PeakUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/Usage": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.Usage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/CollectionUsageThresholdExceeded": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.CollectionUsageThresholdExceeded",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/CollectionUsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.CollectionUsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/UsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.UsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/Name": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/Type": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.Type",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/SurvivorSpace/Valid": {
-            "metric": "java.lang:type=MemoryPool,name=Survivor Space.Valid",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/Threading/ThreadAllocatedMemoryEnabled": {
-            "metric": "java.lang:type=Threading.ThreadAllocatedMemoryEnabled",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/ThreadAllocatedMemorySupported": {
-            "metric": "java.lang:type=Threading.ThreadAllocatedMemorySupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/DaemonThreadCount": {
-            "metric": "java.lang:type=Threading.DaemonThreadCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/PeakThreadCount": {
-            "metric": "java.lang:type=Threading.PeakThreadCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/CurrentThreadCpuTimeSupported": {
-            "metric": "java.lang:type=Threading.CurrentThreadCpuTimeSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/ObjectMonitorUsageSupported": {
-            "metric": "java.lang:type=Threading.ObjectMonitorUsageSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/SynchronizerUsageSupported": {
-            "metric": "java.lang:type=Threading.SynchronizerUsageSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/ThreadContentionMonitoringSupported": {
-            "metric": "java.lang:type=Threading.ThreadContentionMonitoringSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/ThreadCpuTimeEnabled": {
-            "metric": "java.lang:type=Threading.ThreadCpuTimeEnabled",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/CurrentThreadCpuTime": {
-            "metric": "java.lang:type=Threading.CurrentThreadCpuTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/CurrentThreadUserTime": {
-            "metric": "java.lang:type=Threading.CurrentThreadUserTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/ThreadCount": {
-            "metric": "java.lang:type=Threading.ThreadCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/TotalStartedThreadCount": {
-            "metric": "java.lang:type=Threading.TotalStartedThreadCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/ThreadCpuTimeSupported": {
-            "metric": "java.lang:type=Threading.ThreadCpuTimeSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/ThreadContentionMonitoringEnabled": {
-            "metric": "java.lang:type=Threading.ThreadContentionMonitoringEnabled",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Threading/AllThreadIds": {
-            "metric": "java.lang:type=Threading.AllThreadIds",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-          "metrics/ClassLoading/LoadedClassCount": {
-            "metric": "java.lang:type=ClassLoading.LoadedClassCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ClassLoading/UnloadedClassCount": {
-            "metric": "java.lang:type=ClassLoading.UnloadedClassCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ClassLoading/TotalLoadedClassCount": {
-            "metric": "java.lang:type=ClassLoading.TotalLoadedClassCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/ClassLoading/Verbose": {
-            "metric": "java.lang:type=ClassLoading.Verbose",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/Runtime/BootClassPath": {
-            "metric": "java.lang:type=Runtime.BootClassPath",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/LibraryPath": {
-            "metric": "java.lang:type=Runtime.LibraryPath",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/VmName": {
-            "metric": "java.lang:type=Runtime.VmName",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/VmVendor": {
-            "metric": "java.lang:type=Runtime.VmVendor",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/VmVersion": {
-            "metric": "java.lang:type=Runtime.VmVersion",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/BootClassPathSupported": {
-            "metric": "java.lang:type=Runtime.BootClassPathSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/StartTime": {
-            "metric": "java.lang:type=Runtime.StartTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/InputArguments": {
-            "metric": "java.lang:type=Runtime.InputArguments",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/ManagementSpecVersion": {
-            "metric": "java.lang:type=Runtime.ManagementSpecVersion",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/SpecName": {
-            "metric": "java.lang:type=Runtime.SpecName",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/SpecVendor": {
-            "metric": "java.lang:type=Runtime.SpecVendor",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/SpecVersion": {
-            "metric": "java.lang:type=Runtime.SpecVersion",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/SystemProperties": {
-            "metric": "java.lang:type=Runtime.SystemProperties",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/Uptime": {
-            "metric": "java.lang:type=Runtime.Uptime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/Name": {
-            "metric": "java.lang:type=Runtime.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/Runtime/ClassPath": {
-            "metric": "java.lang:type=Runtime.ClassPath",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-          "metrics/OperatingSystem/MaxFileDescriptorCount": {
-            "metric": "java.lang:type=OperatingSystem.MaxFileDescriptorCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/OpenFileDescriptorCount": {
-            "metric": "java.lang:type=OperatingSystem.OpenFileDescriptorCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/CommittedVirtualMemorySize": {
-            "metric": "java.lang:type=OperatingSystem.CommittedVirtualMemorySize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/FreePhysicalMemorySize": {
-            "metric": "java.lang:type=OperatingSystem.FreePhysicalMemorySize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/FreeSwapSpaceSize": {
-            "metric": "java.lang:type=OperatingSystem.FreeSwapSpaceSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/ProcessCpuLoad": {
-            "metric": "java.lang:type=OperatingSystem.ProcessCpuLoad",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/ProcessCpuTime": {
-            "metric": "java.lang:type=OperatingSystem.ProcessCpuTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/SystemCpuLoad": {
-            "metric": "java.lang:type=OperatingSystem.SystemCpuLoad",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/TotalPhysicalMemorySize": {
-            "metric": "java.lang:type=OperatingSystem.TotalPhysicalMemorySize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/TotalSwapSpaceSize": {
-            "metric": "java.lang:type=OperatingSystem.TotalSwapSpaceSize",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/AvailableProcessors": {
-            "metric": "java.lang:type=OperatingSystem.AvailableProcessors",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/Version": {
-            "metric": "java.lang:type=OperatingSystem.Version",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/Arch": {
-            "metric": "java.lang:type=OperatingSystem.Arch",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/SystemLoadAverage": {
-            "metric": "java.lang:type=OperatingSystem.SystemLoadAverage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/OperatingSystem/Name": {
-            "metric": "java.lang:type=OperatingSystem.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/MemoryPool/PermGen/CollectionUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.CollectionUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/CollectionUsageThreshold": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.CollectionUsageThreshold",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/CollectionUsageThresholdCount": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.CollectionUsageThresholdCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/MemoryManagerNames": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.MemoryManagerNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/PeakUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.PeakUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/Usage": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.Usage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/UsageThreshold": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.UsageThreshold",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/UsageThresholdCount": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.UsageThresholdCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/CollectionUsageThresholdExceeded": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.CollectionUsageThresholdExceeded",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/CollectionUsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.CollectionUsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/UsageThresholdExceeded": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.UsageThresholdExceeded",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/UsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.UsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/Name": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/Type": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.Type",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/PermGen/Valid": {
-            "metric": "java.lang:type=MemoryPool,name=Perm Gen.Valid",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/BufferPool/mapred/Count": {
-            "metric": "java.nio:type=BufferPool,name=mapped.Count",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/BufferPool/mapred/MemoryUsed": {
-            "metric": "java.nio:type=BufferPool,name=mapped.MemoryUsed",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/BufferPool/mapred/TotalCapacity": {
-            "metric": "java.nio:type=BufferPool,name=mapped.TotalCapacity",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/BufferPool/mapred/Name": {
-            "metric": "java.nio:type=BufferPool,name=mapped.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/BufferPool/direct/Count": {
-            "metric": "java.nio:type=BufferPool,name=direct.Count",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/BufferPool/direct/MemoryUsed": {
-            "metric": "java.nio:type=BufferPool,name=direct.MemoryUsed",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/BufferPool/direct/TotalCapacity": {
-            "metric": "java.nio:type=BufferPool,name=direct.TotalCapacity",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/BufferPool/direct/Name": {
-            "metric": "java.nio:type=BufferPool,name=direct.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/GarbageCollector/MarkSweepCompact/LastGcInfo": {
-            "metric": "java.lang:type=GarbageCollector,name=MarkSweepCompact.LastGcInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/MarkSweepCompact/CollectionCount": {
-            "metric": "java.lang:type=GarbageCollector,name=MarkSweepCompact.CollectionCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/MarkSweepCompact/CollectionTime": {
-            "metric": "java.lang:type=GarbageCollector,name=MarkSweepCompact.CollectionTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/MarkSweepCompact/MemoryPoolNames": {
-            "metric": "java.lang:type=GarbageCollector,name=MarkSweepCompact.MemoryPoolNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/MarkSweepCompact/Name": {
-            "metric": "java.lang:type=GarbageCollector,name=MarkSweepCompact.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/MarkSweepCompact/Valid": {
-            "metric": "java.lang:type=GarbageCollector,name=MarkSweepCompact.Valid",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/Copy/LastGcInfo": {
-            "metric": "java.lang:type=GarbageCollector,name=Copy.LastGcInfo",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/Copy/CollectionCount": {
-            "metric": "java.lang:type=GarbageCollector,name=Copy.CollectionCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/Copy/CollectionTime": {
-            "metric": "java.lang:type=GarbageCollector,name=Copy.CollectionTime",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/Copy/MemoryPoolNames": {
-            "metric": "java.lang:type=GarbageCollector,name=Copy.MemoryPoolNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/Copy/Name": {
-            "metric": "java.lang:type=GarbageCollector,name=Copy.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/GarbageCollector/Copy/Valid": {
-            "metric": "java.lang:type=GarbageCollector,name=Copy.Valid",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-
-
-          "metrics/MemoryPool/CodeCache/CollectionUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.CollectionUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/MemoryManagerNames": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.MemoryManagerNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/PeakUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.PeakUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/Usage": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.Usage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/UsageThreshold": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.UsageThreshold",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/UsageThresholdCount": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.UsageThresholdCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/CollectionUsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.CollectionUsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/UsageThresholdExceeded": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.UsageThresholdExceeded",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/UsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.UsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/Name": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/Type": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.Type",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/CodeCache/Valid": {
-            "metric": "java.lang:type=MemoryPool,name=Code Cache.Valid",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-          "metrics/MemoryPool/EdenSpace/CollectionUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.CollectionUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/CollectionUsageThreshold": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.CollectionUsageThreshold",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/CollectionUsageThresholdCount": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.CollectionUsageThresholdCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/MemoryManagerNames": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.MemoryManagerNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/PeakUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.PeakUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/Usage": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.Usage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/CollectionUsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.CollectionUsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/CollectionUsageThresholdExceeded": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.CollectionUsageThresholdExceeded",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/UsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.UsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/Name": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/Type": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.Type",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/EdenSpace/Valid": {
-            "metric": "java.lang:type=MemoryPool,name=Eden Space.Valid",
-            "pointInTime": true,
-            "temporal": false
-          },
-
-          "metrics/MemoryPool/TenuredGen/CollectionUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.CollectionUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/CollectionUsageThreshold": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.CollectionUsageThreshold",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/CollectionUsageThresholdCount": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.CollectionUsageThresholdCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/MemoryManagerNames": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.MemoryManagerNames",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/PeakUsage": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.PeakUsage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/Usage": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.Usage",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/UsageThreshold": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.UsageThreshold",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/UsageThresholdCount": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.UsageThresholdCount",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/CollectionUsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.CollectionUsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/CollectionUsageThresholdExceeded": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.CollectionUsageThresholdExceeded",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/UsageThresholdSupported": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.UsageThresholdSupported",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/UsageThresholdExceeded": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.UsageThresholdExceeded",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/Name": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.Name",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/Type": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.Type",
-            "pointInTime": true,
-            "temporal": false
-          },
-          "metrics/MemoryPool/TenuredGen/Valid": {
-            "metric": "java.lang:type=MemoryPool,name=Tenured Gen.Valid",
-            "pointInTime": true,
-            "temporal": false
-          }
-        }
-      }
-    ]
-  }
-}

+ 26 - 0
ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/AMS/metainfo.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<metainfo>
+  <schemaVersion>2.0</schemaVersion>
+  <services>
+    <service>
+      <name>AMS</name>
+      <version>0.1.0</version>
+    </service>
+  </services>
+</metainfo>