You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sw...@apache.org on 2015/10/23 02:03:16 UTC

[1/4] ambari git commit: AMBARI-13409. AMS Load Simulator updates. (Aravindan Vijayan via swagle)

Repository: ambari
Updated Branches:
  refs/heads/branch-2.1 2a4181c9d -> 188eca064


http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/HBASE.dat
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/HBASE.dat b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/HBASE.dat
new file mode 100644
index 0000000..ae60458
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/HBASE.dat
@@ -0,0 +1,47 @@
+dfs.FSNamesystem.MissingReplOneBlocks
+dfs.FSNamesystem.TransactionsSinceLastCheckpoint
+dfs.FSNamesystem.MillisSinceLastLoadedEdits
+dfs.FSNamesystem.SnapshottableDirectories
+master.Master.QueueCallTime_median
+dfs.FSNamesystem.LastCheckpointTime
+dfs.FSNamesystem.TotalFiles
+dfs.FSNamesystem.ExpiredHeartbeats
+dfs.FSNamesystem.PostponedMisreplicatedBlocks
+dfs.FSNamesystem.LastWrittenTransactionId
+jvm.JvmMetrics.MemHeapCommittedM
+dfs.FSNamesystem.Snapshots
+dfs.FSNamesystem.TransactionsSinceLastLogRoll
+master.Server.averageLoad
+jvm.JvmMetrics.MemHeapUsedM
+master.AssignmentManger.ritCount
+dfs.FSNamesystem.PendingDataNodeMessageCount
+dfs.FSNamesystem.StaleDataNodes
+|hostname|
+regionserver.Server.percentFilesLocal
+||
+regionserver.Server.Append_num_ops._sum
+pkts_out._avg
+cpu_wio._sum
+regionserver.Server.Delete_num_ops._sum
+regionserver.Server.updatesBlockedTime._sum
+regionserver.Server.Delete_95th_percentile._max
+pkts_in._avg
+regionserver.Server.Get_num_ops._sum
+cpu_user._sum
+regionserver.RegionServer.numActiveHandler._sum
+cpu_system._sum
+regionserver.Server.Increment_num_ops._sum
+regionserver.RegionServer.numCallsInGeneralQueue._sum
+cpu_nice._sum
+regionserver.Server.Get_95th_percentile._max
+regionserver.Server.Mutate_num_ops._sum
+regionserver.Server.ScanNext_num_ops._sum
+cpu_idle._sum
+regionserver.Server.Increment_95th_percentile._max
+regionserver.Server.Mutate_95th_percentile._max
+read_bps._sum
+write_bps._sum
+regionserver.Server.Append_95th_percentile._max
+regionserver.RegionServer.numOpenConnections._sum
+regionserver.Server.ScanNext_95th_percentile._max
+|startTime|endTime|
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/HOST.dat
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/HOST.dat b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/HOST.dat
new file mode 100644
index 0000000..96e7ddd
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/HOST.dat
@@ -0,0 +1,79 @@
+cpu_wio
+|hostname|
+cpu_wio
+cpu_user
+mem_cached
+mem_free
+cpu_nice
+cpu_idle
+cpu_system
+mem_total
+|hostname|startTime|endTime|
+write_time._sum
+disk_free._min
+disk_free._avg
+read_count._max
+write_bytes._avg
+write_bytes._min
+disk_free
+load_one
+disk_total._max
+write_time._avg
+write_time._min
+write_count
+write_bytes._sum
+write_count._max
+read_bytes._min
+read_bytes._avg
+read_bytes._sum
+disk_free._sum
+read_count
+read_time._avg
+read_time._min
+cpu_user
+write_bytes
+read_time._sum
+write_time._max
+cpu_system
+write_count._avg
+write_count._min
+read_bytes
+mem_total
+read_time._max
+read_time
+disk_total
+write_count._sum
+read_count._avg
+read_count._min
+read_bytes._max
+disk_free._max
+mem_free
+disk_total._sum
+write_time
+read_count._sum
+write_bytes._max
+disk_total._min
+disk_total._avg
+|hostname|startTime|endTime|
+proc_total
+pkts_in
+cpu_wio
+cpu_user
+bytes_in
+mem_cached
+cpu_aidle
+load_five
+mem_buffers
+cpu_idle
+load_one
+cpu_system
+proc_run
+load_fifteen
+disk_total
+bytes_out
+mem_shared
+mem_free
+cpu_nice
+swap_free
+pkts_out
+|hostname|startTime|endTime|
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/KAFKA_BROKER.dat
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/KAFKA_BROKER.dat b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/KAFKA_BROKER.dat
new file mode 100644
index 0000000..c8bb64b
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/KAFKA_BROKER.dat
@@ -0,0 +1,16 @@
+kafka.controller.KafkaController.ActiveControllerCount
+|startTime|endTime|
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.1MinuteRate
+kafka.controller.ControllerStats.UncleanLeaderElectionsPerSec.1MinuteRate
+|startTime|endTime|
+kafka.server.BrokerTopicMetrics.BytesInPerSec.1MinuteRate
+kafka.server.BrokerTopicMetrics.MessagesInPerSec.1MinuteRate
+kafka.server.BrokerTopicMetrics.BytesOutPerSec.1MinuteRate
+|startTime|endTime|
+kafka.server.ReplicaManager.UnderReplicatedPartitions
+kafka.server.ReplicaManager.PartitionCount
+|startTime|endTime|
+kafka.server.ReplicaFetcherManager.MaxLag.clientId.Replica
+|startTime|endTime|
+kafka.log.LogFlushStats.LogFlushRateAndTimeMs.1MinuteRate
+|startTime|endTime|
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/NAMENODE.dat
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/NAMENODE.dat b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/NAMENODE.dat
new file mode 100644
index 0000000..81360c5
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/NAMENODE.dat
@@ -0,0 +1,30 @@
+dfs.FSNamesystem.MissingReplOneBlocks
+dfs.FSNamesystem.TransactionsSinceLastCheckpoint
+dfs.FSNamesystem.MillisSinceLastLoadedEdits
+dfs.FSNamesystem.SnapshottableDirectories
+master.Master.QueueCallTime_median
+dfs.FSNamesystem.LastCheckpointTime
+dfs.FSNamesystem.TotalFiles
+dfs.FSNamesystem.ExpiredHeartbeats
+dfs.FSNamesystem.PostponedMisreplicatedBlocks
+dfs.FSNamesystem.LastWrittenTransactionId
+jvm.JvmMetrics.MemHeapCommittedM
+dfs.FSNamesystem.Snapshots
+dfs.FSNamesystem.TransactionsSinceLastLogRoll
+master.Server.averageLoad
+jvm.JvmMetrics.MemHeapUsedM
+master.AssignmentManger.ritCount
+dfs.FSNamesystem.PendingDataNodeMessageCount
+dfs.FSNamesystem.StaleDataNodes
+|hostname|
+dfs.FSNamesystem.UnderReplicatedBlocks
+||
+rpc.rpc.NumOpenConnections
+rpc.rpc.RpcQueueTimeAvgTime
+jvm.JvmMetrics.GcTimeMillisConcurrentMarkSweep
+jvm.JvmMetrics.GcCountConcurrentMarkSweep
+jvm.JvmMetrics.MemHeapCommittedM
+rpc.rpc.RpcProcessingTimeAvgTime
+jvm.JvmMetrics.MemHeapUsedM
+jvm.JvmMetrics.GcCount
+|hostname|startTime|endTime|
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/NIMBUS.dat
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/NIMBUS.dat b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/NIMBUS.dat
new file mode 100644
index 0000000..c407266
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/NIMBUS.dat
@@ -0,0 +1,28 @@
+dfs.FSNamesystem.MissingReplOneBlocks
+dfs.FSNamesystem.TransactionsSinceLastCheckpoint
+dfs.FSNamesystem.MillisSinceLastLoadedEdits
+dfs.FSNamesystem.SnapshottableDirectories
+master.Master.QueueCallTime_median
+dfs.FSNamesystem.LastCheckpointTime
+dfs.FSNamesystem.TotalFiles
+dfs.FSNamesystem.ExpiredHeartbeats
+dfs.FSNamesystem.PostponedMisreplicatedBlocks
+dfs.FSNamesystem.LastWrittenTransactionId
+jvm.JvmMetrics.MemHeapCommittedM
+dfs.FSNamesystem.Snapshots
+dfs.FSNamesystem.TransactionsSinceLastLogRoll
+master.Server.averageLoad
+jvm.JvmMetrics.MemHeapUsedM,master.AssignmentManger.ritCount
+dfs.FSNamesystem.PendingDataNodeMessageCount
+dfs.FSNamesystem.StaleDataNodes
+|hostname|
+Topologies
+|startTime|endTime|
+Used Slots
+Free Slots
+Total Slots
+|startTime|endTime|
+Total Executors
+|startTime|endTime|
+Total Tasks
+|startTime|endTime|
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/NODEMANAGER.dat
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/NODEMANAGER.dat b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/NODEMANAGER.dat
new file mode 100644
index 0000000..971c37f
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/NODEMANAGER.dat
@@ -0,0 +1,33 @@
+cpu_system._sum
+pkts_out._avg
+cpu_nice._sum
+mem_free._avg
+cpu_wio._sum
+yarn.NodeManagerMetrics.ContainersKilled._sum
+yarn.NodeManagerMetrics.ContainersRunning._sum
+pkts_in._avg
+cpu_idle._sum
+mem_cached._avg
+cpu_user._sum
+yarn.NodeManagerMetrics.ContainersFailed._sum
+yarn.NodeManagerMetrics.ContainersIniting._sum
+yarn.NodeManagerMetrics.ContainersCompleted._sum
+yarn.NodeManagerMetrics.ContainersLaunched._sum
+mem_total._avg
+|startTime|endTime|
+yarn.NodeManagerMetrics.ContainersIniting
+yarn.NodeManagerMetrics.ContainersRunning
+yarn.NodeManagerMetrics.ContainersKilled
+yarn.NodeManagerMetrics.ContainersCompleted
+yarn.NodeManagerMetrics.ContainersLaunched
+yarn.NodeManagerMetrics.ContainersFailed
+|hostname|
+yarn.NodeManagerMetrics.AllocatedContainers
+|hostname|
+yarn.NodeManagerMetrics.AllocatedGB
+|hostname|
+yarn.NodeManagerMetrics.AllocatedVCores
+|hostname|
+yarn.NodeManagerMetrics.AllocatedGB
+yarn.NodeManagerMetrics.AvailableGB
+|hostname|
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/RESOURCEMANAGER.dat
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/RESOURCEMANAGER.dat b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/RESOURCEMANAGER.dat
new file mode 100644
index 0000000..8c4aec5
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/RESOURCEMANAGER.dat
@@ -0,0 +1,11 @@
+yarn.QueueMetrics.Queue=root.AppsCompleted
+yarn.QueueMetrics.Queue=root.AppsRunning
+yarn.QueueMetrics.Queue=root.AppsFailed
+yarn.QueueMetrics.Queue=root.AllocatedMB
+yarn.QueueMetrics.Queue=root.AppsSubmitted
+yarn.QueueMetrics.Queue=root.AvailableVCores
+yarn.QueueMetrics.Queue=root.AppsPending
+yarn.QueueMetrics.Queue=root.AllocatedVCores
+yarn.QueueMetrics.Queue=root.AvailableMB
+yarn.QueueMetrics.Queue=root.AppsKilled
+|hostname|startTime|endTime|
\ No newline at end of file


[4/4] ambari git commit: AMBARI-13409. AMS Load Simulator updates. (Aravindan Vijayan via swagle)

Posted by sw...@apache.org.
AMBARI-13409. AMS Load Simulator updates. (Aravindan Vijayan via swagle)


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

Branch: refs/heads/branch-2.1
Commit: 188eca064606a30a5df759cc0d1cd74c57993781
Parents: 2a4181c
Author: Siddharth Wagle <sw...@hortonworks.com>
Authored: Thu Oct 22 17:02:56 2015 -0700
Committer: Siddharth Wagle <sw...@hortonworks.com>
Committed: Thu Oct 22 17:02:56 2015 -0700

----------------------------------------------------------------------
 .../ambari-metrics-timelineservice/pom.xml      |   49 +-
 .../metrics/loadsimulator/LoadRunner.java       |    4 +-
 .../loadsimulator/MetricsLoadSimulator.java     |   17 +
 .../metrics/loadsimulator/data/AppID.java       |    6 +-
 .../jmetertest/AMSJMeterLoadTest.java           |  202 +++
 .../loadsimulator/jmetertest/AppGetMetric.java  |   57 +
 .../jmetertest/GetMetricRequestInfo.java        |   61 +
 .../jmetertest/JmeterTestPlanTask.java          |  269 ++++
 .../loadsimulator/net/RestMetricsSender.java    |    2 +-
 .../src/main/resources/loadsimulator/README     |   65 +
 .../loadsimulator/ams-jmeter.properties         |   56 +
 .../resources/loadsimulator/amsJmeterGraph.jmx  |  104 ++
 .../resources/loadsimulator/jmeter.properties   | 1172 ++++++++++++++++++
 .../loadsimulator/saveservice.properties        |  381 ++++++
 .../main/resources/metrics_def/AMS-HBASE.dat    |   18 +
 .../resources/metrics_def/FLUME_HANDLER.dat     |   40 +
 .../main/resources/metrics_def/KAFKA_BROKER.dat | 1104 +++++++++++++++++
 .../src/main/resources/metrics_def/NIMBUS.dat   |    7 +
 .../main/resources/ui_metrics_def/AMS-HBASE.dat |   26 +
 .../main/resources/ui_metrics_def/DATANODE.dat  |    4 +
 .../resources/ui_metrics_def/FLUME_HANDLER.dat  |   63 +
 .../src/main/resources/ui_metrics_def/HBASE.dat |   47 +
 .../src/main/resources/ui_metrics_def/HOST.dat  |   79 ++
 .../resources/ui_metrics_def/KAFKA_BROKER.dat   |   16 +
 .../main/resources/ui_metrics_def/NAMENODE.dat  |   30 +
 .../main/resources/ui_metrics_def/NIMBUS.dat    |   28 +
 .../resources/ui_metrics_def/NODEMANAGER.dat    |   33 +
 .../ui_metrics_def/RESOURCEMANAGER.dat          |   11 +
 28 files changed, 3945 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/pom.xml
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/pom.xml b/ambari-metrics/ambari-metrics-timelineservice/pom.xml
index 8343a6a..1f76ba2 100644
--- a/ambari-metrics/ambari-metrics-timelineservice/pom.xml
+++ b/ambari-metrics/ambari-metrics-timelineservice/pom.xml
@@ -399,7 +399,54 @@
       <artifactId>commons-logging</artifactId>
       <version>1.1.1</version>
     </dependency>
