You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by jx...@apache.org on 2017/12/20 17:54:28 UTC

[25/50] [abbrv] helix git commit: Adding getMetricName method to wrap dynamic metric name generating logic.

Adding getMetricName method to wrap dynamic metric name generating logic.

This is for simplify monitor implementation and reduce duplicate code.


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

Branch: refs/heads/master
Commit: 3870470761745a00e73650cf589f852be356a3a6
Parents: ead6a72
Author: Jiajun Wang <jj...@linkedin.com>
Authored: Thu Sep 21 10:49:00 2017 -0700
Committer: Junkai Xue <jx...@linkedin.com>
Committed: Mon Nov 6 17:08:28 2017 -0800

----------------------------------------------------------------------
 .../apache/helix/monitoring/mbeans/ClusterEventMonitor.java  | 2 +-
 .../apache/helix/monitoring/mbeans/HelixCallbackMonitor.java | 2 +-
 .../helix/monitoring/mbeans/MessageLatencyMonitor.java       | 2 +-
 .../org/apache/helix/monitoring/mbeans/ResourceMonitor.java  | 2 +-
 .../apache/helix/monitoring/mbeans/ZkClientPathMonitor.java  | 8 ++++----
 .../mbeans/dynamicMBeans/DynamicMBeanProvider.java           | 8 +++++---
 6 files changed, 13 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/helix/blob/38704707/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterEventMonitor.java
----------------------------------------------------------------------
diff --git a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterEventMonitor.java b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterEventMonitor.java
index a3cd1ba..e7f09ea 100644
--- a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterEventMonitor.java
+++ b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterEventMonitor.java
@@ -48,7 +48,7 @@ public class ClusterEventMonitor extends DynamicMBeanProvider {
       new SimpleDynamicMetric("MaxSingleDurationGauge", 0l);
   private SimpleDynamicMetric<Long> _count = new SimpleDynamicMetric("EventCounter", 0l);
   private HistogramDynamicMetric _duration = new HistogramDynamicMetric("DurationGauge",
-      _metricRegistry.histogram(getMetricRegistryNamePrefix() + "DurationGauge"));
+      _metricRegistry.histogram(getMetricName("DurationGauge")));
 
   private long _lastResetTime;
   private ClusterStatusMonitor _clusterStatusMonitor;

