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 2020/08/12 18:01:45 UTC
[helix] branch master updated: Add totalMessageReceivedCounter and
decrepcate old totalMessageReceived (#1251)
This is an automated email from the ASF dual-hosted git repository.
jxue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/helix.git
The following commit(s) were added to refs/heads/master by this push:
new f737b83 Add totalMessageReceivedCounter and decrepcate old totalMessageReceived (#1251)
f737b83 is described below
commit f737b83245594e80c2d28b0c3da3b00bec50fd99
Author: Junkai Xue <jx...@linkedin.com>
AuthorDate: Wed Aug 12 11:01:39 2020 -0700
Add totalMessageReceivedCounter and decrepcate old totalMessageReceived (#1251)
Currently we should have counter type for totalMessageReceived but did not make it correct.
To fix this, we should have the a new counter metrics instead of directly changing the metrics for smooth migration.
---
.../apache/helix/monitoring/mbeans/ClusterStatusMonitor.java | 1 +
.../org/apache/helix/monitoring/mbeans/ResourceMonitor.java | 12 ++++++++++--
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterStatusMonitor.java b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterStatusMonitor.java
index 1911385..da49041 100644
--- a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterStatusMonitor.java
+++ b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterStatusMonitor.java
@@ -390,6 +390,7 @@ public class ClusterStatusMonitor implements ClusterStatusMonitorMBean {
ResourceMonitor resourceMonitor = _resourceMonitorMap.get(resource);
if (resourceMonitor != null) {
resourceMonitor.increaseMessageCount(messageCountPerResource.get(resource));
+ resourceMonitor.increaseMessageCountWithCounter(messageCountPerResource.get(resource));
}
}
}
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 111a652..b659f9c 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
@@ -71,8 +71,9 @@ public class ResourceMonitor extends DynamicMBeanProvider {
private SimpleDynamicMetric<Long> _successTopStateHandoffCounter;
private SimpleDynamicMetric<Long> _failedTopStateHandoffCounter;
private SimpleDynamicMetric<Long> _maxSinglePartitionTopStateHandoffDuration;
- private SimpleDynamicMetric<Long> _totalMessageReceived;
-
+ @Deprecated
+ private SimpleDynamicMetric<Long> _totalMessageReceived; // This should be counter since the value behavior is ever-increasing
+ private SimpleDynamicMetric<Long> _totalMessageReceivedCounter;
// Histograms
private HistogramDynamicMetric _partitionTopStateHandoffDurationGauge;
private HistogramDynamicMetric _partitionTopStateHandoffHelixLatencyGauge;
@@ -138,6 +139,7 @@ public class ResourceMonitor extends DynamicMBeanProvider {
new SlidingTimeWindowArrayReservoir(getResetIntervalInMs(), TimeUnit.MILLISECONDS)));
_totalMessageReceived = new SimpleDynamicMetric("TotalMessageReceived", 0L);
+ _totalMessageReceivedCounter = new SimpleDynamicMetric("TotalMessageReceivedCounter", 0L);
_maxSinglePartitionTopStateHandoffDuration =
new SimpleDynamicMetric("MaxSinglePartitionTopStateHandoffDurationGauge", 0L);
_failedTopStateHandoffCounter = new SimpleDynamicMetric("FailedTopStateHandoffCounter", 0L);
@@ -202,10 +204,15 @@ public class ResourceMonitor extends DynamicMBeanProvider {
return _totalMessageReceived.getValue();
}
+ @Deprecated
public synchronized void increaseMessageCount(long messageReceived) {
_totalMessageReceived.updateValue(_totalMessageReceived.getValue() + messageReceived);
}
+ public synchronized void increaseMessageCountWithCounter(long messageReceived) {
+ _totalMessageReceivedCounter.updateValue(_totalMessageReceivedCounter.getValue() + messageReceived);
+ }
+
public String getResourceName() {
return _resourceName;
}
@@ -467,6 +474,7 @@ public class ResourceMonitor extends DynamicMBeanProvider {
_partitionTopStateHandoffHelixLatencyGauge,
_partitionTopStateNonGracefulHandoffDurationGauge,
_totalMessageReceived,
+ _totalMessageReceivedCounter,
_numPendingStateTransitions,
_rebalanceState
);