-
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-math3</artifactId>
+      <version>3.4.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-pool2</artifactId>
+      <version>2.3</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jmeter</groupId>
+      <artifactId>ApacheJMeter_core</artifactId>
+      <version>2.13</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-nop</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>commons-math3</groupId>
+          <artifactId>commons-math3</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>commons-pool2</groupId>
+          <artifactId>commons-pool2</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.jmeter</groupId>
+      <artifactId>ApacheJMeter_http</artifactId>
+      <version>2.13</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-nop</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>commons-math3</groupId>
+          <artifactId>commons-math3</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>commons-pool2</groupId>
+          <artifactId>commons-pool2</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
     <!-- 'mvn dependency:analyze' fails to detect use of this dependency -->
     <dependency>
       <groupId>org.apache.hadoop</groupId>

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/LoadRunner.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/LoadRunner.java b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/LoadRunner.java
index e5da0a3..203a88b 100644
--- a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/LoadRunner.java
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/LoadRunner.java
@@ -82,13 +82,13 @@ public class LoadRunner {
 
     int startIndex = 0;
     if (createMaster) {
-      String simHost = hostName + ".0";
+      String simHost = hostName + "0";
       addMetricsWorkers(senderWorkers, simHost, metricsHost, MASTER_APPS);
       startIndex++;
     }
 
     for (int i = startIndex; i < threadCount; i++) {
-      String simHost = hostName + "." + i;
+      String simHost = hostName + i;
       addMetricsWorkers(senderWorkers, simHost, metricsHost, SLAVE_APPS);
     }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/MetricsLoadSimulator.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/MetricsLoadSimulator.java b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/MetricsLoadSimulator.java
index a0c1bd2..09db9b5 100644
--- a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/MetricsLoadSimulator.java
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/MetricsLoadSimulator.java
@@ -51,6 +51,23 @@ public class MetricsLoadSimulator {
     loadRunner.start();
   }
 
+  /*
+   Another entry point to the test to be called from ./jmetertest/AMSJMeterLoadTest.java
+   */
+  public static void startTest(Map<String,String> mapArgs) {
+
+    LoadRunner loadRunner = new LoadRunner(
+            mapArgs.get("hostName"),
+            Integer.valueOf(mapArgs.get("numberOfHosts")),
+            mapArgs.get("metricsHostName"),
+            Integer.valueOf(mapArgs.get("collectInterval")),
+            Integer.valueOf(mapArgs.get("sendInterval")),
+            Boolean.valueOf(mapArgs.get("master"))
+    );
+
+    loadRunner.start();
+  }
+
   private static Map<String, String> parseArgs(String[] args) {
     Map<String, String> mapProps = new HashMap<String, String>();
     mapProps.put("hostName", "host");

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/data/AppID.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/data/AppID.java b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/data/AppID.java
index 4f58dc5..a130171 100644
--- a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/data/AppID.java
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/data/AppID.java
@@ -25,9 +25,11 @@ public enum AppID {
   DATANODE("datanode"),
   NODEMANAGER("nodemanager"),
   MASTER_HBASE("hbase"),
-  SLAVE_HBASE("hbase");
+  SLAVE_HBASE("hbase"),
+  NIMBUS("nimbus"),
+  KAFKA_BROKER("kafka_broker");
 
-  public static final AppID[] MASTER_APPS = {HOST, NAMENODE, RESOURCEMANAGER, MASTER_HBASE};
+  public static final AppID[] MASTER_APPS = {HOST, NAMENODE, RESOURCEMANAGER, MASTER_HBASE, KAFKA_BROKER, NIMBUS};
   public static final AppID[] SLAVE_APPS = {HOST, DATANODE, NODEMANAGER, SLAVE_HBASE};
 
   private String id;

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/AMSJMeterLoadTest.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/AMSJMeterLoadTest.java b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/AMSJMeterLoadTest.java
new file mode 100644
index 0000000..187c3f1
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/AMSJMeterLoadTest.java
@@ -0,0 +1,202 @@
+/**
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.hadoop.yarn.server.applicationhistoryservice.metrics.loadsimulator.jmetertest;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.loadsimulator.MetricsLoadSimulator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.BufferedReader;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledFuture;
+import java.util.concurrent.TimeUnit;
+
+public class AMSJMeterLoadTest {
+
+  private final static Logger LOG = LoggerFactory.getLogger(AMSJMeterLoadTest.class);
+  private static String PROPERTIES_FILE = "loadsimulator/ams-jmeter.properties";
+  private ScheduledExecutorService scheduledExecutorService = null;
+  private List<AppGetMetric> appGetMetrics;
+  private Properties amsJmeterProperties = null;
+
+  public AMSJMeterLoadTest(String testType, String userDefinedPropertiesFile) {
+
+    if (null == userDefinedPropertiesFile || userDefinedPropertiesFile.isEmpty()) {
+      this.amsJmeterProperties = readProperties(PROPERTIES_FILE);
+    } else {
+      this.amsJmeterProperties = readProperties(userDefinedPropertiesFile);
+    }
+
+    if ("U".equals(testType)) { //GET metrics simulator
+      int numInstances = Integer.valueOf(amsJmeterProperties.getProperty("num-ui-instances"));
+      this.scheduledExecutorService = Executors.newScheduledThreadPool(numInstances);
+      this.appGetMetrics = initializeGetMetricsPayload(amsJmeterProperties);
+      this.runTest(numInstances);
+    } else {                    //PUT Metrics simulator
+      Map<String, String> mapArgs = new HashMap<String, String>();
+      mapArgs.put("hostName", amsJmeterProperties.getProperty("host-prefix"));
+      mapArgs.put("numberOfHosts", amsJmeterProperties.getProperty("num-hosts"));
+      mapArgs.put("metricsHostName", amsJmeterProperties.getProperty("ams-host-port"));
+      mapArgs.put("collectInterval", amsJmeterProperties.getProperty("collection-interval"));
+      mapArgs.put("sendInterval", amsJmeterProperties.getProperty("send-interval"));
+      mapArgs.put("master", amsJmeterProperties.getProperty("create-master"));
+      MetricsLoadSimulator.startTest(mapArgs);
+    }
+  }
+
+  public static Properties readProperties(String propertiesFile) {
+    try {
+      Properties properties = new Properties();
+      InputStream inputStream = ClassLoader.getSystemResourceAsStream(propertiesFile);
+      if (inputStream == null) {
+        inputStream = new FileInputStream(propertiesFile);
+      }
+      properties.load(inputStream);
+      return properties;
+    } catch (IOException ioEx) {
+      LOG.error("Error reading properties file for jmeter");
+      return null;
+    }
+  }
+
+  private static List<GetMetricRequestInfo> readMetricsFromFile(String app) {
+    InputStream input = null;
+    List<GetMetricRequestInfo> metricList = new ArrayList<>();
+    String fileName = "ui_metrics_def/" + app + ".dat";
+
+    try {
+      input = ClassLoader.getSystemResourceAsStream(fileName);
+      BufferedReader reader = new BufferedReader(new InputStreamReader(input));
+      String line;
+      List<String> metrics = new ArrayList<>();
+      while ((line = reader.readLine()) != null) {
+
+        if (line.startsWith("|")) {
+          boolean needsTimestamps = line.contains("startTime");
+          boolean needsHost = line.contains("hostname");
+          metricList.add(new GetMetricRequestInfo(metrics, needsTimestamps, needsHost));
+          metrics.clear();
+        } else {
+          metrics.add(line);
+        }
+      }
+      return metricList;
+    } catch (IOException e) {
+      LOG.error("Cannot read file " + fileName + " for appID " + app, e);
+    } finally {
+      if (input != null) {
+        try {
+          input.close();
+        } catch (IOException ex) {
+        }
+      }
+    }
+    return null;
+  }
+
+  private static List<AppGetMetric> initializeGetMetricsPayload(Properties amsJmeterProperties) {
+
+    List<AppGetMetric> appGetMetrics = new ArrayList<AppGetMetric>();
+    String appsToTest = amsJmeterProperties.getProperty("apps-to-test");
+    String[] apps;
+
+    if (appsToTest != null && !appsToTest.isEmpty()) {
+      apps = StringUtils.split(appsToTest, ",");
+    } else {
+      apps = new String[JmeterTestPlanTask.ClientApp.values().length];
+      int ctr = 0;
+      for (JmeterTestPlanTask.ClientApp app : JmeterTestPlanTask.ClientApp.values())
+        apps[ctr++] = app.getId();
+    }
+
+    for (String app : apps) {
+
+      int interval = Integer.valueOf(amsJmeterProperties.getProperty("get-interval"));
+      String intervalString = amsJmeterProperties.getProperty(app + "-get-interval");
+      if (intervalString != null && !intervalString.isEmpty()) {
+        interval = Integer.valueOf(intervalString);
+      }
+      appGetMetrics.add(new AppGetMetric(readMetricsFromFile(app), interval, app));
+    }
+
+    return appGetMetrics;
+  }
+
+  public void runTest(int numInstances) {
+
+    int appRefreshRate = Integer.valueOf(amsJmeterProperties.getProperty("app-refresh-rate"));
+    for (int i = 0; i < numInstances; i++) {
+      ScheduledFuture future = scheduledExecutorService.scheduleAtFixedRate(new JmeterTestPlanTask(appGetMetrics,
+        amsJmeterProperties), 0, appRefreshRate, TimeUnit.MILLISECONDS);
+    }
+  }
+
+  /**
+   * Sample Usage:
+   * java -cp "lib/*":ambari-metrics-timelineservice-2.1.1.0.jar org.apache.hadoop.yarn.server.applicationhistoryservice
+   * .metrics.loadsimulator.jmeter.AMSJMeterLoadTest
+   * -t UI -p ambari-metrics-timelineservice/src/main/resources/jmeter/ams-jmeter.properties
+   */
+  public static void main(String[] args) {
+    Map<String, String> mapArgs = parseArgs(args);
+    String testType = mapArgs.get("type");
+    String amsJmeterPropertiesFile = mapArgs.get("amsJmeterPropertiesFile");
+    new AMSJMeterLoadTest(testType, amsJmeterPropertiesFile);
+  }
+
+  private static Map<String, String> parseArgs(String[] args) {
+    Map<String, String> mapProps = new HashMap<String, String>();
+    if (args.length == 0) {
+      printUsage();
+      throw new RuntimeException("Unexpected argument, See usage message.");
+    } else {
+      for (int i = 0; i < args.length; i += 2) {
+        String arg = args[i];
+        if (arg.equals("-t")) {
+          mapProps.put("type", args[i + 1]);
+        } else if (arg.equals("-p")) {
+          mapProps.put("amsJmeterPropertiesFile", args[i + 1]);
+        } else {
+          printUsage();
+          throw new IllegalArgumentException("Unexpected argument, See usage message.");
+        }
+      }
+    }
+    return mapProps;
+  }
+
+  public static void printUsage() {
+    System.err.println("Usage: java AMSJmeterLoadTest [OPTIONS]");
+    System.err.println("Options: ");
+    System.err.println("[-t type (S=>Sink/U=>UI)] [-p amsJmeterPropertiesFile (Optional)]");
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/AppGetMetric.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/AppGetMetric.java b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/AppGetMetric.java
new file mode 100644
index 0000000..727a1c7
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/AppGetMetric.java
@@ -0,0 +1,57 @@
+/**
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.hadoop.yarn.server.applicationhistoryservice.metrics.loadsimulator.jmetertest;
+
+import java.util.List;
+
+public class AppGetMetric {
+
+  private String app;
+  private int interval;
+  private List<GetMetricRequestInfo> requests;
+
+  public AppGetMetric(List<GetMetricRequestInfo> requests, int interval, String app) {
+    this.setMetricRequests(requests);
+    this.setInterval(interval);
+    this.setApp(app);
+  }
+
+  public List<GetMetricRequestInfo> getMetricRequests() {
+    return requests;
+  }
+
+  public void setMetricRequests(List<GetMetricRequestInfo> requests) {
+    this.requests = requests;
+  }
+
+  public int getInterval() {
+    return interval;
+  }
+
+  public void setInterval(int interval) {
+    this.interval = interval;
+  }
+
+  public String getApp() {
+    return app;
+  }
+
+  public void setApp(String app) {
+    this.app = app;
+  }
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/GetMetricRequestInfo.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/GetMetricRequestInfo.java b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/GetMetricRequestInfo.java
new file mode 100644
index 0000000..26c5025
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/GetMetricRequestInfo.java
@@ -0,0 +1,61 @@
+/**
+ * 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.hadoop.yarn.server.applicationhistoryservice.metrics.loadsimulator.jmetertest;
+
+import org.apache.commons.lang.StringUtils;
+
+import java.util.List;
+
+
+public class GetMetricRequestInfo {
+
+  private String metricStringPayload;
+  private boolean needsTimestamps;
+  private boolean needsHost;
+
+  public GetMetricRequestInfo(List<String> metrics, boolean needsTimestamps, boolean needsHost) {
+
+    this.setMetricStringPayload(StringUtils.join(metrics, ","));
+    this.setNeedsTimestamps(needsTimestamps);
+    this.setNeedsHost(needsHost);
+  }
+
+  public String getMetricStringPayload() {
+    return metricStringPayload;
+  }
+
+  public void setMetricStringPayload(String metricStringPayload) {
+    this.metricStringPayload = metricStringPayload;
+  }
+
+  public boolean needsTimestamps() {
+    return needsTimestamps;
+  }
+
+  public void setNeedsTimestamps(boolean needsTimestamps) {
+    this.needsTimestamps = needsTimestamps;
+  }
+
+  public boolean needsHost() {
+    return needsHost;
+  }
+
+  public void setNeedsHost(boolean needsHost) {
+    this.needsHost = needsHost;
+  }
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/JmeterTestPlanTask.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/JmeterTestPlanTask.java b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/JmeterTestPlanTask.java
new file mode 100644
index 0000000..f7e27b1
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/jmetertest/JmeterTestPlanTask.java
@@ -0,0 +1,269 @@
+/**
+ * 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.hadoop.yarn.server.applicationhistoryservice.metrics.loadsimulator.jmetertest;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.jmeter.control.LoopController;
+import org.apache.jmeter.engine.StandardJMeterEngine;
+import org.apache.jmeter.protocol.http.sampler.HTTPSampler;
+import org.apache.jmeter.protocol.http.util.HTTPConstants;
+import org.apache.jmeter.reporters.ResultCollector;
+import org.apache.jmeter.reporters.Summariser;
+import org.apache.jmeter.testelement.TestElement;
+import org.apache.jmeter.testelement.TestPlan;
+import org.apache.jmeter.threads.JMeterContextService;
+import org.apache.jmeter.threads.ThreadGroup;
+import org.apache.jmeter.timers.ConstantTimer;
+import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jorphan.collections.HashTree;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.*;
+import java.lang.reflect.Field;
+import java.util.*;
+
+public class JmeterTestPlanTask implements Runnable {
+
+  private static StandardJMeterEngine jmeterEngine = null;
+  private final static Logger LOG = LoggerFactory.getLogger(JmeterTestPlanTask.class);
+  private List<AppGetMetric> appGetMetrics;
+  private Properties amsJmeterProperties;
+  private HashTree amsTestPlanTree;
+  private TestPlan amsTestPlan;
+  private static final String JMETER_HOME = "loadsimulator";
+  private static final String JMETER_PROPERTIES_FILE = JMETER_HOME + "/jmeter.properties";
+  private static final String SAVESERVICE_PROPERTIES_FILE = JMETER_HOME + "/saveservice.properties";
+
+  public enum ClientApp {
+    HOST("HOST"),
+    NAMENODE("NAMENODE"),
+    HBASE("HBASE"),
+    NIMBUS("NIMBUS"),
+    KAFKA_BROKER("KAFKA_BROKER"),
+    FLUME_HANDLER("FLUME_HANDLER"),
+    AMS_HBASE("AMS-HBASE"),
+    NODEMANAGER("NODEMANAGER"),
+    RESOURCEMANAGER("RESOURCEMANAGER"),
+    DATANODE("DATANODE");
+
+    private String id;
+
+    private ClientApp(String id) {
+      this.id = id;
+    }
+
+    public String getId() {
+      return id;
+    }
+  }
+
+  public JmeterTestPlanTask(List<AppGetMetric> appGetMetrics, Properties amsJmeterProperties) {
+    this.appGetMetrics = appGetMetrics;
+    this.amsJmeterProperties = amsJmeterProperties;
+    amsTestPlanTree = new HashTree();
+    amsTestPlan = new TestPlan("AMS JMeter Load Test plan");
+    System.out.println("Starting AMS Jmeter load testing");
+  }
+
+  public void run() {
+    if (jmeterEngine != null) {
+
+      Object[] threadGroups = amsTestPlanTree.getArray(amsTestPlan);
+      for (Object threadGroupObj : threadGroups) {
+        if (threadGroupObj instanceof ThreadGroup) {
+          ThreadGroup threadGroup = (ThreadGroup) threadGroupObj;
+          threadGroup.stop();
+        }
+      }
+      amsTestPlanTree.clear();
+      jmeterEngine.askThreadsToStop();
+      jmeterEngine.stopTest();
+      JMeterContextService.endTest();
+    }
+
+    //Start the new test plan for the new app.
+    try {
+      //Initialize Jmeter essentials
+      jmeterEngine = new StandardJMeterEngine();
+      JMeterContextService.getContext().setEngine(jmeterEngine);
+
+      //Workaround to supply JMeterUtils with jmeter.prooperties from JAR.
+      JMeterUtils.setJMeterHome("");
+      Field f = new JMeterUtils().getClass().getDeclaredField("appProperties");
+      f.setAccessible(true);
+      f.set(null, AMSJMeterLoadTest.readProperties(JMETER_PROPERTIES_FILE));
+
+      //Copy saveservices.properties file to tmp dir for JMeter to consume.
+      InputStream inputStream = ClassLoader.getSystemResourceAsStream(SAVESERVICE_PROPERTIES_FILE);
+      if (inputStream == null) {
+        inputStream = new FileInputStream(SAVESERVICE_PROPERTIES_FILE);
+      }
+      String tmpDir = System.getProperty("java.io.tmpdir");
+      OutputStream outputStream = new FileOutputStream(tmpDir + "/saveservice.properties");
+      IOUtils.copy(inputStream, outputStream);
+      outputStream.close();
+      JMeterUtils.setProperty("saveservice_properties", tmpDir + "/saveservice.properties");
+
+      //Initialize Test plan
+      amsTestPlan.setProperty(TestElement.TEST_CLASS, TestPlan.class.getName());
+      amsTestPlanTree.add("AMS Test plan", amsTestPlan);
+
+      //Choose a random APP to run the perform GET metrics request.
+      int currentAppIndex = new Random().nextInt(appGetMetrics.size());
+
+      //Create ThreadGroup for the App
+      createThreadGroupHashTree(currentAppIndex, amsJmeterProperties, amsTestPlanTree, amsTestPlan);
+
+      //Geneates the JMX file that you can use through the GUI mode.
+      //SaveService.saveTree(amsTestPlanTree, new FileOutputStream(JMETER_HOME + "/" + "amsTestPlan.jmx"));
+
+      //Summarizer output to get test progress in stdout like.
+      Summariser summariser = null;
+      String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");
+      if (summariserName.length() > 0) {
+        summariser = new Summariser(summariserName);
+      }
+
+      //Store execution results into a .jtl file
+      String jmeterLogFile = tmpDir + "/amsJmeterTestResults.jtl";
+      ResultCollector resultCollector = new ResultCollector(summariser);
+      resultCollector.setFilename(jmeterLogFile);
+      amsTestPlanTree.add(amsTestPlanTree.getArray()[0], resultCollector);
+      jmeterEngine.configure(amsTestPlanTree);
+      jmeterEngine.run();
+
+      LOG.info("AMS Jmeter Test started up successfully");
+
+    } catch (Exception ioEx) {
+      amsTestPlanTree.clear();
+      jmeterEngine.askThreadsToStop();
+      jmeterEngine.stopTest();
+      JMeterContextService.endTest();
+      LOG.error("Error occurred while running AMS load test : " + ioEx.getMessage());
+      ioEx.printStackTrace();
+    }
+  }
+
+  private ConstantTimer createConstantTimer(int delay) {
+    ConstantTimer timer = new ConstantTimer();
+    timer.setDelay("" + delay);
+    return timer;
+  }
+
+  private Map<String, String> getAppSpecificParameters(String app, GetMetricRequestInfo request, Properties amsJmeterProperties) {
+
+    Map<String, String> parametersMap = new HashMap<String, String>();
+    String hostPrefix = amsJmeterProperties.getProperty("host-prefix");
+    String hostSuffix = amsJmeterProperties.getProperty("host-suffix");
+    int minHostIndex = Integer.valueOf(amsJmeterProperties.getProperty("min-host-index"));
+    int numHosts = Integer.valueOf(amsJmeterProperties.getProperty("num-hosts"));
+
+    parametersMap.put("appId", app);
+
+    if (request.needsTimestamps()) {
+      long currentTime = System.currentTimeMillis();
+      long oneHourBack = currentTime - 3600 * 1000;
+      parametersMap.put("startTime", String.valueOf(oneHourBack));
+      parametersMap.put("endTime", String.valueOf(currentTime));
+    }
+
+    if (request.needsHost()) {
+      if (ClientApp.AMS_HBASE.getId().equals(app)) {
+        parametersMap.put("hostname", amsJmeterProperties.getProperty("ams-host"));
+      } else if (ClientApp.HOST.getId().equals(app) || ClientApp.NODEMANAGER.getId().equals(app)) {
+        int randomHost = minHostIndex + new Random().nextInt(numHosts);
+        parametersMap.put("hostname", hostPrefix + randomHost + hostSuffix);
+      } else {
+        parametersMap.put("hostname", hostPrefix + amsJmeterProperties.getProperty(app + "-host") + hostSuffix);
+      }
+    }
+    parametersMap.put("metricNames", request.getMetricStringPayload());
+    return parametersMap;
+  }
+
+  private void createThreadGroupHashTree(int appIndex, Properties amsJmeterProperties, HashTree amsTestPlanTree, TestPlan amsTestPlan) {
+
+    AppGetMetric appGetMetric = appGetMetrics.get(appIndex);
+    String app = appGetMetric.getApp();
+    int interval = appGetMetric.getInterval();
+
+    //Read and validate AMS information.
+    String[] amsHostPort = amsJmeterProperties.getProperty("ams-host-port").split(":");
+    String amsHost = amsHostPort[0];
+    String amsPath = amsJmeterProperties.getProperty("ams-path");
+    int amsPort = Integer.valueOf(amsHostPort[1]);
+    int numLoops = Integer.valueOf(amsJmeterProperties.getProperty("num-get-calls-per-app"));
+
+    LoopController loopController = createLoopController(app + " GET loop controller", numLoops, false);
+    for (GetMetricRequestInfo request : appGetMetric.getMetricRequests()) {
+
+      ThreadGroup threadGroup = createThreadGroup(app + " GET threadGroup", 1, 0, loopController);
+
+      HashTree threadGroupHashTree = amsTestPlanTree.add(amsTestPlan, threadGroup);
+      Map<String, String> parametersMap = getAppSpecificParameters(app, request, amsJmeterProperties);
+
+      HTTPSampler sampler = createGetSampler("GET " + app + " metrics", amsHost, amsPort, amsPath, null, parametersMap);
+
+      if (numLoops > 1) {
+        threadGroupHashTree.add(createConstantTimer(interval));
+      }
+
+      threadGroupHashTree.add(sampler);
+    }
+  }
+
+  private HTTPSampler createGetSampler(String name, String domain, int port, String path, String encoding, Map<String, String> parameters) {
+
+    HTTPSampler sampler = new HTTPSampler();
+    sampler.setDomain(domain);
+    sampler.setPort(port);
+    sampler.setPath(path);
+    sampler.setMethod(HTTPConstants.GET);
+
+    if (encoding != null)
+      sampler.setContentEncoding(encoding);
+
+    for (Map.Entry<String, String> entry : parameters.entrySet()) {
+      sampler.addArgument(entry.getKey(), entry.getValue());
+    }
+    sampler.setName(name);
+    return sampler;
+  }
+
+  private LoopController createLoopController(String name, int numLoops, boolean continueForever) {
+    LoopController loopController = new LoopController();
+    loopController.setLoops(numLoops);
+    loopController.setProperty(TestElement.TEST_CLASS, LoopController.class.getName());
+    loopController.initialize();
+    loopController.setContinueForever(continueForever);
+    loopController.setName(name);
+    return loopController;
+  }
+
+  private ThreadGroup createThreadGroup(String name, int numThreads, int rampUp, LoopController loopController) {
+    ThreadGroup threadGroup = new ThreadGroup();
+    threadGroup.setName(name);
+    threadGroup.setNumThreads(numThreads);
+    threadGroup.setRampUp(rampUp);
+    threadGroup.setSamplerController(loopController);
+    threadGroup.setProperty(TestElement.TEST_CLASS, ThreadGroup.class.getName());
+    return threadGroup;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/net/RestMetricsSender.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/net/RestMetricsSender.java b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/net/RestMetricsSender.java
index 8657436..c6d84c2 100644
--- a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/net/RestMetricsSender.java
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/loadsimulator/net/RestMetricsSender.java
@@ -32,7 +32,7 @@ import java.net.ProtocolException;
 public class RestMetricsSender implements MetricsSender {
   private final static Logger LOG = LoggerFactory.getLogger(RestMetricsSender.class);
 
-  private final static String COLLECTOR_URL = "http://%s:6188/ws/v1/timeline/metrics";
+  private final static String COLLECTOR_URL = "http://%s/ws/v1/timeline/metrics";
   private final String collectorServiceAddress;
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/README
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/README b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/README
new file mode 100644
index 0000000..39e5365
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/README
@@ -0,0 +1,65 @@
+/**
+ * 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.
+ */
+
+ WORKING OF THE AMS LOAD SIMULATOR
+ The AMS load simulator is designed to perform load testing on a live AMS instance by performing the role of either a
+ sink or an Ambari UI instance based on how it is being invoked.
+
+  > When it acts as a host sink, it makes calls to the AMS to PUT metrics for all the services for a defined interval.
+  The simulator can also be used to start up "N" such host instances where each instance has a number of Sinks that PUT
+  metrics.
+  > When the load simulator is invoked as a UI instance, it makes GET metrics calls to the AMS in defined
+  intervals for all the services. The rate of the GET metrics call and the list of metrics requested has been designed
+  to closely match an actual Ambari UI instance. Apache JMeter API has been used to design the GET calls made to the
+  AMS.
+
+  The load simulator uses a properties file (ams-jmeter.properties) file to configure the test run. It is part of the
+  JAR in the same folder as this README file. It can also be supplied as a command line argument to the test using the
+  "-p" option. Other properties files like jmeter.properties and saveservice.properties contain JMeter internal
+  properties and need not be modified.
+
+
+ INSTRUCTIONS TO RUN THE SIMULATOR
+ 1. Modify the ams-jmeter.properties to point to your AMS host. Change the properties "num-hosts" based on how many hosts
+    need to be simulated for sinks. The GET Metric section of the properties is used for fine tuning GET call interval
+    for every APP type.
+ 2. Build the ambari-metrics-timelineservice jar.
+ 3. Invoke the test using the command as follows.
+
+   java -cp lib/*:ambari-metrics-timelineservice-<version>.jar org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.loadsimulator.jmeter.AMSJMeterLoadTest -t <S/U>
+
+   lib/* -> All the dependency JARs generated for the ambari-metrics-timelineservice JAR.
+   -t option => S-Sink simulator or U-UI simulator
+   You can use the -p <location of ams-jmeter.properties> option to pass in your own properties file.
+
+ 4. Test results will be found at <TMP_DIR>/amsTestResults.jtl.
+ 5. Open the amsJmeterGrpah.jmx file through a JMeter GUI instance and supply the results (amsTestResults.jtl) file as
+    input to the Graph to be drawn.
+
+ TESTING ON GCE
+
+ 1. Copy the JAR, libs, optional ams-jmeter.properties file to all the machines on which the test needs to be run.
+ 2. Sink simulation for num-hosts = N.
+    Start the test with -t S on 1 machine with property "create-master=true".
+    Start the test with -t S on N-1 machines with property "create-master=false"
+ 3. UI simulation
+    Start the test with -t U on 1 or more machines.
+ 4. To stop the test after you have sufficient load testing done, the following command should be run on all machines.
+    ps axf | grep jmeter | grep -v grep | awk '{print "kill -9 " $1}' | sh
+ 5. Copy over the results file to a location with JMeter downloaded. Open the amsJmeterGraph.jmx on jmeter and browse to
+    open the results file as input to the graph.

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/ams-jmeter.properties
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/ams-jmeter.properties b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/ams-jmeter.properties
new file mode 100644
index 0000000..3353d43
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/ams-jmeter.properties
@@ -0,0 +1,56 @@
+# Copyright 2011 The Apache Software Foundation
+#
+# 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.
+
+#AMS information
+ams-host-port=104.196.94.27:6188
+ams-path=/ws/v1/timeline/metrics
+
+# Host Information, using the host-prefix, num-hosts and <MASTER>-host
+# Hosts in this case will be TestHost0, TestHost1
+# For example NAMENODE, NIMBUS,HBASE MASTER,RESOURCEMANAGER host will be TestHost0
+host-prefix=TestHost
+host-suffix=
+min-host-index=0
+num-hosts=2
+NAMENODE-host=0
+NIMBUS-host=0
+HBASE-host=0
+RESOURCEMANAGER-host=0
+
+# PUT Metric / Sinks config
+collection-interval=1000
+send-interval=3000
+create-master=true
+
+# GET Metric / Client Apps config
+num-ui-instances=1
+apps-to-test=
+app-refresh-rate=8000
+num-get-calls-per-app=3
+get-interval=3000
+HOST-get-interval=3000
+NAMENODE-get-interval=2000
+HBASE-get-interval=3000
+NIMBUS-get-interval=2000
+AMS-HBASE-get-interval=2000
+FLUME_HANDLER-get-interval=2000
+NODEMANAGER-get-interval=2000
+KAFKA_BROKER-get-interval=2000
+DATANODE-get-interval=3000
+RESOURCEMANAGER-get-interval=3000
+

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/amsJmeterGraph.jmx
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/amsJmeterGraph.jmx b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/amsJmeterGraph.jmx
new file mode 100644
index 0000000..06d6360
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/amsJmeterGraph.jmx
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
+<jmeterTestPlan version="1.2" properties="2.8" jmeter="2.13 r1665067">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
+      <stringProp name="TestPlan.comments"></stringProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <ResultCollector guiclass="GraphVisualizer" testclass="ResultCollector" testname="Latency Graph" enabled="true">
+        <boolProp name="ResultCollector.error_logging">false</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>false</time>
+            <latency>false</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>false</threadName>
+            <dataType>true</dataType>
+            <encoding>false</encoding>
+            <assertions>false</assertions>
+            <subresults>false</subresults>
+            <responseData>true</responseData>
+            <samplerData>true</samplerData>
+            <xml>true</xml>
+            <fieldNames>true</fieldNames>
+            <responseHeaders>true</responseHeaders>
+            <requestHeaders>true</requestHeaders>
+            <responseDataOnError>true</responseDataOnError>
+            <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <url>true</url>
+            <hostname>true</hostname>
+            <sampleCount>true</sampleCount>
+          </value>
+        </objProp>
+        <stringProp name="filename">/tmp/amsJmeterTestResults.jtl</stringProp>
+      </ResultCollector>
+      <hashTree/>
+      <ResultCollector guiclass="RespTimeGraphVisualizer" testclass="ResultCollector" testname="Response Time Graph" enabled="true">
+        <boolProp name="ResultCollector.error_logging">false</boolProp>
+        <objProp>
+          <name>saveConfig</name>
+          <value class="SampleSaveConfiguration">
+            <time>false</time>
+            <latency>false</latency>
+            <timestamp>true</timestamp>
+            <success>true</success>
+            <label>true</label>
+            <code>true</code>
+            <message>true</message>
+            <threadName>false</threadName>
+            <dataType>true</dataType>
+            <encoding>false</encoding>
+            <assertions>false</assertions>
+            <subresults>false</subresults>
+            <responseData>true</responseData>
+            <samplerData>true</samplerData>
+            <xml>true</xml>
+            <fieldNames>true</fieldNames>
+            <responseHeaders>true</responseHeaders>
+            <requestHeaders>true</requestHeaders>
+            <responseDataOnError>true</responseDataOnError>
+            <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
+            <assertionsResultsToSave>0</assertionsResultsToSave>
+            <url>true</url>
+            <hostname>true</hostname>
+            <sampleCount>true</sampleCount>
+          </value>
+        </objProp>
+        <stringProp name="filename">/tmp/amsJmeterTestResults.jtl</stringProp>
+        <stringProp name="RespTimeGraph.interval">15000</stringProp>
+        <intProp name="RespTimeGraph.linestrockwidth">2</intProp>
+        <intProp name="RespTimeGraph.lineshapepoint">4</intProp>
+      </ResultCollector>
+      <hashTree/>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>


[3/4] ambari git commit: AMBARI-13409. AMS Load Simulator updates. (Aravindan Vijayan via swagle)

Posted by sw...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/jmeter.properties
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/jmeter.properties b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/jmeter.properties
new file mode 100644
index 0000000..9fcf7ca
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/jmeter.properties
@@ -0,0 +1,1172 @@
+################################################################################
+# Apache JMeter Property file
+################################################################################
+
+##   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.
+
+################################################################################
+#
+#                      THIS FILE SHOULD NOT BE MODIFIED
+#
+# This avoids having to re-apply the modifications when upgrading JMeter
+# Instead only user.properties should be modified:
+# 1/ copy the property you want to modify to user.properties from jmeter.properties
+# 2/ Change its value there
+#
+################################################################################
+
+#Preferred GUI language. Comment out to use the JVM default locale's language.
+#language=en
+
+# Additional locale(s) to add to the displayed list.
+# The current default list is: en, fr, de, no, es, tr, ja, zh_CN, zh_TW, pl, pt_BR
+# [see JMeterMenuBar#makeLanguageMenu()]
+# The entries are a comma-separated list of language names
+#locales.add=zu
+
+# Netscape HTTP Cookie file
+cookies=cookies
+
+#---------------------------------------------------------------------------
+# File format configuration for JMX and JTL files
+#---------------------------------------------------------------------------
+
+# Properties:
+# file_format          - affects both JMX and JTL files
+# file_format.testplan - affects JMX files only
+# file_format.testlog  - affects JTL files only
+#
+# Possible values are:
+# 2.1 - initial format using XStream
+# 2.2 - updated format using XStream, with shorter names
+
+# N.B. format 2.0 (Avalon) is no longer supported
+
+#---------------------------------------------------------------------------
+# XML Parser
+#---------------------------------------------------------------------------
+
+# XML Reader(Parser) - Must implement SAX 2 specs
+xml.parser=org.apache.xerces.parsers.SAXParser
+
+# Path to a Properties file containing Namespace mapping in the form
+# prefix=Namespace
+# Example:
+# ns=http://biz.aol.com/schema/2006-12-18
+#xpath.namespace.config=
+
+#---------------------------------------------------------------------------
+# SSL configuration
+#---------------------------------------------------------------------------
+
+## SSL System properties are now in system.properties
+
+# JMeter no longer converts javax.xxx property entries in this file into System properties.
+# These must now be defined in the system.properties file or on the command-line.
+# The system.properties file gives more flexibility.
+
+# By default, SSL session contexts are now created per-thread, rather than being shared.
+# The original behaviour can be enabled by setting the JMeter property:
+#https.sessioncontext.shared=true
+
+# Default HTTPS protocol level:
+#https.default.protocol=TLS
+# This may need to be changed here (or in user.properties) to:
+#https.default.protocol=SSLv3
+
+# List of protocols to enable. You may have to select only a subset if you find issues with target server.
+# This is needed when server does not support Socket version negotiation, this can lead to:
+# javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
+# java.net.SocketException: Connection reset
+# see https://issues.apache.org/bugzilla/show_bug.cgi?id=54759
+#https.socket.protocols=SSLv2Hello SSLv3 TLSv1
+
+# Control if we allow reuse of cached SSL context between iterations
+# set the value to 'false' to reset the SSL context each iteration
+#https.use.cached.ssl.context=true
+
+# Start and end index to be used with keystores with many entries
+# The default is to use entry 0, i.e. the first
+#https.keyStoreStartIndex=0
+#https.keyStoreEndIndex=0
+
+#---------------------------------------------------------------------------
+# Look and Feel configuration
+#---------------------------------------------------------------------------
+
+#Classname of the Swing default UI
+#
+# The LAF classnames that are available are now displayed as ToolTip text
+# when hovering over the Options/Look and Feel selection list.
+#
+# You can either use a full class name, as shown above,
+# or one of the strings "System" or "CrossPlatform" which means
+#  JMeter will use the corresponding string returned by UIManager.get<name>LookAndFeelClassName()
+
+# LAF can be overridden by os.name (lowercased, spaces replaced by '_')
+# Sample os.name LAF:
+#jmeter.laf.windows_xp=javax.swing.plaf.metal.MetalLookAndFeel
+
+# Failing that, the OS family = os.name, but only up to first space:
+# Sample OS family LAF:
+#jmeter.laf.windows=com.sun.java.swing.plaf.windows.WindowsLookAndFeel
+
+# Mac apparently looks better with the System LAF
+jmeter.laf.mac=System
+
+# Failing that, the JMeter default laf can be defined:
+#jmeter.laf=System
+
+# If none of the above jmeter.laf properties are defined, JMeter uses the CrossPlatform LAF.
+# This is because the CrossPlatform LAF generally looks better than the System LAF.
+# See https://issues.apache.org/bugzilla/show_bug.cgi?id=52026 for details
+# N.B. the laf can be defined in user.properties.
+
+# LoggerPanel display
+# default to false
+#jmeter.loggerpanel.display=false
+
+# Enable LogViewer Panel to receive log event even if closed
+# Enabled since 2.12
+# Note this has some impact on performances, but as GUI mode must
+# not be used for Load Test it is acceptable
+#jmeter.loggerpanel.enable_when_closed=true
+
+# Error/Fatal Log count display
+# defaults to true
+#jmeter.errorscounter.display=true
+
+# Max characters kept in LoggerPanel, default to 80000 chars
+# O means no limit
+#jmeter.loggerpanel.maxlength=80000
+
+# Toolbar display
+# default:
+#jmeter.toolbar.display=true
+# Toolbar icon definitions
+#jmeter.toolbar.icons=org/apache/jmeter/images/toolbar/icons-toolbar.properties
+# Toolbar list
+#jmeter.toolbar=new,open,close,save,save_as_testplan,|,cut,copy,paste,|,expand,collapse,toggle,|,test_start,test_stop,test_shutdown,|,test_start_remote_all,test_stop_remote_all,test_shutdown_remote_all,|,test_clear,test_clear_all,|,search,search_reset,|,function_helper,help
+# Toolbar icons default size: 22x22. Available sizes are: 22x22, 32x32, 48x48
+#jmeter.toolbar.icons.size=22x22
+
+# Icon definitions
+# default:
+#jmeter.icons=org/apache/jmeter/images/icon.properties
+# alternate:
+#jmeter.icons=org/apache/jmeter/images/icon_1.properties
+
+#Components to not display in JMeter GUI (GUI class name or static label)
+# These elements are deprecated: HTML Parameter Mask,HTTP User Parameter Modifier, Webservice (SOAP) Request
+not_in_menu=org.apache.jmeter.protocol.http.modifier.gui.ParamModifierGui, HTTP User Parameter Modifier, org.apache.jmeter.protocol.http.control.gui.WebServiceSamplerGui
+
+# Number of items in undo history
+# Feature is disabled by default (0)
+# Set it to a number > 0 (25 can be a good default)
+# The bigger it is, the more it consumes memory
+#undo.history.size=0
+
+#---------------------------------------------------------------------------
+# Remote hosts and RMI configuration
+#---------------------------------------------------------------------------
+
+# Remote Hosts - comma delimited
+remote_hosts=127.0.0.1
+#remote_hosts=localhost:1099,localhost:2010
+
+# RMI port to be used by the server (must start rmiregistry with same port)
+#server_port=1099
+
+# To change the port to (say) 1234:
+# On the server(s)
+# - set server_port=1234
+# - start rmiregistry with port 1234
+# On Windows this can be done by:
+# SET SERVER_PORT=1234
+# JMETER-SERVER
+#
+# On Unix:
+# SERVER_PORT=1234 jmeter-server
+#
+# On the client:
+# - set remote_hosts=server:1234
+
+# Parameter that controls the RMI port used by the RemoteSampleListenerImpl (The Controler)
+# Default value is 0 which means port is randomly assigned
+# You may need to open Firewall port on the Controller machine
+#client.rmi.localport=0
+
+# When distributed test is starting, there may be several attempts to initialize
+# remote engines. By default, only single try is made. Increase following property
+# to make it retry for additional times
+#client.tries=1
+
+# If there is initialization retries, following property sets delay between attempts
+#client.retries_delay=5000
+
+# When all initialization tries was made, test will fail if some remote engines are failed
+# Set following property to true to ignore failed nodes and proceed with test 
+#client.continue_on_fail=false
+
+# To change the default port (1099) used to access the server:
+#server.rmi.port=1234
+
+# To use a specific port for the JMeter server engine, define
+# the following property before starting the server:
+#server.rmi.localport=4000
+
+# From JMeter 2.3.1, the jmeter server creates the RMI registry as part of the server process.
+# To stop the server creating the RMI registry:
+#server.rmi.create=false
+
+# From JMeter 2.3.1, define the following property to cause JMeter to exit after the first test
+#server.exitaftertest=true
+
+# Prefix used by IncludeController when building file name
+#includecontroller.prefix=
+
+#---------------------------------------------------------------------------
+#         Logging Configuration
+#---------------------------------------------------------------------------
+
+# Note: JMeter uses Avalon (Excalibur) LogKit
+
+# Logging Format
+# see http://excalibur.apache.org/apidocs/org/apache/log/format/PatternFormatter.html
+
+#
+# Default format:
+#log_format=%{time:yyyy/MM/dd HH:mm:ss} %5.5{priority} - %{category}: %{message} %{throwable}
+# \n is automatically added to the end of the string
+#
+# Predefined formats in the JMeter LoggingManager:
+#log_format_type=default
+#log_format_type=thread_prefix
+#log_format_type=thread_suffix
+# default is as above
+# thread_prefix adds the thread name as a prefix to the category
+# thread_suffix adds the thread name as a suffix to the category
+# Note that thread name is not included by default, as it requires extra processing.
+#
+# To change the logging format, define either log_format_type or log_format
+# If both are defined, the type takes precedence
+# Note that these properties cannot be defined using the -J or -D JMeter
+# command-line flags, as the format will have already been determined by then
+# However, they can be defined as JVM properties
+
+#Logging levels for the logging categories in JMeter.  Correct values are FATAL_ERROR, ERROR, WARN, INFO, and DEBUG
+# To set the log level for a package or individual class, use:
+# log_level.[package_name].[classname]=[PRIORITY_LEVEL]
+# But omit "org.apache" from the package name.  The classname is optional.  Further examples below.
+
+log_level.jmeter=WARN
+log_level.jmeter.junit=WARN
+log_level.jmeter.control=WARN
+log_level.jmeter.testbeans=WARN
+log_level.jmeter.engine=WARN
+log_level.jmeter.threads=WARN
+log_level.jmeter.gui=WARN
+log_level.jmeter.testelement=WARN
+log_level.jmeter.util=WARN
+log_level.jmeter.protocol.http=WARN
+# For CookieManager, AuthManager etc:
+#log_level.jmeter.protocol.http.control=DEBUG
+#log_level.jmeter.protocol.ftp=WARN
+#log_level.jmeter.protocol.jdbc=DEBUG
+#log_level.jmeter.protocol.java=WARN
+#log_level.jmeter.testelements.property=DEBUG
+log_level.jorphan=WARN
+	
+
+#Log file for log messages.
+# You can specify a different log file for different categories via:
+# log_file.[category]=[filename]
+# category is equivalent to the package/class names described above
+
+# Combined log file (for jmeter and jorphan)
+log_file=/var/log/jmeter.log
+# To redirect logging to standard output, try the following:
+# (it will probably report an error, but output will be to stdout)
+#log_file=
+
+# Or define separate logs if required:
+#log_file.jorphan=jorphan.log
+#log_file.jmeter=jmeter.log
+
+# If the filename contains  paired single-quotes, then the name is processed
+# as a SimpleDateFormat format applied to the current date, for example:
+#log_file='jmeter_'yyyyMMddHHmmss'.tmp'
+
+# N.B. When JMeter starts, it sets the system property:
+#    org.apache.commons.logging.Log
+# to
+#    org.apache.commons.logging.impl.LogKitLogger
+# if not already set. This causes Apache and Commons HttpClient to use the same logging as JMeter
+
+# Further logging configuration
+# Excalibur logging provides the facility to configure logging using
+# configuration files written in XML. This allows for such features as
+# log file rotation which are not supported directly by JMeter.
+#
+# If such a file specified, it will be applied to the current logging
+# hierarchy when that has been created.
+# 
+#log_config=logkit.xml
+
+#---------------------------------------------------------------------------
+# HTTP Java configuration
+#---------------------------------------------------------------------------
+
+# Number of connection retries performed by HTTP Java sampler before giving up
+#http.java.sampler.retries=10
+# 0 now means don't retry connection (in 2.3 and before it meant no tries at all!)
+
+#---------------------------------------------------------------------------
+# Commons HTTPClient configuration
+#---------------------------------------------------------------------------
+
+# define a properties file for overriding Commons HttpClient parameters
+# See: http://hc.apache.org/httpclient-3.x/preference-api.html
+# Uncomment this line if you put anything in httpclient.parameters file
+#httpclient.parameters.file=httpclient.parameters
+
+
+# define a properties file for overriding Apache HttpClient parameters
+# See: TBA
+# Uncomment this line if you put anything in hc.parameters file
+#hc.parameters.file=hc.parameters
+
+# Following properties apply to both Commons and Apache HttpClient
+
+# set the socket timeout (or use the parameter http.socket.timeout) 
+# for AJP Sampler and HttpClient3 implementation.
+# Note for HttpClient3 implementation it is better to use GUI to set timeout 
+# or use http.socket.timeout in httpclient.parameters
+# Value is in milliseconds
+#httpclient.timeout=0
+# 0 == no timeout
+
+# Set the http version (defaults to 1.1)
+#httpclient.version=1.0 (or use the parameter http.protocol.version)
+
+# Define characters per second > 0 to emulate slow connections
+#httpclient.socket.http.cps=0
+#httpclient.socket.https.cps=0
+
+#Enable loopback protocol
+#httpclient.loopback=true
+
+# Define the local host address to be used for multi-homed hosts
+#httpclient.localaddress=1.2.3.4
+
+# AuthManager Kerberos configuration
+# Name of application module used in jaas.conf
+#kerberos_jaas_application=JMeter  
+
+# Should ports be stripped from urls before constructing SPNs
+# for spnego authentication
+#kerberos.spnego.strip_port=true
+
+#         Sample logging levels for Commons HttpClient
+#
+# Commons HttpClient Logging information can be found at:
+# http://hc.apache.org/httpclient-3.x/logging.html
+
+# Note that full category names are used, i.e. must include the org.apache.
+# Info level produces no output:
+#log_level.org.apache.commons.httpclient=debug
+# Might be useful:
+#log_level.org.apache.commons.httpclient.Authenticator=trace 
+
+# Show headers only
+#log_level.httpclient.wire.header=debug
+
+# Full wire debug produces a lot of output; consider using separate file:
+#log_level.httpclient.wire=debug
+#log_file.httpclient=httpclient.log
+
+
+#         Apache Commons HttpClient logging examples
+#
+# Enable header wire + context logging - Best for Debugging
+#log_level.org.apache.http=DEBUG
+#log_level.org.apache.http.wire=ERROR
+
+# Enable full wire + context logging
+#log_level.org.apache.http=DEBUG
+
+# Enable context logging for connection management
+#log_level.org.apache.http.impl.conn=DEBUG
+
+# Enable context logging for connection management / request execution
+#log_level.org.apache.http.impl.conn=DEBUG
+#log_level.org.apache.http.impl.client=DEBUG
+#log_level.org.apache.http.client=DEBUG
+
+#---------------------------------------------------------------------------
+# Apache HttpComponents HTTPClient configuration (HTTPClient4)
+#---------------------------------------------------------------------------
+
+# Number of retries to attempt (default 0)
+#httpclient4.retrycount=0
+
+# Idle connection timeout (ms) to apply if the server does not send Keep-Alive headers
+#httpclient4.idletimeout=0
+# Note: this is currently an experimental fix
+
+#---------------------------------------------------------------------------
+# Apache HttpComponents HTTPClient configuration (HTTPClient 3.1)
+#---------------------------------------------------------------------------
+
+# Number of retries to attempt (default 0)
+#httpclient3.retrycount=0
+
+#---------------------------------------------------------------------------
+# HTTP Cache Manager configuration
+#---------------------------------------------------------------------------
+#
+# Space or comma separated list of methods that can be cached
+#cacheable_methods=GET
+# N.B. This property is currently a temporary solution for Bug 56162
+
+# Since 2.12, JMeter does not create anymore a Sample Result with 204 response 
+# code for a resource found in cache which is inline with what browser do.
+#cache_manager.cached_resource_mode=RETURN_NO_SAMPLE
+
+# You can choose between 3 modes:
+# RETURN_NO_SAMPLE (default)
+# RETURN_200_CACHE
+# RETURN_CUSTOM_STATUS
+
+# Those mode have the following behaviours:
+# RETURN_NO_SAMPLE : this mode returns no Sample Result, it has no additional configuration
+# RETURN_200_CACHE : this mode will return Sample Result with response code to 200 and response message to "(ex cache)", you can modify response message by setting 
+# RETURN_200_CACHE.message=(ex cache)
+# RETURN_CUSTOM_STATUS : This mode lets you select what response code and message you want to return, if you use this mode you need to set those properties
+# RETURN_CUSTOM_STATUS.code=
+# RETURN_CUSTOM_STATUS.message=
+
+#---------------------------------------------------------------------------
+# Results file configuration
+#---------------------------------------------------------------------------
+
+# This section helps determine how result data will be saved.
+# The commented out values are the defaults.
+
+# legitimate values: xml, csv, db.  Only xml and csv are currently supported.
+#jmeter.save.saveservice.output_format=csv
+
+
+# true when field should be saved; false otherwise
+
+# assertion_results_failure_message only affects CSV output
+#jmeter.save.saveservice.assertion_results_failure_message=false
+#
+# legitimate values: none, first, all
+#jmeter.save.saveservice.assertion_results=none
+#
+jmeter.save.saveservice.data_type=csv
+jmeter.save.saveservice.label=true
+jmeter.save.saveservice.response_code=true
+# response_data is not currently supported for CSV output
+#jmeter.save.saveservice.response_data=false
+# Save ResponseData for failed samples
+jmeter.save.saveservice.response_data.on_error=false
+jmeter.save.saveservice.response_message=false
+jmeter.save.saveservice.successful=false
+jmeter.save.saveservice.thread_name=false
+jmeter.save.saveservice.time=true
+jmeter.save.saveservice.subresults=false
+jmeter.save.saveservice.assertions=false
+jmeter.save.saveservice.latency=true
+jmeter.save.saveservice.connect_time=true
+#jmeter.save.saveservice.samplerData=false
+#jmeter.save.saveservice.responseHeaders=false
+#jmeter.save.saveservice.requestHeaders=false
+#jmeter.save.saveservice.encoding=false
+jmeter.save.saveservice.bytes=false
+#jmeter.save.saveservice.url=false
+#jmeter.save.saveservice.filename=false
+jmeter.save.saveservice.hostname=false
+jmeter.save.saveservice.thread_counts=false
+jmeter.save.saveservice.sample_count=false
+#jmeter.save.saveservice.idle_time=false
+
+# Timestamp format - this only affects CSV output files
+# legitimate values: none, ms, or a format suitable for SimpleDateFormat
+#jmeter.save.saveservice.timestamp_format=ms
+jmeter.save.saveservice.timestamp_format=HH:mm:ss
+
+# For use with Comma-separated value (CSV) files or other formats
+# where the fields' values are separated by specified delimiters.
+# Default:
+#jmeter.save.saveservice.default_delimiter=,
+# For TAB, since JMeter 2.3 one can use:
+jmeter.save.saveservice.default_delimiter=;
+
+# Only applies to CSV format files:
+jmeter.save.saveservice.print_field_names=true
+
+# Optional list of JMeter variable names whose values are to be saved in the result data files.
+# Use commas to separate the names. For example:
+#sample_variables=SESSION_ID,REFERENCE
+# N.B. The current implementation saves the values in XML as attributes,
+# so the names must be valid XML names.
+# Versions of JMeter after 2.3.2 send the variable to all servers
+# to ensure that the correct data is available at the client.
+
+# Optional xml processing instruction for line 2 of the file:
+#jmeter.save.saveservice.xml_pi=<?xml-stylesheet type="text/xsl" href="../extras/jmeter-results-detail-report_21.xsl"?>
+
+# Prefix used to identify filenames that are relative to the current base
+#jmeter.save.saveservice.base_prefix=~/
+
+# AutoFlush on each line written in XML or CSV output
+# Setting this to true will result in less test results data loss in case of Crash
+# but with impact on performances, particularly for intensive tests (low or no pauses)
+# Since JMeter 2.10, this is false by default:q!
+jmeter.save.saveservice.autoflush=true
+
+#---------------------------------------------------------------------------
+# Settings that affect SampleResults
+#---------------------------------------------------------------------------
+
+# Save the start time stamp instead of the end
+# This also affects the timestamp stored in result files
+sampleresult.timestamp.start=true
+
+# Whether to use System.nanoTime() - otherwise only use System.currentTimeMillis()
+#sampleresult.useNanoTime=true
+
+# Use a background thread to calculate the nanoTime offset
+# Set this to <= 0 to disable the background thread
+#sampleresult.nanoThreadSleep=5000
+
+#---------------------------------------------------------------------------
+# Upgrade property
+#---------------------------------------------------------------------------
+
+# File that holds a record of name changes for backward compatibility issues
+upgrade_properties=/bin/upgrade.properties
+
+#---------------------------------------------------------------------------
+# JMeter Test Script recorder configuration
+#
+# N.B. The element was originally called the Proxy recorder, which is why the
+# properties have the prefix "proxy".
+#---------------------------------------------------------------------------
+
+# If the recorder detects a gap of at least 5s (default) between HTTP requests,
+# it assumes that the user has clicked a new URL
+#proxy.pause=5000
+
+# Add numeric prefix to Sampler names (default true)
+#proxy.number.requests=true
+
+# List of URL patterns that will be added to URL Patterns to exclude
+# Separate multiple lines with ;
+#proxy.excludes.suggested=.*\\.(bmp|css|js|gif|ico|jpe?g|png|swf|woff)
+
+# Change the default HTTP Sampler (currently HttpClient4)
+# Java:
+#jmeter.httpsampler=HTTPSampler
+#or
+#jmeter.httpsampler=Java
+#
+# Apache HTTPClient:
+#jmeter.httpsampler=HTTPSampler2
+#or
+#jmeter.httpsampler=HttpClient3.1
+#
+# HttpClient4.x
+#jmeter.httpsampler=HttpClient4
+
+# By default JMeter tries to be more lenient with RFC2616 redirects and allows
+# relative paths.
+# If you want to test strict conformance, set this value to true
+# When the property is true, JMeter follows http://tools.ietf.org/html/rfc3986#section-5.2
+#jmeter.httpclient.strict_rfc2616=false
+
+# Default content-type include filter to use
+#proxy.content_type_include=text/html|text/plain|text/xml
+# Default content-type exclude filter to use
+#proxy.content_type_exclude=image/.*|text/css|application/.*
+
+# Default headers to remove from Header Manager elements
+# (Cookie and Authorization are always removed)
+#proxy.headers.remove=If-Modified-Since,If-None-Match,Host
+
+# Binary content-type handling
+# These content-types will be handled by saving the request in a file:
+#proxy.binary.types=application/x-amf,application/x-java-serialized-object
+# The files will be saved in this directory:
+#proxy.binary.directory=user.dir
+# The files will be created with this file filesuffix:
+#proxy.binary.filesuffix=.binary
+
+#---------------------------------------------------------------------------
+# Test Script Recorder certificate configuration
+#---------------------------------------------------------------------------
+
+#proxy.cert.directory=<JMeter bin directory>
+#proxy.cert.file=proxyserver.jks
+#proxy.cert.type=JKS
+#proxy.cert.keystorepass=password
+#proxy.cert.keypassword=password
+#proxy.cert.factory=SunX509
+# define this property if you wish to use your own keystore
+#proxy.cert.alias=<none>
+# The default validity for certificates created by JMeter
+#proxy.cert.validity=7
+# Use dynamic key generation (if supported by JMeter/JVM)
+# If false, will revert to using a single key with no certificate
+#proxy.cert.dynamic_keys=true
+
+#---------------------------------------------------------------------------
+# Test Script Recorder miscellaneous configuration
+#---------------------------------------------------------------------------
+
+# Whether to attempt disabling of samples that resulted from redirects
+# where the generated samples use auto-redirection
+#proxy.redirect.disabling=true
+
+# SSL configuration
+#proxy.ssl.protocol=TLS
+
+#---------------------------------------------------------------------------
+# JMeter Proxy configuration
+#---------------------------------------------------------------------------
+# use command-line flags for user-name and password
+#http.proxyDomain=NTLM domain, if required by HTTPClient sampler
+
+#---------------------------------------------------------------------------
+# HTTPSampleResponse Parser configuration
+#---------------------------------------------------------------------------
+
+# Space-separated list of parser groups
+HTTPResponse.parsers=htmlParser wmlParser
+# for each parser, there should be a parser.types and a parser.className property
+
+#---------------------------------------------------------------------------
+# HTML Parser configuration
+#---------------------------------------------------------------------------
+
+# Define the HTML parser to be used.
+# Default parser:
+# This new parser (since 2.10) should perform better than all others
+# see https://issues.apache.org/bugzilla/show_bug.cgi?id=55632
+#htmlParser.className=org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
+
+# Other parsers:
+# Default parser before 2.10
+#htmlParser.className=org.apache.jmeter.protocol.http.parser.HtmlParserHTMLParser
+#htmlParser.className=org.apache.jmeter.protocol.http.parser.JTidyHTMLParser
+# Note that Regexp extractor may detect references that have been commented out.
+# In many cases it will work OK, but you should be aware that it may generate 
+# additional references.
+#htmlParser.className=org.apache.jmeter.protocol.http.parser.RegexpHTMLParser
+# This parser is based on JSoup, it should be the most accurate but less performant
+# than LagartoBasedHtmlParser
+#htmlParser.className=org.apache.jmeter.protocol.http.parser.JsoupBasedHtmlParser
+
+#Used by HTTPSamplerBase to associate htmlParser with content types below 
+htmlParser.types=text/html application/xhtml+xml application/xml text/xml
+
+#---------------------------------------------------------------------------
+# WML Parser configuration
+#---------------------------------------------------------------------------
+
+wmlParser.className=org.apache.jmeter.protocol.http.parser.RegexpHTMLParser
+
+#Used by HTTPSamplerBase to associate wmlParser with content types below 
+wmlParser.types=text/vnd.wap.wml 
+
+#---------------------------------------------------------------------------
+# Remote batching configuration
+#---------------------------------------------------------------------------
+# How is Sample sender implementations configured:
+# - true (default) means client configuration will be used
+# - false means server configuration will be used
+#sample_sender_client_configured=true
+
+# Remote batching support
+# Since JMeter 2.9, default is MODE_STRIPPED_BATCH, which returns samples in
+# batch mode (every 100 samples or every minute by default)
+# Note also that MODE_STRIPPED_BATCH strips response data from SampleResult, so if you need it change to
+# another mode
+# Hold retains samples until end of test (may need lots of memory)
+# Batch returns samples in batches
+# Statistical returns sample summary statistics
+# hold_samples was originally defined as a separate property,
+# but can now also be defined using mode=Hold
+# mode can also be the class name of an implementation of org.apache.jmeter.samplers.SampleSender
+#mode=Standard
+#mode=Batch
+#mode=Hold
+#mode=Statistical
+#Set to true to key statistical samples on threadName rather than threadGroup
+#key_on_threadname=false
+#mode=Stripped
+#mode=StrippedBatch
+#mode=org.example.load.MySampleSender
+#
+#num_sample_threshold=100
+# Value is in milliseconds
+#time_threshold=60000
+#
+# Asynchronous sender; uses a queue and background worker process to return the samples
+#mode=Asynch
+# default queue size
+#asynch.batch.queue.size=100
+# Same as Asynch but strips response data from SampleResult
+#mode=StrippedAsynch
+#
+# DiskStore: as for Hold mode, but serialises the samples to disk, rather than saving in memory
+#mode=DiskStore
+# Same as DiskStore but strips response data from SampleResult
+#mode=StrippedDiskStore
+# Note: the mode is currently resolved on the client; 
+# other properties (e.g. time_threshold) are resolved on the server.
+
+# To set the Monitor Health Visualiser buffer size, enter the desired value
+# monitor.buffer.size=800
+
+#---------------------------------------------------------------------------
+# JDBC Request configuration
+#---------------------------------------------------------------------------
+
+# Max number of PreparedStatements per Connection for PreparedStatement cache
+#jdbcsampler.maxopenpreparedstatements=100
+
+# String used to indicate a null value
+#jdbcsampler.nullmarker=]NULL[
+
+#---------------------------------------------------------------------------
+# OS Process Sampler configuration
+#---------------------------------------------------------------------------
+# Polling to see if process has finished its work, used when a timeout is configured on sampler
+#os_sampler.poll_for_timeout=100
+
+#---------------------------------------------------------------------------
+# TCP Sampler configuration
+#---------------------------------------------------------------------------
+
+# The default handler class
+#tcp.handler=TCPClientImpl
+#
+# eolByte = byte value for end of line
+# set this to a value outside the range -128 to +127 to skip eol checking
+#tcp.eolByte=1000
+#
+# TCP Charset, used by org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl
+# default to Platform defaults charset as returned by Charset.defaultCharset().name()
+#tcp.charset=
+#
+# status.prefix and suffix = strings that enclose the status response code
+#tcp.status.prefix=Status=
+#tcp.status.suffix=.
+#
+# status.properties = property file to convert codes to messages
+#tcp.status.properties=mytestfiles/tcpstatus.properties
+
+# The length prefix used by LengthPrefixedBinaryTCPClientImpl implementation
+# defaults to 2 bytes.
+#tcp.binarylength.prefix.length=2
+
+#---------------------------------------------------------------------------
+# Summariser - Generate Summary Results - configuration (mainly applies to non-GUI mode)
+#---------------------------------------------------------------------------
+#
+# Define the following property to automatically start a summariser with that name
+# (applies to non-GUI mode only)
+#summariser.name=summary
+#
+# interval between summaries (in seconds) default 30 seconds
+#summariser.interval=30
+#
+# Write messages to log file
+#summariser.log=true
+#
+# Write messages to System.out
+#summariser.out=true
+
+
+#---------------------------------------------------------------------------
+# Aggregate Report and Aggregate Graph - configuration
+#---------------------------------------------------------------------------
+#
+# Percentiles to display in reports
+# Can be float value between 0 and 100
+# First percentile to display, defaults to 90%
+#aggregate_rpt_pct1=90
+# Second percentile to display, defaults to 95%
+#aggregate_rpt_pct2=95
+# Second percentile to display, defaults to 99%
+#aggregate_rpt_pct3=99
+
+#---------------------------------------------------------------------------
+# Aggregate Report and Aggregate Graph - configuration
+#---------------------------------------------------------------------------
+#
+# Backend metrics sliding window size for Percentiles, Min, Max
+#backend_metrics_window=100
+
+#---------------------------------------------------------------------------
+# BeanShell configuration
+#---------------------------------------------------------------------------
+
+# BeanShell Server properties
+#
+# Define the port number as non-zero to start the http server on that port
+#beanshell.server.port=9000
+# The telnet server will be started on the next port
+
+#
+# Define the server initialisation file
+beanshell.server.file=../extras/startup.bsh
+
+#
+# Define a file to be processed at startup
+# This is processed using its own interpreter.
+#beanshell.init.file=
+
+#
+# Define the intialisation files for BeanShell Sampler, Function and other BeanShell elements
+# N.B. Beanshell test elements do not share interpreters.
+#      Each element in each thread has its own interpreter.
+#      This is retained between samples.
+#beanshell.sampler.init=BeanShellSampler.bshrc
+#beanshell.function.init=BeanShellFunction.bshrc
+#beanshell.assertion.init=BeanShellAssertion.bshrc
+#beanshell.listener.init=etc
+#beanshell.postprocessor.init=etc
+#beanshell.preprocessor.init=etc
+#beanshell.timer.init=etc
+
+# The file BeanShellListeners.bshrc contains sample definitions
+# of Test and Thread Listeners.
+
+#---------------------------------------------------------------------------
+# MailerModel configuration
+#---------------------------------------------------------------------------
+
+# Number of successful samples before a message is sent
+#mailer.successlimit=2
+#
+# Number of failed samples before a message is sent
+#mailer.failurelimit=2
+
+#---------------------------------------------------------------------------
+# CSVRead configuration
+#---------------------------------------------------------------------------
+
+# CSVRead delimiter setting (default ",")
+# Make sure that there are no trailing spaces or tabs after the delimiter
+# characters, or these will be included in the list of valid delimiters
+#csvread.delimiter=,
+#csvread.delimiter=;
+#csvread.delimiter=!
+#csvread.delimiter=~
+# The following line has a tab after the =
+#csvread.delimiter=	
+
+#---------------------------------------------------------------------------
+# __time() function configuration
+#
+# The properties below can be used to redefine the default formats
+#---------------------------------------------------------------------------
+#time.YMD=yyyyMMdd
+#time.HMS=HHmmss
+#time.YMDHMS=yyyyMMdd-HHmmss
+#time.USER1=
+#time.USER2=
+
+#---------------------------------------------------------------------------
+# CSV DataSet configuration
+#---------------------------------------------------------------------------
+
+# String to return at EOF (if recycle not used)
+#csvdataset.eofstring=<EOF>
+
+#---------------------------------------------------------------------------
+# LDAP Sampler configuration
+#---------------------------------------------------------------------------
+# Maximum number of search results returned by a search that will be sorted
+# to guarantee a stable ordering (if more results then this limit are retruned
+# then no sorting is done). Set to 0 to turn off all sorting, in which case
+# "Equals" response assertions will be very likely to fail against search results.
+#
+#ldapsampler.max_sorted_results=1000
+ 
+# Number of characters to log for each of three sections (starting matching section, diff section,
+#   ending matching section where not all sections will appear for all diffs) diff display when an Equals
+#   assertion fails. So a value of 100 means a maximum of 300 characters of diff text will be displayed
+#   (+ a number of extra characters like "..." and "[[["/"]]]" which are used to decorate it).
+#assertion.equals_section_diff_len=100
+# test written out to log to signify start/end of diff delta
+#assertion.equals_diff_delta_start=[[[
+#assertion.equals_diff_delta_end=]]]
+
+#---------------------------------------------------------------------------
+# Miscellaneous configuration
+#---------------------------------------------------------------------------
+
+# If defined, then start the mirror server on the port
+#mirror.server.port=8081
+
+# ORO PatternCacheLRU size
+#oro.patterncache.size=1000
+
+#TestBeanGui
+#
+#propertyEditorSearchPath=null
+
+# Turn expert mode on/off: expert mode will show expert-mode beans and properties
+#jmeter.expertMode=true
+
+# Maximum redirects to follow in a single sequence (default 5)
+#httpsampler.max_redirects=5
+# Maximum frame/iframe nesting depth (default 5)
+#httpsampler.max_frame_depth=5
+# Maximum await termination timeout (secs) when concurrent download embedded resources (default 60)
+#httpsampler.await_termination_timeout=60
+# Revert to BUG 51939 behaviour (no separate container for embedded resources) by setting the following false:
+#httpsampler.separate.container=true
+
+# If embedded resources download fails due to missing resources or other reasons, if this property is true
+# Parent sample will not be marked as failed 
+#httpsampler.ignore_failed_embedded_resources=false
+
+# The encoding to be used if none is provided (default ISO-8859-1)
+#sampleresult.default.encoding=ISO-8859-1
+
+# Network response size calculation method
+# Use real size: number of bytes for response body return by webserver
+# (i.e. the network bytes received for response)
+# if set to false, the (uncompressed) response data size will used (default before 2.5)
+# Include headers: add the headers size in real size
+#sampleresult.getbytes.body_real_size=true
+#sampleresult.getbytes.headers_size=true
+
+# CookieManager behaviour - should cookies with null/empty values be deleted?
+# Default is true. Use false to revert to original behaviour
+#CookieManager.delete_null_cookies=true
+
+# CookieManager behaviour - should variable cookies be allowed?
+# Default is true. Use false to revert to original behaviour
+#CookieManager.allow_variable_cookies=true
+
+# CookieManager behaviour - should Cookies be stored as variables?
+# Default is false
+#CookieManager.save.cookies=false
+
+# CookieManager behaviour - prefix to add to cookie name before storing it as a variable
+# Default is COOKIE_; to remove the prefix, define it as one or more spaces
+#CookieManager.name.prefix=
+ 
+# CookieManager behaviour - check received cookies are valid before storing them?
+# Default is true. Use false to revert to previous behaviour
+#CookieManager.check.cookies=true
+
+# (2.0.3) JMeterThread behaviour has been changed to set the started flag before
+# the controllers are initialised. This is so controllers can access variables earlier. 
+# In case this causes problems, the previous behaviour can be restored by uncommenting
+# the following line.
+#jmeterthread.startearlier=false
+
+# (2.2.1) JMeterThread behaviour has changed so that PostProcessors are run in forward order
+# (as they appear in the test plan) rather than reverse order as previously.
+# Uncomment the following line to revert to the original behaviour
+#jmeterthread.reversePostProcessors=true
+
+# (2.2) StandardJMeterEngine behaviour has been changed to notify the listeners after
+# the running version is enabled. This is so they can access variables. 
+# In case this causes problems, the previous behaviour can be restored by uncommenting
+# the following line.
+#jmeterengine.startlistenerslater=false
+
+# Number of milliseconds to wait for a thread to stop
+#jmeterengine.threadstop.wait=5000
+
+#Whether to invoke System.exit(0) in server exit code after stopping RMI
+#jmeterengine.remote.system.exit=false
+
+# Whether to call System.exit(1) on failure to stop threads in non-GUI mode.
+# This only takes effect if the test was explictly requested to stop.
+# If this is disabled, it may be necessary to kill the JVM externally
+#jmeterengine.stopfail.system.exit=true
+
+# Whether to force call System.exit(0) at end of test in non-GUI mode, even if
+# there were no failures and the test was not explicitly asked to stop.
+# Without this, the JVM may never exit if there are other threads spawned by
+# the test which never exit.
+#jmeterengine.force.system.exit=false
+
+# How long to pause (in ms) in the daemon thread before reporting that the JVM has failed to exit.
+# If the value is <= 0, the JMeter does not start the daemon thread 
+#jmeter.exit.check.pause=2000
+
+# If running non-GUI, then JMeter listens on the following port for a shutdown message.
+# To disable, set the port to 1000 or less.
+#jmeterengine.nongui.port=4445
+#
+# If the initial port is busy, keep trying until this port is reached
+# (to disable searching, set the value less than or equal to the .port property)
+#jmeterengine.nongui.maxport=4455
+
+# How often to check for shutdown during ramp-up (milliseconds)
+#jmeterthread.rampup.granularity=1000
+
+#Should JMeter expand the tree when loading a test plan?
+# default value is false since JMeter 2.7
+#onload.expandtree=false
+
+#JSyntaxTextArea configuration
+#jsyntaxtextarea.wrapstyleword=true
+#jsyntaxtextarea.linewrap=true
+#jsyntaxtextarea.codefolding=true
+# Set 0 to disable undo feature in JSyntaxTextArea
+#jsyntaxtextarea.maxundos=50
+
+# Set this to false to disable the use of JSyntaxTextArea for the Console Logger panel 
+#loggerpanel.usejsyntaxtext=true
+
+# Maximum size of HTML page that can be displayed; default=200 * 1024
+# Set to 0 to disable the size check and display the whole response
+#view.results.tree.max_size=204800
+
+# Order of Renderers in View Results Tree
+# Note full class names should be used for non jmeter core renderers
+# For JMeter core renderers, class names start with . and are automatically
+# prefixed with org.apache.jmeter.visualizers
+view.results.tree.renderers_order=.RenderAsText,.RenderAsRegexp,.RenderAsCssJQuery,.RenderAsXPath,.RenderAsHTML,.RenderAsHTMLWithEmbedded,.RenderAsDocument,.RenderAsJSON,.RenderAsXML
+
+# Maximum size of Document that can be parsed by Tika engine; defaut=10 * 1024 * 1024 (10MB)
+# Set to 0 to disable the size check
+#document.max_size=0
+
+#JMS options
+# Enable the following property to stop JMS Point-to-Point Sampler from using
+# the properties java.naming.security.[principal|credentials] when creating the queue connection
+#JMSSampler.useSecurity.properties=false
+
+# Set the following value to true in order to skip the delete confirmation dialogue
+#confirm.delete.skip=false
+
+# Used by Webservice Sampler (SOAP)
+# Size of Document Cache
+#soap.document_cache=50
+
+# Used by JSR223 elements
+# Size of compiled scripts cache
+#jsr223.compiled_scripts_cache_size=100
+
+#---------------------------------------------------------------------------
+# Classpath configuration
+#---------------------------------------------------------------------------
+
+# List of paths (separated by ;) to search for additional JMeter plugin classes,
+# for example new GUI elements and samplers.
+# A path item can either be a jar file or a directory.
+# Any jar file in such a directory will be automatically included,
+# jar files in sub directories are ignored.
+# The given value is in addition to any jars found in the lib/ext directory.
+# Do not use this for utility or plugin dependency jars.
+#search_paths=/app1/lib;/app2/lib
+
+# List of paths that JMeter will search for utility and plugin dependency classes.
+# Use your platform path separator to separate multiple paths.
+# A path item can either be a jar file or a directory.
+# Any jar file in such a directory will be automatically included,
+# jar files in sub directories are ignored.
+# The given value is in addition to any jars found in the lib directory.
+# All entries will be added to the class path of the system class loader
+# and also to the path of the JMeter internal loader.
+# Paths with spaces may cause problems for the JVM
+#user.classpath=../classes;../lib;../app1/jar1.jar;../app2/jar2.jar
+
+# List of paths (separated by ;) that JMeter will search for utility
+# and plugin dependency classes.
+# A path item can either be a jar file or a directory.
+# Any jar file in such a directory will be automatically included,
+# jar files in sub directories are ignored.
+# The given value is in addition to any jars found in the lib directory
+# or given by the user.classpath property.
+# All entries will be added to the path of the JMeter internal loader only.
+# For plugin dependencies using plugin_dependency_paths should be preferred over
+# user.classpath.
+#plugin_dependency_paths=../dependencies/lib;../app1/jar1.jar;../app2/jar2.jar
+
+# Classpath finder
+# ================
+# The classpath finder currently needs to load every single JMeter class to find
+# the classes it needs.
+# For non-GUI mode, it's only necessary to scan for Function classes, but all classes
+# are still loaded.
+# All current Function classes include ".function." in their name,
+# and none include ".gui." in the name, so the number of unwanted classes loaded can be
+# reduced by checking for these. However, if a valid function class name does not match
+# these restrictions, it will not be loaded. If problems are encountered, then comment
+# or change the following properties:
+classfinder.functions.contain=.functions.
+classfinder.functions.notContain=.gui.
+
+#---------------------------------------------------------------------------
+# Additional property files to load
+#---------------------------------------------------------------------------
+
+# Should JMeter automatically load additional JMeter properties?
+# File name to look for (comment to disable)
+#user.properties=user.properties
+
+# Should JMeter automatically load additional system properties?
+# File name to look for (comment to disable)
+#system.properties=system.properties
+
+# Comma separated list of files that contain reference to templates and their description
+# Path must be relative to jmeter root folder
+#template.files=/bin/templates/templates.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/saveservice.properties
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/saveservice.properties b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/saveservice.properties
new file mode 100644
index 0000000..bae1168
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/loadsimulator/saveservice.properties
@@ -0,0 +1,381 @@
+#---------------------------------------------------------
+#         SAVESERVICE PROPERTIES - JMETER INTERNAL USE ONLY
+#---------------------------------------------------------
+
+##   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.
+
+# This file is used to define how XStream (de-)serializes classnames
+# in JMX test plan files.
+
+#      FOR JMETER INTERNAL USE ONLY
+
+#---------------------------------------------------------
+
+# N.B. To ensure backward compatibility, please do NOT change or delete any entries
+
+# New entries can be added as necessary.
+#
+# Note that keys starting with an underscore are special,
+# and are not used as aliases.
+#
+# Please keep the entries in alphabetical order within the sections
+# to reduce the likelihood of duplicates
+#
+# version number of this file (automatically generated by SVN)
+_file_version=$Revision: 1656252 $
+#
+# Conversion version (for JMX output files)
+# Must be updated if the file has been changed since the previous release
+# Format is:
+# Save service version=JMeter version at which change occured
+# 1.7 = 2.1.1
+# 1.8 = 2.1.2
+# (Some version updates were missed here...)
+# 2.0 = 2.3.1
+# 2.1 = 2.3.2
+# (Some version updates were missed here...)
+# 2.2 = 2.6
+# 2.3 = 2.7
+# 2.4 = 2.9
+# 2.5 = 2.10
+# 2.6 = 2.11
+# 2.7 = 2.12
+# 2.8 = 2.13
+_version=2.8
+#
+#
+# Character set encoding used to read and write JMeter XML files and CSV results
+#
+_file_encoding=UTF-8
+#
+#---------------------------------------------------------
+#
+# The following properties are used to create aliases
+# [Must all start with capital letter]
+#
+AccessLogSampler=org.apache.jmeter.protocol.http.sampler.AccessLogSampler
+AjpSampler=org.apache.jmeter.protocol.http.sampler.AjpSampler
+AjpSamplerGui=org.apache.jmeter.protocol.http.control.gui.AjpSamplerGui
+AnchorModifier=org.apache.jmeter.protocol.http.modifier.AnchorModifier
+AnchorModifierGui=org.apache.jmeter.protocol.http.modifier.gui.AnchorModifierGui
+Argument=org.apache.jmeter.config.Argument
+Arguments=org.apache.jmeter.config.Arguments
+ArgumentsPanel=org.apache.jmeter.config.gui.ArgumentsPanel
+AssertionGui=org.apache.jmeter.assertions.gui.AssertionGui
+AssertionVisualizer=org.apache.jmeter.visualizers.AssertionVisualizer
+AuthManager=org.apache.jmeter.protocol.http.control.AuthManager
+Authorization=org.apache.jmeter.protocol.http.control.Authorization
+AuthPanel=org.apache.jmeter.protocol.http.gui.AuthPanel
+BackendListener=org.apache.jmeter.visualizers.backend.BackendListener
+BackendListenerGui=org.apache.jmeter.visualizers.backend.BackendListenerGui
+BeanShellAssertion=org.apache.jmeter.assertions.BeanShellAssertion
+BeanShellAssertionGui=org.apache.jmeter.assertions.gui.BeanShellAssertionGui
+BeanShellListener=org.apache.jmeter.visualizers.BeanShellListener
+BeanShellPostProcessor=org.apache.jmeter.extractor.BeanShellPostProcessor
+BeanShellPreProcessor=org.apache.jmeter.modifiers.BeanShellPreProcessor
+BeanShellSampler=org.apache.jmeter.protocol.java.sampler.BeanShellSampler
+BeanShellSamplerGui=org.apache.jmeter.protocol.java.control.gui.BeanShellSamplerGui
+BeanShellTimer=org.apache.jmeter.timers.BeanShellTimer
+BSFAssertion=org.apache.jmeter.assertions.BSFAssertion
+BSFListener=org.apache.jmeter.visualizers.BSFListener
+BSFPreProcessor=org.apache.jmeter.modifiers.BSFPreProcessor
+BSFPostProcessor=org.apache.jmeter.extractor.BSFPostProcessor
+BSFSampler=org.apache.jmeter.protocol.java.sampler.BSFSampler
+BSFSamplerGui=org.apache.jmeter.protocol.java.control.gui.BSFSamplerGui
+BSFTimer=org.apache.jmeter.timers.BSFTimer
+CacheManager=org.apache.jmeter.protocol.http.control.CacheManager
+CacheManagerGui=org.apache.jmeter.protocol.http.gui.CacheManagerGui
+CompareAssertion=org.apache.jmeter.assertions.CompareAssertion
+ComparisonVisualizer=org.apache.jmeter.visualizers.ComparisonVisualizer
+ConfigTestElement=org.apache.jmeter.config.ConfigTestElement
+ConstantThroughputTimer=org.apache.jmeter.timers.ConstantThroughputTimer
+ConstantTimer=org.apache.jmeter.timers.ConstantTimer
+ConstantTimerGui=org.apache.jmeter.timers.gui.ConstantTimerGui
+Cookie=org.apache.jmeter.protocol.http.control.Cookie
+CookieManager=org.apache.jmeter.protocol.http.control.CookieManager
+CookiePanel=org.apache.jmeter.protocol.http.gui.CookiePanel
+CounterConfig=org.apache.jmeter.modifiers.CounterConfig
+CriticalSectionController=org.apache.jmeter.control.CriticalSectionController
+CriticalSectionControllerGui=org.apache.jmeter.control.gui.CriticalSectionControllerGui
+CounterConfigGui=org.apache.jmeter.modifiers.gui.CounterConfigGui
+CSVDataSet=org.apache.jmeter.config.CSVDataSet
+DebugPostProcessor=org.apache.jmeter.extractor.DebugPostProcessor
+DebugSampler=org.apache.jmeter.sampler.DebugSampler
+DistributionGraphVisualizer=org.apache.jmeter.visualizers.DistributionGraphVisualizer
+DNSCacheManager=org.apache.jmeter.protocol.http.control.DNSCacheManager
+DNSCachePanel=org.apache.jmeter.protocol.http.gui.DNSCachePanel
+DurationAssertion=org.apache.jmeter.assertions.DurationAssertion
+DurationAssertionGui=org.apache.jmeter.assertions.gui.DurationAssertionGui
+# Should really have been defined as floatProp to agree with other properties
+# No point changing this now
+FloatProperty=org.apache.jmeter.testelement.property.FloatProperty
+ForeachController=org.apache.jmeter.control.ForeachController
+ForeachControlPanel=org.apache.jmeter.control.gui.ForeachControlPanel
+FtpConfigGui=org.apache.jmeter.protocol.ftp.config.gui.FtpConfigGui
+FTPSampler=org.apache.jmeter.protocol.ftp.sampler.FTPSampler
+FtpTestSamplerGui=org.apache.jmeter.protocol.ftp.control.gui.FtpTestSamplerGui
+GaussianRandomTimer=org.apache.jmeter.timers.GaussianRandomTimer
+GaussianRandomTimerGui=org.apache.jmeter.timers.gui.GaussianRandomTimerGui
+GenericController=org.apache.jmeter.control.GenericController
+GraphAccumVisualizer=org.apache.jmeter.visualizers.GraphAccumVisualizer
+GraphVisualizer=org.apache.jmeter.visualizers.GraphVisualizer
+Header=org.apache.jmeter.protocol.http.control.Header
+HeaderManager=org.apache.jmeter.protocol.http.control.HeaderManager
+HeaderPanel=org.apache.jmeter.protocol.http.gui.HeaderPanel
+HTMLAssertion=org.apache.jmeter.assertions.HTMLAssertion
+HTMLAssertionGui=org.apache.jmeter.assertions.gui.HTMLAssertionGui
+HTTPArgument=org.apache.jmeter.protocol.http.util.HTTPArgument
+HTTPArgumentsPanel=org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel
+HTTPFileArg=org.apache.jmeter.protocol.http.util.HTTPFileArg
+HTTPFileArgs=org.apache.jmeter.protocol.http.util.HTTPFileArgs
+HttpDefaultsGui=org.apache.jmeter.protocol.http.config.gui.HttpDefaultsGui
+HtmlExtractor=org.apache.jmeter.extractor.HtmlExtractor
+HtmlExtractorGui=org.apache.jmeter.extractor.gui.HtmlExtractorGui
+# removed in r1039684, probably not released. Not present in r322831 or since.
+#HttpGenericSampler=org.apache.jmeter.protocol.http.sampler.HttpGenericSampler
+# removed in r1039684, probably not released. Not present in r322831 or since.
+#HttpGenericSamplerGui=org.apache.jmeter.protocol.http.control.gui.HttpGenericSamplerGui
+HttpMirrorControl=org.apache.jmeter.protocol.http.control.HttpMirrorControl
+HttpMirrorControlGui=org.apache.jmeter.protocol.http.control.gui.HttpMirrorControlGui
+# r397955 - removed test class. Keep as commented entry for info only.
+#HTTPNullSampler=org.apache.jmeter.protocol.http.sampler.HTTPNullSampler
+# Merge previous 2 HTTP samplers into one
+HTTPSampler_=org.apache.jmeter.protocol.http.sampler.HTTPSampler
+HTTPSampler2_=org.apache.jmeter.protocol.http.sampler.HTTPSampler2
+HTTPSamplerProxy,HTTPSampler,HTTPSampler2=org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy
+# Merge GUIs
+HttpTestSampleGui,HttpTestSampleGui2=org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui
+#HttpTestSampleGui2=org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui2
+IfController=org.apache.jmeter.control.IfController
+IfControllerPanel=org.apache.jmeter.control.gui.IfControllerPanel
+IncludeController=org.apache.jmeter.control.IncludeController
+IncludeControllerGui=org.apache.jmeter.control.gui.IncludeControllerGui
+InterleaveControl=org.apache.jmeter.control.InterleaveControl
+InterleaveControlGui=org.apache.jmeter.control.gui.InterleaveControlGui
+JavaConfig=org.apache.jmeter.protocol.java.config.JavaConfig
+JavaConfigGui=org.apache.jmeter.protocol.java.config.gui.JavaConfigGui
+JavaSampler=org.apache.jmeter.protocol.java.sampler.JavaSampler
+JavaTest=org.apache.jmeter.protocol.java.test.JavaTest
+JavaTestSamplerGui=org.apache.jmeter.protocol.java.control.gui.JavaTestSamplerGui
+JDBCDataSource=org.apache.jmeter.protocol.jdbc.config.DataSourceElement
+JDBCPostProcessor=org.apache.jmeter.protocol.jdbc.processor.JDBCPostProcessor
+JDBCPreProcessor=org.apache.jmeter.protocol.jdbc.processor.JDBCPreProcessor
+JDBCSampler=org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler
+# Renamed to JMSSamplerGui; keep original entry for backwards compatibility
+JMSConfigGui=org.apache.jmeter.protocol.jms.control.gui.JMSConfigGui
+JMSProperties=org.apache.jmeter.protocol.jms.sampler.JMSProperties
+JMSProperty=org.apache.jmeter.protocol.jms.sampler.JMSProperty
+JMSPublisherGui=org.apache.jmeter.protocol.jms.control.gui.JMSPublisherGui
+JMSSampler=org.apache.jmeter.protocol.jms.sampler.JMSSampler
+JMSSamplerGui=org.apache.jmeter.protocol.jms.control.gui.JMSSamplerGui
+JMSSubscriberGui=org.apache.jmeter.protocol.jms.control.gui.JMSSubscriberGui
+# Removed in r545311 as Jndi no longer present; keep for compat.
+JndiDefaultsGui=org.apache.jmeter.protocol.jms.control.gui.JndiDefaultsGui
+JSR223Assertion=org.apache.jmeter.assertions.JSR223Assertion
+JSR223Listener=org.apache.jmeter.visualizers.JSR223Listener
+JSR223PostProcessor=org.apache.jmeter.extractor.JSR223PostProcessor
+JSR223PreProcessor=org.apache.jmeter.modifiers.JSR223PreProcessor
+JSR223Sampler=org.apache.jmeter.protocol.java.sampler.JSR223Sampler
+JSR223Timer=org.apache.jmeter.timers.JSR223Timer
+JUnitSampler=org.apache.jmeter.protocol.java.sampler.JUnitSampler
+JUnitTestSamplerGui=org.apache.jmeter.protocol.java.control.gui.JUnitTestSamplerGui
+KeystoreConfig=org.apache.jmeter.config.KeystoreConfig
+LDAPArgument=org.apache.jmeter.protocol.ldap.config.gui.LDAPArgument
+LDAPArguments=org.apache.jmeter.protocol.ldap.config.gui.LDAPArguments
+LDAPArgumentsPanel=org.apache.jmeter.protocol.ldap.config.gui.LDAPArgumentsPanel
+LdapConfigGui=org.apache.jmeter.protocol.ldap.config.gui.LdapConfigGui
+LdapExtConfigGui=org.apache.jmeter.protocol.ldap.config.gui.LdapExtConfigGui
+LDAPExtSampler=org.apache.jmeter.protocol.ldap.sampler.LDAPExtSampler
+LdapExtTestSamplerGui=org.apache.jmeter.protocol.ldap.control.gui.LdapExtTestSamplerGui
+LDAPSampler=org.apache.jmeter.protocol.ldap.sampler.LDAPSampler
+LdapTestSamplerGui=org.apache.jmeter.protocol.ldap.control.gui.LdapTestSamplerGui
+LogicControllerGui=org.apache.jmeter.control.gui.LogicControllerGui
+LoginConfig=org.apache.jmeter.config.LoginConfig
+LoginConfigGui=org.apache.jmeter.config.gui.LoginConfigGui
+LoopController=org.apache.jmeter.control.LoopController
+LoopControlPanel=org.apache.jmeter.control.gui.LoopControlPanel
+MailerModel=org.apache.jmeter.reporters.MailerModel
+MailerResultCollector=org.apache.jmeter.reporters.MailerResultCollector
+MailerVisualizer=org.apache.jmeter.visualizers.MailerVisualizer
+MailReaderSampler=org.apache.jmeter.protocol.mail.sampler.MailReaderSampler
+MailReaderSamplerGui=org.apache.jmeter.protocol.mail.sampler.gui.MailReaderSamplerGui
+MD5HexAssertion=org.apache.jmeter.assertions.MD5HexAssertion
+MD5HexAssertionGUI=org.apache.jmeter.assertions.gui.MD5HexAssertionGUI
+ModuleController=org.apache.jmeter.control.ModuleController
+ModuleControllerGui=org.apache.jmeter.control.gui.ModuleControllerGui
+MongoScriptSampler=org.apache.jmeter.protocol.mongodb.sampler.MongoScriptSampler
+MongoSourceElement=org.apache.jmeter.protocol.mongodb.config.MongoSourceElement
+MonitorHealthVisualizer=org.apache.jmeter.visualizers.MonitorHealthVisualizer
+NamePanel=org.apache.jmeter.gui.NamePanel
+ObsoleteGui=org.apache.jmeter.config.gui.ObsoleteGui
+OnceOnlyController=org.apache.jmeter.control.OnceOnlyController
+OnceOnlyControllerGui=org.apache.jmeter.control.gui.OnceOnlyControllerGui
+ParamMask=org.apache.jmeter.protocol.http.modifier.ParamMask
+ParamModifier=org.apache.jmeter.protocol.http.modifier.ParamModifier
+ParamModifierGui=org.apache.jmeter.protocol.http.modifier.gui.ParamModifierGui
+PoissonRandomTimer=org.apache.jmeter.timers.PoissonRandomTimer
+PoissonRandomTimerGui=org.apache.jmeter.timers.gui.PoissonRandomTimerGui
+PropertyControlGui=org.apache.jmeter.visualizers.PropertyControlGui
+ProxyControl=org.apache.jmeter.protocol.http.proxy.ProxyControl
+ProxyControlGui=org.apache.jmeter.protocol.http.proxy.gui.ProxyControlGui
+PublisherSampler=org.apache.jmeter.protocol.jms.sampler.PublisherSampler
+RandomControlGui=org.apache.jmeter.control.gui.RandomControlGui
+RandomController=org.apache.jmeter.control.RandomController
+RandomOrderController=org.apache.jmeter.control.RandomOrderController
+RandomOrderControllerGui=org.apache.jmeter.control.gui.RandomOrderControllerGui
+RandomVariableConfig=org.apache.jmeter.config.RandomVariableConfig
+RecordController=org.apache.jmeter.protocol.http.control.gui.RecordController
+RecordingController=org.apache.jmeter.protocol.http.control.RecordingController
+# removed in r1039684, class was deleted in r580452
+ReflectionThreadGroup=org.apache.jmeter.threads.ReflectionThreadGroup
+RegexExtractor=org.apache.jmeter.extractor.RegexExtractor
+RegexExtractorGui=org.apache.jmeter.extractor.gui.RegexExtractorGui
+RegExUserParameters=org.apache.jmeter.protocol.http.modifier.RegExUserParameters
+RegExUserParametersGui=org.apache.jmeter.protocol.http.modifier.gui.RegExUserParametersGui
+RemoteListenerWrapper=org.apache.jmeter.samplers.RemoteListenerWrapper
+RemoteSampleListenerWrapper=org.apache.jmeter.samplers.RemoteSampleListenerWrapper
+RemoteTestListenerWrapper=org.apache.jmeter.samplers.RemoteTestListenerWrapper
+RemoteThreadsListenerWrapper=org.apache.jmeter.threads.RemoteThreadsListenerWrapper
+ResponseAssertion=org.apache.jmeter.assertions.ResponseAssertion
+RespTimeGraphVisualizer=org.apache.jmeter.visualizers.RespTimeGraphVisualizer
+ResultAction=org.apache.jmeter.reporters.ResultAction
+ResultActionGui=org.apache.jmeter.reporters.gui.ResultActionGui
+ResultCollector=org.apache.jmeter.reporters.ResultCollector
+ResultSaver=org.apache.jmeter.reporters.ResultSaver
+ResultSaverGui=org.apache.jmeter.reporters.gui.ResultSaverGui
+RunTime=org.apache.jmeter.control.RunTime
+RunTimeGui=org.apache.jmeter.control.gui.RunTimeGui
+SampleSaveConfiguration=org.apache.jmeter.samplers.SampleSaveConfiguration
+SimpleConfigGui=org.apache.jmeter.config.gui.SimpleConfigGui
+SimpleDataWriter=org.apache.jmeter.visualizers.SimpleDataWriter
+SizeAssertion=org.apache.jmeter.assertions.SizeAssertion
+SizeAssertionGui=org.apache.jmeter.assertions.gui.SizeAssertionGui
+SMIMEAssertion=org.apache.jmeter.assertions.SMIMEAssertionTestElement
+SMIMEAssertionGui=org.apache.jmeter.assertions.gui.SMIMEAssertionGui
+SmtpSampler=org.apache.jmeter.protocol.smtp.sampler.SmtpSampler
+SmtpSamplerGui=org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui
+SoapSampler=org.apache.jmeter.protocol.http.sampler.SoapSampler
+SoapSamplerGui=org.apache.jmeter.protocol.http.control.gui.SoapSamplerGui
+SplineVisualizer=org.apache.jmeter.visualizers.SplineVisualizer
+# Originally deleted in r397955 as class is obsolete; needed for compat.
+SqlConfigGui=org.apache.jmeter.protocol.jdbc.config.gui.SqlConfigGui
+StatGraphVisualizer=org.apache.jmeter.visualizers.StatGraphVisualizer
+StatVisualizer=org.apache.jmeter.visualizers.StatVisualizer
+SubscriberSampler=org.apache.jmeter.protocol.jms.sampler.SubscriberSampler
+SubstitutionElement=org.apache.jmeter.assertions.SubstitutionElement
+Summariser=org.apache.jmeter.reporters.Summariser
+SummariserGui=org.apache.jmeter.reporters.gui.SummariserGui
+SummaryReport=org.apache.jmeter.visualizers.SummaryReport
+SwitchController=org.apache.jmeter.control.SwitchController
+SwitchControllerGui=org.apache.jmeter.control.gui.SwitchControllerGui
+SyncTimer=org.apache.jmeter.timers.SyncTimer
+SystemSampler=org.apache.jmeter.protocol.system.SystemSampler
+SystemSamplerGui=org.apache.jmeter.protocol.system.gui.SystemSamplerGui
+TableVisualizer=org.apache.jmeter.visualizers.TableVisualizer
+TCPConfigGui=org.apache.jmeter.protocol.tcp.config.gui.TCPConfigGui
+TCPSampler=org.apache.jmeter.protocol.tcp.sampler.TCPSampler
+TCPSamplerGui=org.apache.jmeter.protocol.tcp.control.gui.TCPSamplerGui
+TestAction=org.apache.jmeter.sampler.TestAction
+TestActionGui=org.apache.jmeter.sampler.gui.TestActionGui
+TestBeanGUI=org.apache.jmeter.testbeans.gui.TestBeanGUI
+TestFragmentController=org.apache.jmeter.control.TestFragmentController
+TestFragmentControllerGui=org.apache.jmeter.control.gui.TestFragmentControllerGui
+TestPlan=org.apache.jmeter.testelement.TestPlan
+TestPlanGui=org.apache.jmeter.control.gui.TestPlanGui
+ThreadGroup=org.apache.jmeter.threads.ThreadGroup
+ThreadGroupGui=org.apache.jmeter.threads.gui.ThreadGroupGui
+PostThreadGroup=org.apache.jmeter.threads.PostThreadGroup
+PostThreadGroupGui=org.apache.jmeter.threads.gui.PostThreadGroupGui
+SetupThreadGroup=org.apache.jmeter.threads.SetupThreadGroup
+SetupThreadGroupGui=org.apache.jmeter.threads.gui.SetupThreadGroupGui
+ThroughputController=org.apache.jmeter.control.ThroughputController
+ThroughputControllerGui=org.apache.jmeter.control.gui.ThroughputControllerGui
+TransactionController=org.apache.jmeter.control.TransactionController
+TransactionControllerGui=org.apache.jmeter.control.gui.TransactionControllerGui
+TransactionSampler=org.apache.jmeter.control.TransactionSampler
+UniformRandomTimer=org.apache.jmeter.timers.UniformRandomTimer
+UniformRandomTimerGui=org.apache.jmeter.timers.gui.UniformRandomTimerGui
+URLRewritingModifier=org.apache.jmeter.protocol.http.modifier.URLRewritingModifier
+URLRewritingModifierGui=org.apache.jmeter.protocol.http.modifier.gui.URLRewritingModifierGui
+UserParameterModifier=org.apache.jmeter.protocol.http.modifier.UserParameterModifier
+UserParameterModifierGui=org.apache.jmeter.protocol.http.modifier.gui.UserParameterModifierGui
+UserParameters=org.apache.jmeter.modifiers.UserParameters
+UserParametersGui=org.apache.jmeter.modifiers.gui.UserParametersGui
+ViewResultsFullVisualizer=org.apache.jmeter.visualizers.ViewResultsFullVisualizer
+WebServiceSampler=org.apache.jmeter.protocol.http.sampler.WebServiceSampler
+WebServiceSamplerGui=org.apache.jmeter.protocol.http.control.gui.WebServiceSamplerGui
+WhileController=org.apache.jmeter.control.WhileController
+WhileControllerGui=org.apache.jmeter.control.gui.WhileControllerGui
+WorkBench=org.apache.jmeter.testelement.WorkBench
+WorkBenchGui=org.apache.jmeter.control.gui.WorkBenchGui
+XMLAssertion=org.apache.jmeter.assertions.XMLAssertion
+XMLAssertionGui=org.apache.jmeter.assertions.gui.XMLAssertionGui
+XMLSchemaAssertion=org.apache.jmeter.assertions.XMLSchemaAssertion
+XMLSchemaAssertionGUI=org.apache.jmeter.assertions.gui.XMLSchemaAssertionGUI
+XPathAssertion=org.apache.jmeter.assertions.XPathAssertion
+XPathAssertionGui=org.apache.jmeter.assertions.gui.XPathAssertionGui
+XPathExtractor=org.apache.jmeter.extractor.XPathExtractor
+XPathExtractorGui=org.apache.jmeter.extractor.gui.XPathExtractorGui
+#
+# Properties - all start with lower case letter and end with Prop
+#
+boolProp=org.apache.jmeter.testelement.property.BooleanProperty
+collectionProp=org.apache.jmeter.testelement.property.CollectionProperty
+doubleProp=org.apache.jmeter.testelement.property.DoubleProperty
+elementProp=org.apache.jmeter.testelement.property.TestElementProperty
+# see above - already defined as FloatProperty
+#floatProp=org.apache.jmeter.testelement.property.FloatProperty
+intProp=org.apache.jmeter.testelement.property.IntegerProperty
+longProp=org.apache.jmeter.testelement.property.LongProperty
+mapProp=org.apache.jmeter.testelement.property.MapProperty
+objProp=org.apache.jmeter.testelement.property.ObjectProperty
+stringProp=org.apache.jmeter.testelement.property.StringProperty
+#
+# Other - must start with a lower case letter (and not end with Prop)
+# (otherwise they could clash with the initial set of aliases)
+#
+hashTree=org.apache.jorphan.collections.ListedHashTree
+jmeterTestPlan=org.apache.jmeter.save.ScriptWrapper
+sample=org.apache.jmeter.samplers.SampleResult
+httpSample=org.apache.jmeter.protocol.http.sampler.HTTPSampleResult
+statSample=org.apache.jmeter.samplers.StatisticalSampleResult
+testResults=org.apache.jmeter.save.TestResultWrapper
+assertionResult=org.apache.jmeter.assertions.AssertionResult
+monitorStats=org.apache.jmeter.visualizers.MonitorStats
+sampleEvent=org.apache.jmeter.samplers.SampleEvent
+#
+# Converters to register.  Must start line with '_'
+# If the converter is a collection of subitems, set equal to "collection"
+# If the converter needs to know the class mappings but is not a collection of
+#      subitems, set it equal to "mapping"
+_org.apache.jmeter.protocol.http.sampler.HTTPSamplerBaseConverter=collection
+_org.apache.jmeter.protocol.http.util.HTTPResultConverter=collection
+_org.apache.jmeter.save.converters.BooleanPropertyConverter=
+_org.apache.jmeter.save.converters.IntegerPropertyConverter=
+_org.apache.jmeter.save.converters.LongPropertyConverter=
+_org.apache.jmeter.save.converters.MultiPropertyConverter=collection
+_org.apache.jmeter.save.converters.SampleEventConverter=
+_org.apache.jmeter.save.converters.SampleResultConverter=collection
+_org.apache.jmeter.save.converters.SampleSaveConfigurationConverter=collection
+_org.apache.jmeter.save.converters.StringPropertyConverter=
+_org.apache.jmeter.save.converters.HashTreeConverter=collection
+_org.apache.jmeter.save.converters.TestElementConverter=collection
+_org.apache.jmeter.save.converters.TestElementPropertyConverter=collection
+_org.apache.jmeter.save.converters.TestResultWrapperConverter=collection
+_org.apache.jmeter.save.ScriptWrapperConverter=mapping
+#
+#	Remember to update the _version entry
+#
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/AMS-HBASE.dat
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/AMS-HBASE.dat b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/AMS-HBASE.dat
new file mode 100644
index 0000000..63ac9f3
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/AMS-HBASE.dat
@@ -0,0 +1,18 @@
+dfs.FSNamesystem.MissingReplOneBlocks
+dfs.FSNamesystem.TransactionsSinceLastCheckpoint
+dfs.FSNamesystem.MillisSinceLastLoadedEdits
+dfs.FSNamesystem.SnapshottableDirectories
+master.Master.QueueCallTime_median
+dfs.FSNamesystem.LastCheckpointTime
+dfs.FSNamesystem.TotalFiles
+dfs.FSNamesystem.ExpiredHeartbeats
+dfs.FSNamesystem.PostponedMisreplicatedBlocks
+dfs.FSNamesystem.LastWrittenTransactionId
+jvm.JvmMetrics.MemHeapCommittedM
+dfs.FSNamesystem.Snapshots
+dfs.FSNamesystem.TransactionsSinceLastLogRoll
+master.Server.averageLoad
+jvm.JvmMetrics.MemHeapUsedM
+master.AssignmentManger.ritCount
+dfs.FSNamesystem.PendingDataNodeMessageCount
+dfs.FSNamesystem.StaleDataNodes
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/FLUME_HANDLER.dat
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/FLUME_HANDLER.dat b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/FLUME_HANDLER.dat
new file mode 100644
index 0000000..bd5852f
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/FLUME_HANDLER.dat
@@ -0,0 +1,40 @@
+ChannelSize._rate._min._sum
+ChannelSize._rate._sum._max
+ChannelSize._rate._min._max
+ChannelSize._rate._avg._min
+ChannelSize._rate._avg._avg
+ChannelSize._rate._max
+ChannelSize._rate._max._min
+ChannelSize._rate._max._avg
+ChannelSize._rate._avg._sum
+ChannelSize._rate._max._sum
+ChannelSize._rate._sum
+ChannelSize._rate._sum._min
+ChannelSize._rate._sum._avg
+ChannelSize._rate._min._avg
+ChannelSize._rate._min._min
+ChannelSize._rate._avg._max
+ChannelSize._rate._max._max
+ChannelSize._rate._avg
+ChannelSize._rate._min
+ChannelSize._rate._sum._sum
+EventPutSuccessCount._rate._avg._sum
+EventPutSuccessCount._rate._max._sum
+EventPutSuccessCount._rate._sum._sum
+EventPutSuccessCount._rate._max._max
+EventPutSuccessCount._rate._min._avg
+EventPutSuccessCount._rate._min._min
+EventPutSuccessCount._rate._avg._max
+EventPutSuccessCount._rate._sum._min
+EventPutSuccessCount._rate._sum._avg
+EventPutSuccessCount._rate._min._sum
+EventPutSuccessCount._rate._max
+EventPutSuccessCount._rate._max._avg
+EventPutSuccessCount._rate._avg._avg
+EventPutSuccessCount._rate._max._min
+EventPutSuccessCount._rate._avg._min
+EventPutSuccessCount._rate._avg
+EventPutSuccessCount._rate._min
+EventPutSuccessCount._rate._sum._max
+EventPutSuccessCount._rate._min._max
+EventPutSuccessCount._rate._sum


[2/4] ambari git commit: AMBARI-13409. AMS Load Simulator updates. (Aravindan Vijayan via swagle)

Posted by sw...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/KAFKA_BROKER.dat
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/KAFKA_BROKER.dat b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/KAFKA_BROKER.dat
new file mode 100644
index 0000000..b9848d7
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/KAFKA_BROKER.dat
@@ -0,0 +1,1104 @@
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetCommit.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetCommit.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetCommit.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetCommit.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetCommit.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetCommit.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetCommit.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetCommit.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetCommit.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetCommit.75percentile
+kafka.server.DelayedOperationPurgatory.PurgatorySize.delayedOperation.Heartbeat
+kafka.server.ReplicaManager.LeaderCount
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Update.Metadata.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Update.Metadata.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Update.Metadata.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Update.Metadata.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Update.Metadata.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Update.Metadata.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Update.Metadata.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Update.Metadata.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Update.Metadata.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Update.Metadata.75percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Fetch.max
+kafka.network.RequestMetrics.LocalTimeMs.request.Fetch.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.Fetch.min
+kafka.network.RequestMetrics.LocalTimeMs.request.Fetch.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.Fetch.median
+kafka.network.RequestMetrics.LocalTimeMs.request.Fetch.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Fetch.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Fetch.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Fetch.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Fetch.75percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.ControlledShutdown.max
+kafka.network.RequestMetrics.LocalTimeMs.request.ControlledShutdown.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.ControlledShutdown.min
+kafka.network.RequestMetrics.LocalTimeMs.request.ControlledShutdown.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.ControlledShutdown.median
+kafka.network.RequestMetrics.LocalTimeMs.request.ControlledShutdown.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.ControlledShutdown.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.ControlledShutdown.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.ControlledShutdown.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.ControlledShutdown.75percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetCommit.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetCommit.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetCommit.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetCommit.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetCommit.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetCommit.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetCommit.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetCommit.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetCommit.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetCommit.75percentile
+kafka.server.KafkaRequestHandlerPool.RequestHandlerAvgIdlePercent.count
+kafka.server.KafkaRequestHandlerPool.RequestHandlerAvgIdlePercent.1MinuteRate
+kafka.server.KafkaRequestHandlerPool.RequestHandlerAvgIdlePercent.meanRate
+kafka.server.KafkaRequestHandlerPool.RequestHandlerAvgIdlePercent.5MinuteRate
+kafka.server.KafkaRequestHandlerPool.RequestHandlerAvgIdlePercent.15MinuteRate
+kafka.cluster.Partition.UnderReplicated.partition.0.topic.ambari_kafka_service_check
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.UpdateMetadata.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.UpdateMetadata.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.UpdateMetadata.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.UpdateMetadata.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.UpdateMetadata.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.UpdateMetadata.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.UpdateMetadata.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.UpdateMetadata.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.UpdateMetadata.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.UpdateMetadata.75percentile
+kafka.server.ReplicaManager.IsrExpandsPerSec.count
+kafka.server.ReplicaManager.IsrExpandsPerSec.1MinuteRate
+kafka.server.ReplicaManager.IsrExpandsPerSec.meanRate
+kafka.server.ReplicaManager.IsrExpandsPerSec.5MinuteRate
+kafka.server.ReplicaManager.IsrExpandsPerSec.15MinuteRate
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchConsumer.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchConsumer.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchConsumer.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchConsumer.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchConsumer.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchConsumer.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchConsumer.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchConsumer.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchConsumer.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchConsumer.75percentile
+kafka.network.RequestMetrics.RequestsPerSec.request.LeaderAndIsr.count
+kafka.network.RequestMetrics.RequestsPerSec.request.LeaderAndIsr.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.LeaderAndIsr.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.LeaderAndIsr.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.LeaderAndIsr.15MinuteRate
+kafka.server.DelayedOperationPurgatory.NumDelayedOperations.delayedOperation.JoinGroup
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ConsumerMetadata.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ConsumerMetadata.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ConsumerMetadata.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ConsumerMetadata.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ConsumerMetadata.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ConsumerMetadata.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ConsumerMetadata.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ConsumerMetadata.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ConsumerMetadata.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ConsumerMetadata.75percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Metadata.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Metadata.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Metadata.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Metadata.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Metadata.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Metadata.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Metadata.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Metadata.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Metadata.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Metadata.75percentile
+kafka.server.DelayedOperationPurgatory.PurgatorySize.delayedOperation.Fetch
+kafka.network.RequestMetrics.RequestsPerSec.request.OffsetFetch.count
+kafka.network.RequestMetrics.RequestsPerSec.request.OffsetFetch.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.OffsetFetch.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.OffsetFetch.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.OffsetFetch.15MinuteRate
+kafka.network.RequestMetrics.TotalTimeMs.request.ControlledShutdown.max
+kafka.network.RequestMetrics.TotalTimeMs.request.ControlledShutdown.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.ControlledShutdown.min
+kafka.network.RequestMetrics.TotalTimeMs.request.ControlledShutdown.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.ControlledShutdown.median
+kafka.network.RequestMetrics.TotalTimeMs.request.ControlledShutdown.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.ControlledShutdown.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.ControlledShutdown.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.ControlledShutdown.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.ControlledShutdown.75percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Metadata.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.Metadata.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.Metadata.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.Metadata.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.Metadata.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.Metadata.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Metadata.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Metadata.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Metadata.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Metadata.75percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.LeaderAndIsr.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.LeaderAndIsr.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.LeaderAndIsr.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.LeaderAndIsr.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.LeaderAndIsr.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.LeaderAndIsr.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.LeaderAndIsr.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.LeaderAndIsr.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.LeaderAndIsr.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.LeaderAndIsr.75percentile
+kafka.server.DelayedOperationPurgatory.NumDelayedOperations.delayedOperation.Produce
+kafka.server.ReplicaFetcherManager.MaxLag.clientId.Replica
+kafka.network.RequestMetrics.RemoteTimeMs.request.JoinGroup.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.JoinGroup.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.JoinGroup.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.JoinGroup.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.JoinGroup.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.JoinGroup.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.JoinGroup.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.JoinGroup.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.JoinGroup.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.JoinGroup.75percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Offsets.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Offsets.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Offsets.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Offsets.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Offsets.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Offsets.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Offsets.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Offsets.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Offsets.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Offsets.75percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Heartbeat.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Heartbeat.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Heartbeat.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Heartbeat.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Heartbeat.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Heartbeat.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Heartbeat.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Heartbeat.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Heartbeat.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Heartbeat.75percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Produce.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.Produce.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.Produce.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.Produce.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.Produce.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.Produce.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Produce.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Produce.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Produce.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Produce.75percentile
+kafka.network.RequestChannel.ResponseQueueSize
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetFetch.max
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetFetch.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetFetch.min
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetFetch.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetFetch.median
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetFetch.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetFetch.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetFetch.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetFetch.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetFetch.75percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Fetch.max
+kafka.network.RequestMetrics.TotalTimeMs.request.Fetch.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.Fetch.min
+kafka.network.RequestMetrics.TotalTimeMs.request.Fetch.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.Fetch.median
+kafka.network.RequestMetrics.TotalTimeMs.request.Fetch.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Fetch.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Fetch.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Fetch.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Fetch.75percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.LeaderAndIsr.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.LeaderAndIsr.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.LeaderAndIsr.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.LeaderAndIsr.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.LeaderAndIsr.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.LeaderAndIsr.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.LeaderAndIsr.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.LeaderAndIsr.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.LeaderAndIsr.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.LeaderAndIsr.75percentile
+kafka.network.RequestMetrics.RequestsPerSec.request.Fetch.count
+kafka.network.RequestMetrics.RequestsPerSec.request.Fetch.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Fetch.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Fetch.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Fetch.15MinuteRate
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Produce.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Produce.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Produce.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Produce.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Produce.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Produce.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Produce.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Produce.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Produce.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Produce.75percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Metadata.max
+kafka.network.RequestMetrics.LocalTimeMs.request.Metadata.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.Metadata.min
+kafka.network.RequestMetrics.LocalTimeMs.request.Metadata.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.Metadata.median
+kafka.network.RequestMetrics.LocalTimeMs.request.Metadata.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Metadata.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Metadata.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Metadata.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Metadata.75percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Produce.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Produce.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Produce.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Produce.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Produce.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Produce.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Produce.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Produce.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Produce.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Produce.75percentile
+kafka.server.DelayedOperationPurgatory.NumDelayedOperations.delayedOperation.Fetch
+kafka.network.RequestMetrics.TotalTimeMs.request.UpdateMetadata.max
+kafka.network.RequestMetrics.TotalTimeMs.request.UpdateMetadata.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.UpdateMetadata.min
+kafka.network.RequestMetrics.TotalTimeMs.request.UpdateMetadata.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.UpdateMetadata.median
+kafka.network.RequestMetrics.TotalTimeMs.request.UpdateMetadata.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.UpdateMetadata.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.UpdateMetadata.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.UpdateMetadata.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.UpdateMetadata.75percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetFetch.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetFetch.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetFetch.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetFetch.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetFetch.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetFetch.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetFetch.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetFetch.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetFetch.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.OffsetFetch.75percentile
+kafka.network.SocketServer.NetworkProcessorAvgIdlePercent.count
+kafka.network.SocketServer.NetworkProcessorAvgIdlePercent.1MinuteRate
+kafka.network.SocketServer.NetworkProcessorAvgIdlePercent.meanRate
+kafka.network.SocketServer.NetworkProcessorAvgIdlePercent.5MinuteRate
+kafka.network.SocketServer.NetworkProcessorAvgIdlePercent.15MinuteRate
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetCommit.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetCommit.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetCommit.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetCommit.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetCommit.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetCommit.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetCommit.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetCommit.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetCommit.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetCommit.75percentile
+kafka.network.RequestMetrics.RequestsPerSec.request.FetchConsumer.count
+kafka.network.RequestMetrics.RequestsPerSec.request.FetchConsumer.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.FetchConsumer.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.FetchConsumer.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.FetchConsumer.15MinuteRate
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ControlledShutdown.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ControlledShutdown.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ControlledShutdown.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ControlledShutdown.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ControlledShutdown.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ControlledShutdown.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ControlledShutdown.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ControlledShutdown.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ControlledShutdown.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ControlledShutdown.75percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchFollower.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchFollower.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchFollower.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchFollower.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchFollower.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchFollower.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchFollower.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchFollower.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchFollower.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchFollower.75percentile
+kafka.network.RequestMetrics.RequestsPerSec.request.FetchFollower.count
+kafka.network.RequestMetrics.RequestsPerSec.request.FetchFollower.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.FetchFollower.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.FetchFollower.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.FetchFollower.15MinuteRate
+kafka.network.SocketServer.ResponsesBeingSent
+kafka.server.BrokerTopicMetrics.BytesOutPerSec.count
+kafka.server.BrokerTopicMetrics.BytesOutPerSec.1MinuteRate
+kafka.server.BrokerTopicMetrics.BytesOutPerSec.meanRate
+kafka.server.BrokerTopicMetrics.BytesOutPerSec.5MinuteRate
+kafka.server.BrokerTopicMetrics.BytesOutPerSec.15MinuteRate
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Fetch.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Fetch.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Fetch.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Fetch.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Fetch.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Fetch.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Fetch.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Fetch.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Fetch.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Fetch.75percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Heartbeat.max
+kafka.network.RequestMetrics.TotalTimeMs.request.Heartbeat.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.Heartbeat.min
+kafka.network.RequestMetrics.TotalTimeMs.request.Heartbeat.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.Heartbeat.median
+kafka.network.RequestMetrics.TotalTimeMs.request.Heartbeat.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Heartbeat.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Heartbeat.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Heartbeat.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Heartbeat.75percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.ConsumerMetadata.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.ConsumerMetadata.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.ConsumerMetadata.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.ConsumerMetadata.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.ConsumerMetadata.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.ConsumerMetadata.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.ConsumerMetadata.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.ConsumerMetadata.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.ConsumerMetadata.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.ConsumerMetadata.75percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.JoinGroup.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.JoinGroup.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.JoinGroup.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.JoinGroup.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.JoinGroup.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.JoinGroup.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.JoinGroup.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.JoinGroup.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.JoinGroup.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.JoinGroup.75percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.LeaderAndIsr.max
+kafka.network.RequestMetrics.LocalTimeMs.request.LeaderAndIsr.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.LeaderAndIsr.min
+kafka.network.RequestMetrics.LocalTimeMs.request.LeaderAndIsr.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.LeaderAndIsr.median
+kafka.network.RequestMetrics.LocalTimeMs.request.LeaderAndIsr.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.LeaderAndIsr.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.LeaderAndIsr.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.LeaderAndIsr.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.LeaderAndIsr.75percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Metadata.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Metadata.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Metadata.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Metadata.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Metadata.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Metadata.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Metadata.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Metadata.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Metadata.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Metadata.75percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Produce.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Produce.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Produce.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Produce.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Produce.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Produce.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Produce.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Produce.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Produce.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Produce.75percentile
+kafka.network.RequestMetrics.RequestsPerSec.request.StopReplica.count
+kafka.network.RequestMetrics.RequestsPerSec.request.StopReplica.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.StopReplica.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.StopReplica.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.StopReplica.15MinuteRate
+kafka.network.RequestMetrics.RemoteTimeMs.request.Heartbeat.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.Heartbeat.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.Heartbeat.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.Heartbeat.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.Heartbeat.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.Heartbeat.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Heartbeat.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Heartbeat.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Heartbeat.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Heartbeat.75percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ControlledShutdown.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ControlledShutdown.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ControlledShutdown.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ControlledShutdown.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ControlledShutdown.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ControlledShutdown.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ControlledShutdown.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ControlledShutdown.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ControlledShutdown.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.ControlledShutdown.75percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Produce.max
+kafka.network.RequestMetrics.LocalTimeMs.request.Produce.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.Produce.min
+kafka.network.RequestMetrics.LocalTimeMs.request.Produce.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.Produce.median
+kafka.network.RequestMetrics.LocalTimeMs.request.Produce.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Produce.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Produce.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Produce.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Produce.75percentile
+kafka.server.BrokerTopicMetrics.FailedFetchRequestsPerSec.count
+kafka.server.BrokerTopicMetrics.FailedFetchRequestsPerSec.1MinuteRate
+kafka.server.BrokerTopicMetrics.FailedFetchRequestsPerSec.meanRate
+kafka.server.BrokerTopicMetrics.FailedFetchRequestsPerSec.5MinuteRate
+kafka.server.BrokerTopicMetrics.FailedFetchRequestsPerSec.15MinuteRate
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.UpdateMetadata.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.UpdateMetadata.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.UpdateMetadata.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.UpdateMetadata.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.UpdateMetadata.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.UpdateMetadata.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.UpdateMetadata.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.UpdateMetadata.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.UpdateMetadata.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.UpdateMetadata.75percentile
+kafka.network.RequestMetrics.RequestsPerSec.request.UpdateMetadata.count
+kafka.network.RequestMetrics.RequestsPerSec.request.UpdateMetadata.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.UpdateMetadata.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.UpdateMetadata.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.UpdateMetadata.15MinuteRate
+kafka.server.DelayedOperationPurgatory.NumDelayedOperations.delayedOperation.Rebalance
+kafka.server.BrokerTopicMetrics.FailedProduceRequestsPerSec.count
+kafka.server.BrokerTopicMetrics.FailedProduceRequestsPerSec.1MinuteRate
+kafka.server.BrokerTopicMetrics.FailedProduceRequestsPerSec.meanRate
+kafka.server.BrokerTopicMetrics.FailedProduceRequestsPerSec.5MinuteRate
+kafka.server.BrokerTopicMetrics.FailedProduceRequestsPerSec.15MinuteRate
+kafka.server.ReplicaManager.PartitionCount
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.StopReplica.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.StopReplica.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.StopReplica.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.StopReplica.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.StopReplica.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.StopReplica.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.StopReplica.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.StopReplica.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.StopReplica.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.StopReplica.75percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchConsumer.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchConsumer.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchConsumer.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchConsumer.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchConsumer.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchConsumer.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchConsumer.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchConsumer.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchConsumer.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.FetchConsumer.75percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetFetch.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetFetch.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetFetch.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetFetch.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetFetch.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetFetch.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetFetch.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetFetch.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetFetch.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.OffsetFetch.75percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Fetch.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Fetch.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Fetch.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Fetch.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Fetch.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Fetch.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Fetch.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Fetch.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Fetch.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Fetch.75percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchFollower.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchFollower.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchFollower.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchFollower.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchFollower.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchFollower.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchFollower.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchFollower.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchFollower.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchFollower.75percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Offsets.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Offsets.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Offsets.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Offsets.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Offsets.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Offsets.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Offsets.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Offsets.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Offsets.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.Offsets.75percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.StopReplica.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.StopReplica.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.StopReplica.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.StopReplica.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.StopReplica.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.StopReplica.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.StopReplica.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.StopReplica.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.StopReplica.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.StopReplica.75percentile
+kafka.network.RequestChannel.ResponseQueueSize.processor.1
+kafka.network.RequestMetrics.TotalTimeMs.request.ConsumerMetadata.max
+kafka.network.RequestMetrics.TotalTimeMs.request.ConsumerMetadata.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.ConsumerMetadata.min
+kafka.network.RequestMetrics.TotalTimeMs.request.ConsumerMetadata.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.ConsumerMetadata.median
+kafka.network.RequestMetrics.TotalTimeMs.request.ConsumerMetadata.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.ConsumerMetadata.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.ConsumerMetadata.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.ConsumerMetadata.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.ConsumerMetadata.75percentile
+kafka.network.RequestChannel.ResponseQueueSize.processor.2
+kafka.network.RequestChannel.ResponseQueueSize.processor.0
+kafka.controller.ControllerStats.UncleanLeaderElectionsPerSec.count
+kafka.controller.ControllerStats.UncleanLeaderElectionsPerSec.1MinuteRate
+kafka.controller.ControllerStats.UncleanLeaderElectionsPerSec.meanRate
+kafka.controller.ControllerStats.UncleanLeaderElectionsPerSec.5MinuteRate
+kafka.controller.ControllerStats.UncleanLeaderElectionsPerSec.15MinuteRate
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchConsumer.max
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchConsumer.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchConsumer.min
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchConsumer.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchConsumer.median
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchConsumer.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchConsumer.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchConsumer.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchConsumer.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchConsumer.75percentile
+kafka.server.OffsetManager.NumOffsets
+kafka.network.RequestMetrics.LocalTimeMs.request.JoinGroup.max
+kafka.network.RequestMetrics.LocalTimeMs.request.JoinGroup.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.JoinGroup.min
+kafka.network.RequestMetrics.LocalTimeMs.request.JoinGroup.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.JoinGroup.median
+kafka.network.RequestMetrics.LocalTimeMs.request.JoinGroup.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.JoinGroup.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.JoinGroup.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.JoinGroup.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.JoinGroup.75percentile
+kafka.network.RequestChannel.RequestQueueSize
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetCommit.max
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetCommit.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetCommit.min
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetCommit.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetCommit.median
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetCommit.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetCommit.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetCommit.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetCommit.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetCommit.75percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.StopReplica.max
+kafka.network.RequestMetrics.LocalTimeMs.request.StopReplica.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.StopReplica.min
+kafka.network.RequestMetrics.LocalTimeMs.request.StopReplica.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.StopReplica.median
+kafka.network.RequestMetrics.LocalTimeMs.request.StopReplica.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.StopReplica.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.StopReplica.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.StopReplica.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.StopReplica.75percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Heartbeat.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Heartbeat.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Heartbeat.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Heartbeat.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Heartbeat.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Heartbeat.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Heartbeat.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Heartbeat.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Heartbeat.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Heartbeat.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Heartbeat.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Heartbeat.75percentile
+kafka.log.Log.LogStartOffset.partition.0.topic.ambari_kafka_service_check
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Metadata.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Metadata.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Metadata.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Metadata.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Metadata.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Metadata.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Metadata.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Metadata.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Metadata.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Metadata.75percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.StopReplica.max
+kafka.network.RequestMetrics.TotalTimeMs.request.StopReplica.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.StopReplica.min
+kafka.network.RequestMetrics.TotalTimeMs.request.StopReplica.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.StopReplica.median
+kafka.network.RequestMetrics.TotalTimeMs.request.StopReplica.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.StopReplica.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.StopReplica.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.StopReplica.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.StopReplica.75percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchConsumer.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchConsumer.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchConsumer.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchConsumer.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchConsumer.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchConsumer.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchConsumer.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchConsumer.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchConsumer.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchConsumer.75percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Offsets.max
+kafka.network.RequestMetrics.LocalTimeMs.request.Offsets.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.Offsets.min
+kafka.network.RequestMetrics.LocalTimeMs.request.Offsets.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.Offsets.median
+kafka.network.RequestMetrics.LocalTimeMs.request.Offsets.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Offsets.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Offsets.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Offsets.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Offsets.75percentile
+kafka.server.BrokerTopicMetrics.BytesRejectedPerSec.count
+kafka.server.BrokerTopicMetrics.BytesRejectedPerSec.1MinuteRate
+kafka.server.BrokerTopicMetrics.BytesRejectedPerSec.meanRate
+kafka.server.BrokerTopicMetrics.BytesRejectedPerSec.5MinuteRate
+kafka.server.BrokerTopicMetrics.BytesRejectedPerSec.15MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.ConsumerMetadata.count
+kafka.network.RequestMetrics.RequestsPerSec.request.ConsumerMetadata.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.ConsumerMetadata.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.ConsumerMetadata.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.ConsumerMetadata.15MinuteRate
+kafka.network.RequestMetrics.RemoteTimeMs.request.UpdateMetadata.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.UpdateMetadata.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.UpdateMetadata.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.UpdateMetadata.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.UpdateMetadata.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.UpdateMetadata.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.UpdateMetadata.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.UpdateMetadata.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.UpdateMetadata.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.UpdateMetadata.75percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ConsumerMetadata.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ConsumerMetadata.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ConsumerMetadata.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ConsumerMetadata.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ConsumerMetadata.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ConsumerMetadata.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ConsumerMetadata.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ConsumerMetadata.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ConsumerMetadata.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.ConsumerMetadata.75percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchConsumer.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchConsumer.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchConsumer.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchConsumer.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchConsumer.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchConsumer.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchConsumer.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchConsumer.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchConsumer.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.FetchConsumer.75percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.UpdateMetadata.max
+kafka.network.RequestMetrics.LocalTimeMs.request.UpdateMetadata.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.UpdateMetadata.min
+kafka.network.RequestMetrics.LocalTimeMs.request.UpdateMetadata.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.UpdateMetadata.median
+kafka.network.RequestMetrics.LocalTimeMs.request.UpdateMetadata.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.UpdateMetadata.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.UpdateMetadata.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.UpdateMetadata.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.UpdateMetadata.75percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Heartbeat.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Heartbeat.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Heartbeat.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Heartbeat.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Heartbeat.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Heartbeat.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Heartbeat.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Heartbeat.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Heartbeat.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.Heartbeat.75percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetCommit.max
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetCommit.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetCommit.min
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetCommit.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetCommit.median
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetCommit.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetCommit.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetCommit.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetCommit.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.OffsetCommit.75percentile
+kafka.controller.KafkaController.OfflinePartitionsCount
+kafka.network.RequestMetrics.TotalTimeMs.request.LeaderAndIsr.max
+kafka.network.RequestMetrics.TotalTimeMs.request.LeaderAndIsr.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.LeaderAndIsr.min
+kafka.network.RequestMetrics.TotalTimeMs.request.LeaderAndIsr.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.LeaderAndIsr.median
+kafka.network.RequestMetrics.TotalTimeMs.request.LeaderAndIsr.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.LeaderAndIsr.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.LeaderAndIsr.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.LeaderAndIsr.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.LeaderAndIsr.75percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetFetch.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetFetch.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetFetch.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetFetch.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetFetch.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetFetch.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetFetch.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetFetch.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetFetch.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetFetch.75percentile
+kafka.server.DelayedOperationPurgatory.NumDelayedOperations.delayedOperation.Heartbeat
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetCommit.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetCommit.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetCommit.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetCommit.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetCommit.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetCommit.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetCommit.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetCommit.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetCommit.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.OffsetCommit.75percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Offsets.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Offsets.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Offsets.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Offsets.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Offsets.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Offsets.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Offsets.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Offsets.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Offsets.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Offsets.75percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.JoinGroup.max
+kafka.network.RequestMetrics.TotalTimeMs.request.JoinGroup.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.JoinGroup.min
+kafka.network.RequestMetrics.TotalTimeMs.request.JoinGroup.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.JoinGroup.median
+kafka.network.RequestMetrics.TotalTimeMs.request.JoinGroup.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.JoinGroup.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.JoinGroup.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.JoinGroup.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.JoinGroup.75percentile
+kafka.server.BrokerTopicMetrics.TotalProduceRequestsPerSec.count
+kafka.server.BrokerTopicMetrics.TotalProduceRequestsPerSec.1MinuteRate
+kafka.server.BrokerTopicMetrics.TotalProduceRequestsPerSec.meanRate
+kafka.server.BrokerTopicMetrics.TotalProduceRequestsPerSec.5MinuteRate
+kafka.server.BrokerTopicMetrics.TotalProduceRequestsPerSec.15MinuteRate
+kafka.network.SocketServer.IdlePercent.networkProcessor.0.count
+kafka.network.SocketServer.IdlePercent.networkProcessor.0.1MinuteRate
+kafka.network.SocketServer.IdlePercent.networkProcessor.0.meanRate
+kafka.network.SocketServer.IdlePercent.networkProcessor.0.5MinuteRate
+kafka.network.SocketServer.IdlePercent.networkProcessor.0.15MinuteRate
+kafka.network.SocketServer.IdlePercent.networkProcessor.1.count
+kafka.network.SocketServer.IdlePercent.networkProcessor.1.1MinuteRate
+kafka.network.SocketServer.IdlePercent.networkProcessor.1.meanRate
+kafka.network.SocketServer.IdlePercent.networkProcessor.1.5MinuteRate
+kafka.network.SocketServer.IdlePercent.networkProcessor.1.15MinuteRate
+kafka.network.SocketServer.IdlePercent.networkProcessor.2.count
+kafka.network.SocketServer.IdlePercent.networkProcessor.2.1MinuteRate
+kafka.network.SocketServer.IdlePercent.networkProcessor.2.meanRate
+kafka.network.SocketServer.IdlePercent.networkProcessor.2.5MinuteRate
+kafka.network.SocketServer.IdlePercent.networkProcessor.2.15MinuteRate
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchFollower.max
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchFollower.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchFollower.min
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchFollower.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchFollower.median
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchFollower.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchFollower.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchFollower.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchFollower.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchFollower.75percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Fetch.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Fetch.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Fetch.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Fetch.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Fetch.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Fetch.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Fetch.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Fetch.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Fetch.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.Fetch.75percentile
+kafka.server.KafkaServer.BrokerState
+kafka.server.ReplicaManager.IsrShrinksPerSec.count
+kafka.server.ReplicaManager.IsrShrinksPerSec.1MinuteRate
+kafka.server.ReplicaManager.IsrShrinksPerSec.meanRate
+kafka.server.ReplicaManager.IsrShrinksPerSec.5MinuteRate
+kafka.server.ReplicaManager.IsrShrinksPerSec.15MinuteRate
+kafka.server.ReplicaFetcherManager.MinFetchRate.clientId.Replica
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.count
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.1MinuteRate
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.meanRate
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.5MinuteRate
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.15MinuteRate
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.max
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.mean
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.min
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.stddev
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.median
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.98percentile
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.95percentile
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.999percentile
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.99percentile
+kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.75percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchConsumer.max
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchConsumer.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchConsumer.min
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchConsumer.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchConsumer.median
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchConsumer.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchConsumer.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchConsumer.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchConsumer.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.FetchConsumer.75percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetFetch.max
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetFetch.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetFetch.min
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetFetch.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetFetch.median
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetFetch.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetFetch.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetFetch.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetFetch.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.OffsetFetch.75percentile
+kafka.log.Log.LogEndOffset.partition.0.topic.ambari_kafka_service_check
+kafka.server.DelayedOperationPurgatory.PurgatorySize.delayedOperation.Rebalance
+kafka.network.RequestMetrics.RequestsPerSec.request.Offsets.count
+kafka.network.RequestMetrics.RequestsPerSec.request.Offsets.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Offsets.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Offsets.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Offsets.15MinuteRate
+kafka.network.RequestMetrics.TotalTimeMs.request.Offsets.max
+kafka.network.RequestMetrics.TotalTimeMs.request.Offsets.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.Offsets.min
+kafka.network.RequestMetrics.TotalTimeMs.request.Offsets.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.Offsets.median
+kafka.network.RequestMetrics.TotalTimeMs.request.Offsets.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Offsets.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Offsets.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Offsets.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Offsets.75percentile
+kafka.server.BrokerTopicMetrics.MessagesInPerSec.count
+kafka.server.BrokerTopicMetrics.MessagesInPerSec.1MinuteRate
+kafka.server.BrokerTopicMetrics.MessagesInPerSec.meanRate
+kafka.server.BrokerTopicMetrics.MessagesInPerSec.5MinuteRate
+kafka.server.BrokerTopicMetrics.MessagesInPerSec.15MinuteRate
+kafka.server.BrokerTopicMetrics.TotalFetchRequestsPerSec.count
+kafka.server.BrokerTopicMetrics.TotalFetchRequestsPerSec.1MinuteRate
+kafka.server.BrokerTopicMetrics.TotalFetchRequestsPerSec.meanRate
+kafka.server.BrokerTopicMetrics.TotalFetchRequestsPerSec.5MinuteRate
+kafka.server.BrokerTopicMetrics.TotalFetchRequestsPerSec.15MinuteRate
+kafka.network.RequestMetrics.LocalTimeMs.request.Heartbeat.max
+kafka.network.RequestMetrics.LocalTimeMs.request.Heartbeat.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.Heartbeat.min
+kafka.network.RequestMetrics.LocalTimeMs.request.Heartbeat.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.Heartbeat.median
+kafka.network.RequestMetrics.LocalTimeMs.request.Heartbeat.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Heartbeat.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Heartbeat.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Heartbeat.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.Heartbeat.75percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.LeaderAndIsr.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.LeaderAndIsr.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.LeaderAndIsr.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.LeaderAndIsr.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.LeaderAndIsr.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.LeaderAndIsr.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.LeaderAndIsr.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.LeaderAndIsr.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.LeaderAndIsr.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.LeaderAndIsr.75percentile
+kafka.network.RequestMetrics.RequestsPerSec.request.ControlledShutdown.count
+kafka.network.RequestMetrics.RequestsPerSec.request.ControlledShutdown.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.ControlledShutdown.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.ControlledShutdown.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.ControlledShutdown.15MinuteRate
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.JoinGroup.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.JoinGroup.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.JoinGroup.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.JoinGroup.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.JoinGroup.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.JoinGroup.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.JoinGroup.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.JoinGroup.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.JoinGroup.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.JoinGroup.75percentile
+kafka.server.DelayedOperationPurgatory.PurgatorySize.delayedOperation.JoinGroup
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchFollower.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchFollower.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchFollower.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchFollower.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchFollower.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchFollower.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchFollower.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchFollower.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchFollower.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.FetchFollower.75percentile
+kafka.server.OffsetManager.NumGroups
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetFetch.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetFetch.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetFetch.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetFetch.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetFetch.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetFetch.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetFetch.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetFetch.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetFetch.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.OffsetFetch.75percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Offsets.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.Offsets.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.Offsets.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.Offsets.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.Offsets.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.Offsets.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Offsets.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Offsets.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Offsets.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Offsets.75percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ConsumerMetadata.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ConsumerMetadata.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ConsumerMetadata.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ConsumerMetadata.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ConsumerMetadata.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ConsumerMetadata.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ConsumerMetadata.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ConsumerMetadata.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ConsumerMetadata.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ConsumerMetadata.75percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.JoinGroup.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.JoinGroup.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.JoinGroup.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.JoinGroup.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.JoinGroup.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.JoinGroup.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.JoinGroup.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.JoinGroup.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.JoinGroup.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.JoinGroup.75percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ControlledShutdown.max
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ControlledShutdown.mean
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ControlledShutdown.min
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ControlledShutdown.stddev
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ControlledShutdown.median
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ControlledShutdown.98percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ControlledShutdown.95percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ControlledShutdown.999percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ControlledShutdown.99percentile
+kafka.network.RequestMetrics.ResponseQueueTimeMs.request.ControlledShutdown.75percentile
+kafka.server.ReplicaManager.UnderReplicatedPartitions
+kafka.network.RequestMetrics.RequestsPerSec.request.Produce.count
+kafka.network.RequestMetrics.RequestsPerSec.request.Produce.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Produce.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Produce.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Produce.15MinuteRate
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchFollower.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchFollower.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchFollower.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchFollower.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchFollower.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchFollower.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchFollower.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchFollower.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchFollower.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.FetchFollower.75percentile
+kafka.controller.KafkaController.ActiveControllerCount
+kafka.log.Log.NumLogSegments.partition.0.topic.ambari_kafka_service_check
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.StopReplica.max
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.StopReplica.mean
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.StopReplica.min
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.StopReplica.stddev
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.StopReplica.median
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.StopReplica.98percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.StopReplica.95percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.StopReplica.999percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.StopReplica.99percentile
+kafka.network.RequestMetrics.ResponseSendTimeMs.request.StopReplica.75percentile
+kafka.network.RequestMetrics.RequestsPerSec.request.JoinGroup.count
+kafka.network.RequestMetrics.RequestsPerSec.request.JoinGroup.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.JoinGroup.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.JoinGroup.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.JoinGroup.15MinuteRate
+kafka.controller.KafkaController.PreferredReplicaImbalanceCount
+kafka.server.BrokerTopicMetrics.BytesInPerSec.count
+kafka.server.BrokerTopicMetrics.BytesInPerSec.1MinuteRate
+kafka.server.BrokerTopicMetrics.BytesInPerSec.meanRate
+kafka.server.BrokerTopicMetrics.BytesInPerSec.5MinuteRate
+kafka.server.BrokerTopicMetrics.BytesInPerSec.15MinuteRate
+kafka.server.DelayedOperationPurgatory.PurgatorySize.delayedOperation.Produce
+kafka.network.RequestMetrics.RemoteTimeMs.request.StopReplica.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.StopReplica.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.StopReplica.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.StopReplica.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.StopReplica.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.StopReplica.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.StopReplica.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.StopReplica.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.StopReplica.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.StopReplica.75percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Produce.max
+kafka.network.RequestMetrics.TotalTimeMs.request.Produce.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.Produce.min
+kafka.network.RequestMetrics.TotalTimeMs.request.Produce.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.Produce.median
+kafka.network.RequestMetrics.TotalTimeMs.request.Produce.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Produce.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Produce.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Produce.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Produce.75percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchFollower.max
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchFollower.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchFollower.min
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchFollower.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchFollower.median
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchFollower.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchFollower.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchFollower.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchFollower.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.FetchFollower.75percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.LeaderAndIsr.max
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.LeaderAndIsr.mean
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.LeaderAndIsr.min
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.LeaderAndIsr.stddev
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.LeaderAndIsr.median
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.LeaderAndIsr.98percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.LeaderAndIsr.95percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.LeaderAndIsr.999percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.LeaderAndIsr.99percentile
+kafka.network.RequestMetrics.RequestQueueTimeMs.request.LeaderAndIsr.75percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Fetch.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.Fetch.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.Fetch.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.Fetch.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.Fetch.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.Fetch.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Fetch.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Fetch.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Fetch.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.Fetch.75percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.ConsumerMetadata.max
+kafka.network.RequestMetrics.LocalTimeMs.request.ConsumerMetadata.mean
+kafka.network.RequestMetrics.LocalTimeMs.request.ConsumerMetadata.min
+kafka.network.RequestMetrics.LocalTimeMs.request.ConsumerMetadata.stddev
+kafka.network.RequestMetrics.LocalTimeMs.request.ConsumerMetadata.median
+kafka.network.RequestMetrics.LocalTimeMs.request.ConsumerMetadata.98percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.ConsumerMetadata.95percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.ConsumerMetadata.999percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.ConsumerMetadata.99percentile
+kafka.network.RequestMetrics.LocalTimeMs.request.ConsumerMetadata.75percentile
+kafka.log.Log.Size.partition.0.topic.ambari_kafka_service_check
+kafka.network.RequestMetrics.RequestsPerSec.request.Metadata.count
+kafka.network.RequestMetrics.RequestsPerSec.request.Metadata.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Metadata.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Metadata.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Metadata.15MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.OffsetCommit.count
+kafka.network.RequestMetrics.RequestsPerSec.request.OffsetCommit.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.OffsetCommit.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.OffsetCommit.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.OffsetCommit.15MinuteRate
+kafka.network.RequestMetrics.RemoteTimeMs.request.ControlledShutdown.max
+kafka.network.RequestMetrics.RemoteTimeMs.request.ControlledShutdown.mean
+kafka.network.RequestMetrics.RemoteTimeMs.request.ControlledShutdown.min
+kafka.network.RequestMetrics.RemoteTimeMs.request.ControlledShutdown.stddev
+kafka.network.RequestMetrics.RemoteTimeMs.request.ControlledShutdown.median
+kafka.network.RequestMetrics.RemoteTimeMs.request.ControlledShutdown.98percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.ControlledShutdown.95percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.ControlledShutdown.999percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.ControlledShutdown.99percentile
+kafka.network.RequestMetrics.RemoteTimeMs.request.ControlledShutdown.75percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Metadata.max
+kafka.network.RequestMetrics.TotalTimeMs.request.Metadata.mean
+kafka.network.RequestMetrics.TotalTimeMs.request.Metadata.min
+kafka.network.RequestMetrics.TotalTimeMs.request.Metadata.stddev
+kafka.network.RequestMetrics.TotalTimeMs.request.Metadata.median
+kafka.network.RequestMetrics.TotalTimeMs.request.Metadata.98percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Metadata.95percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Metadata.999percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Metadata.99percentile
+kafka.network.RequestMetrics.TotalTimeMs.request.Metadata.75percentile
+kafka.network.RequestMetrics.RequestsPerSec.request.Heartbeat.count
+kafka.network.RequestMetrics.RequestsPerSec.request.Heartbeat.1MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Heartbeat.meanRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Heartbeat.5MinuteRate
+kafka.network.RequestMetrics.RequestsPerSec.request.Heartbeat.5MinuteRate
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/NIMBUS.dat
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/NIMBUS.dat b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/NIMBUS.dat
new file mode 100644
index 0000000..47a76f7
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/metrics_def/NIMBUS.dat
@@ -0,0 +1,7 @@
+Supervisors
+Topologies
+Total Slots
+Used Slots
+Free Slots
+Total Executors
+Total Tasks
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/AMS-HBASE.dat
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/AMS-HBASE.dat b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/AMS-HBASE.dat
new file mode 100644
index 0000000..91b524b
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/AMS-HBASE.dat
@@ -0,0 +1,26 @@
+dfs.FSNamesystem.MissingReplOneBlocks
+dfs.FSNamesystem.TransactionsSinceLastCheckpoint
+dfs.FSNamesystem.MillisSinceLastLoadedEdits
+dfs.FSNamesystem.SnapshottableDirectories
+master.Master.QueueCallTime_median
+dfs.FSNamesystem.LastCheckpointTime
+dfs.FSNamesystem.TotalFiles
+dfs.FSNamesystem.ExpiredHeartbeats
+dfs.FSNamesystem.PostponedMisreplicatedBlocks
+dfs.FSNamesystem.LastWrittenTransactionId
+jvm.JvmMetrics.MemHeapCommittedM
+dfs.FSNamesystem.Snapshots
+dfs.FSNamesystem.TransactionsSinceLastLogRoll
+master.Server.averageLoad
+jvm.JvmMetrics.MemHeapUsedM
+master.AssignmentManger.ritCount
+dfs.FSNamesystem.PendingDataNodeMessageCount
+dfs.FSNamesystem.StaleDataNodes
+|hostname|
+regionserver.Server.totalRequestCount
+regionserver.Server.regionCount
+regionserver.Server.blockCountHitPercen
+regionserver.Server.compactionQueueLength
+regionserver.Server.storeFileCount
+master.Server.averageLoad
+|startTime|endTime|

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/DATANODE.dat
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/DATANODE.dat b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/DATANODE.dat
new file mode 100644
index 0000000..74c121d
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/DATANODE.dat
@@ -0,0 +1,4 @@
+FSDatasetState.org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl.NumFailedVolumes
+FSDatasetState.org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl.DfsUsed
+FSDatasetState.org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl.Capacity
+||
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/188eca06/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/FLUME_HANDLER.dat
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/FLUME_HANDLER.dat b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/FLUME_HANDLER.dat
new file mode 100644
index 0000000..b8e5e92
--- /dev/null
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/resources/ui_metrics_def/FLUME_HANDLER.dat
@@ -0,0 +1,63 @@
+ChannelSize._rate._min._sum
+ChannelSize._rate._sum._max
+ChannelSize._rate._min._max
+ChannelSize._rate._avg._min
+ChannelSize._rate._avg._avg
+ChannelSize._rate._max
+ChannelSize._rate._max._min
+ChannelSize._rate._max._avg
+ChannelSize._rate._avg._sum
+ChannelSize._rate._max._sum
+ChannelSize._rate._sum
+ChannelSize._rate._sum._min
+ChannelSize._rate._sum._avg
+ChannelSize._rate._min._avg
+ChannelSize._rate._min._min
+ChannelSize._rate._avg._max
+ChannelSize._rate._max._max
+ChannelSize._rate._avg
+ChannelSize._rate._min
+ChannelSize._rate._sum._sum
+|startTime|endTime|
+EventPutSuccessCount._rate._avg._sum
+EventPutSuccessCount._rate._max._sum
+EventPutSuccessCount._rate._sum._sum
+EventPutSuccessCount._rate._max._max
+EventPutSuccessCount._rate._min._avg
+EventPutSuccessCount._rate._min._min
+EventPutSuccessCount._rate._avg._max
+EventPutSuccessCount._rate._sum._min
+EventPutSuccessCount._rate._sum._avg
+EventPutSuccessCount._rate._min._sum
+EventPutSuccessCount._rate._max
+EventPutSuccessCount._rate._max._avg
+EventPutSuccessCount._rate._avg._avg
+EventPutSuccessCount._rate._max._min
+EventPutSuccessCount._rate._avg._min
+EventPutSuccessCount._rate._avg
+EventPutSuccessCount._rate._min
+EventPutSuccessCount._rate._sum._max
+EventPutSuccessCount._rate._min._max
+EventPutSuccessCount._rate._sum
+|startTime|endTime|
+EventTakeSuccessCount._rate._min._sum
+EventTakeSuccessCount._rate._sum._max
+EventTakeSuccessCount._rate._max
+EventTakeSuccessCount._rate._min._max
+EventTakeSuccessCount._rate._max._max
+EventTakeSuccessCount._rate._min._avg
+EventTakeSuccessCount._rate._min._min
+EventTakeSuccessCount._rate._sum._sum
+EventTakeSuccessCount._rate._sum
+EventTakeSuccessCount._rate._sum._min
+EventTakeSuccessCount._rate._sum._avg
+EventTakeSuccessCount._rate._max._sum
+EventTakeSuccessCount._rate._min
+EventTakeSuccessCount._rate._avg
+EventTakeSuccessCount._rate._avg._min
+EventTakeSuccessCount._rate._avg._avg
+EventTakeSuccessCount._rate._avg._max
+EventTakeSuccessCount._rate._max._avg
+EventTakeSuccessCount._rate._max._min
+EventTakeSuccessCount._rate._avg._sum
+|startTime|endTime|