http://git-wip-us.apache.org/repos/asf/helix/blob/38704707/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/HelixCallbackMonitor.java
----------------------------------------------------------------------
diff --git a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/HelixCallbackMonitor.java b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/HelixCallbackMonitor.java
index ad9c787..0dbafb4 100644
--- a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/HelixCallbackMonitor.java
+++ b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/HelixCallbackMonitor.java
@@ -49,7 +49,7 @@ public class HelixCallbackMonitor extends DynamicMBeanProvider {
       new SimpleDynamicMetric("LatencyCounter", 0l);
 
   private HistogramDynamicMetric _latencyGauge = new HistogramDynamicMetric("LatencyGauge",
-      _metricRegistry.histogram(getMetricRegistryNamePrefix() + "LatencyGauge"));
+      _metricRegistry.histogram(getMetricName("LatencyGauge")));
 
   public HelixCallbackMonitor(InstanceType type, String clusterName, String instanceName,
       HelixConstants.ChangeType changeType) throws JMException {

http://git-wip-us.apache.org/repos/asf/helix/blob/38704707/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/MessageLatencyMonitor.java
----------------------------------------------------------------------
diff --git a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/MessageLatencyMonitor.java b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/MessageLatencyMonitor.java
index cc00496..f1c1039 100644
--- a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/MessageLatencyMonitor.java
+++ b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/MessageLatencyMonitor.java
@@ -41,7 +41,7 @@ public class MessageLatencyMonitor extends DynamicMBeanProvider {
       new SimpleDynamicMetric("TotalMessageLatency", 0l);
   private HistogramDynamicMetric _messageLatencyGauge =
       new HistogramDynamicMetric("MessageLatencyGauge",
-          _metricRegistry.histogram(getMetricRegistryNamePrefix() + "MessageLatencyGauge"));
+          _metricRegistry.histogram(getMetricName("MessageLatencyGauge")));
 
   public MessageLatencyMonitor(String domainName, String participantName) throws JMException {
     _domainName = domainName;

http://git-wip-us.apache.org/repos/asf/helix/blob/38704707/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ResourceMonitor.java
----------------------------------------------------------------------
diff --git a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ResourceMonitor.java b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ResourceMonitor.java
index 080ed62..c4b67eb 100644
--- a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ResourceMonitor.java
+++ b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ResourceMonitor.java
@@ -70,7 +70,7 @@ public class ResourceMonitor extends DynamicMBeanProvider {
       new SimpleDynamicMetric("MaxSinglePartitionTopStateHandoffDurationGauge", 0l);
   private HistogramDynamicMetric _partitionTopStateHandoffDurationGauge =
       new HistogramDynamicMetric("PartitionTopStateHandoffDurationGauge", _metricRegistry
-          .histogram(getMetricRegistryNamePrefix() + "PartitionTopStateHandoffDurationGauge"));
+          .histogram(getMetricName("PartitionTopStateHandoffDurationGauge")));
   private SimpleDynamicMetric<Long> _totalMessageReceived =
       new SimpleDynamicMetric("TotalMessageReceived", 0l);
 

http://git-wip-us.apache.org/repos/asf/helix/blob/38704707/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ZkClientPathMonitor.java
----------------------------------------------------------------------
diff --git a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ZkClientPathMonitor.java b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ZkClientPathMonitor.java
index ccbbed9..e87738b 100644
--- a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ZkClientPathMonitor.java
+++ b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ZkClientPathMonitor.java
@@ -78,14 +78,14 @@ public class ZkClientPathMonitor extends DynamicMBeanProvider {
       new SimpleDynamicMetric("WriteTotalLatencyCounter", 0l);
 
   private HistogramDynamicMetric _readLatencyGauge = new HistogramDynamicMetric("ReadLatencyGauge",
-      _metricRegistry.histogram(getMetricRegistryNamePrefix() + "ReadLatencyGauge"));
+      _metricRegistry.histogram(getMetricName("ReadLatencyGauge")));
   private HistogramDynamicMetric _writeLatencyGauge =
       new HistogramDynamicMetric("WriteLatencyGauge",
-          _metricRegistry.histogram(getMetricRegistryNamePrefix() + "WriteLatencyGauge"));
+          _metricRegistry.histogram(getMetricName("WriteLatencyGauge")));
   private HistogramDynamicMetric _readBytesGauge = new HistogramDynamicMetric("ReadBytesGauge",
-      _metricRegistry.histogram(getMetricRegistryNamePrefix() + "ReadBytesGauge"));
+      _metricRegistry.histogram(getMetricName("ReadBytesGauge")));
   private HistogramDynamicMetric _writeBytesGauge = new HistogramDynamicMetric("WriteBytesGauge",
-      _metricRegistry.histogram(getMetricRegistryNamePrefix() + "WriteBytesGauge"));
+      _metricRegistry.histogram(getMetricName("WriteBytesGauge")));
 
   @Override
   public String getSensorName() {

http://git-wip-us.apache.org/repos/asf/helix/blob/38704707/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/dynamicMBeans/DynamicMBeanProvider.java
----------------------------------------------------------------------
diff --git a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/dynamicMBeans/DynamicMBeanProvider.java b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/dynamicMBeans/DynamicMBeanProvider.java
index 346503b..19e5c64 100644
--- a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/dynamicMBeans/DynamicMBeanProvider.java
+++ b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/dynamicMBeans/DynamicMBeanProvider.java
@@ -85,8 +85,9 @@ public abstract class DynamicMBeanProvider implements DynamicMBean, SensorNamePr
     doRegister(dynamicMetrics, null, objectName);
   }
 
-  protected String getMetricRegistryNamePrefix() {
-    return String.format("%s-%s-", getClass().getSimpleName(), Integer.toHexString(hashCode()));
+  protected String getMetricName(String metricName) {
+    return MetricRegistry
+        .name(getClass().getSimpleName(), Integer.toHexString(hashCode()), metricName);
   }
 
   /**
@@ -143,10 +144,11 @@ public abstract class DynamicMBeanProvider implements DynamicMBean, SensorNamePr
    * After unregistered, the MBean can't be registered again, a new monitor has be to created.
    */
   public synchronized void unregister() {
+    final String metricNamePrefix = getMetricName(null);
     _metricRegistry.removeMatching(new MetricFilter() {
       @Override
       public boolean matches(String name, Metric metric) {
-        return name.startsWith(getMetricRegistryNamePrefix());
+        return name.startsWith(metricNamePrefix);
       }
     });
     MBeanRegistrar.unregister(_objectName);