You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2020/05/01 18:50:53 UTC
[hbase] branch branch-2.3 updated: HBASE-24199 Procedure related
metrics is not consumed in the JMX metric (#1616)
This is an automated email from the ASF dual-hosted git repository.
stack pushed a commit to branch branch-2.3
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.3 by this push:
new 6147aeb HBASE-24199 Procedure related metrics is not consumed in the JMX metric (#1616)
6147aeb is described below
commit 6147aebd00faa3cc9c44489367e2221693ca472f
Author: gkanade <ga...@gmail.com>
AuthorDate: Sat May 2 00:15:16 2020 +0530
HBASE-24199 Procedure related metrics is not consumed in the JMX metric (#1616)
Signed-off-by: stack <st...@apache.org>
---
.../hbase/master/MetricsAssignmentManagerSourceImpl.java | 11 +++++++++++
.../hadoop/hbase/master/MetricsMasterProcSourceImpl.java | 3 +++
.../apache/hadoop/hbase/master/MetricsMasterSourceImpl.java | 3 +++
.../hadoop/hbase/master/TestAssignmentManagerMetrics.java | 2 ++
.../hadoop/hbase/master/TestClusterRestartFailover.java | 9 +++++++++
.../org/apache/hadoop/hbase/master/TestMasterMetrics.java | 3 +++
6 files changed, 31 insertions(+)
diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.java
index d623de9..59b3647 100644
--- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.java
+++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.java
@@ -21,6 +21,8 @@ package org.apache.hadoop.hbase.master;
import org.apache.hadoop.hbase.metrics.BaseSourceImpl;
import org.apache.hadoop.hbase.metrics.OperationMetrics;
import org.apache.hadoop.metrics2.MetricHistogram;
+import org.apache.hadoop.metrics2.MetricsCollector;
+import org.apache.hadoop.metrics2.MetricsRecordBuilder;
import org.apache.hadoop.metrics2.lib.MutableFastCounter;
import org.apache.hadoop.metrics2.lib.MutableGaugeLong;
import org.apache.yetus.audience.InterfaceAudience;
@@ -157,4 +159,13 @@ public class MetricsAssignmentManagerSourceImpl
public OperationMetrics getCloseMetrics() {
return closeMetrics;
}
+
+ @Override
+ public void getMetrics(MetricsCollector metricsCollector, boolean all) {
+ MetricsRecordBuilder metricsRecordBuilder = metricsCollector.addRecord(metricsName);
+ metricsRegistry.snapshot(metricsRecordBuilder, all);
+ if(metricsAdapter != null) {
+ metricsAdapter.snapshotAllMetrics(registry, metricsRecordBuilder);
+ }
+ }
}
diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSourceImpl.java
index c51cd10..69e7d79 100644
--- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSourceImpl.java
+++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSourceImpl.java
@@ -70,6 +70,9 @@ public class MetricsMasterProcSourceImpl
}
metricsRegistry.snapshot(metricsRecordBuilder, all);
+ if(metricsAdapter != null) {
+ metricsAdapter.snapshotAllMetrics(registry, metricsRecordBuilder);
+ }
}
}
diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSourceImpl.java
index c340f8e..b62ca2a 100644
--- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSourceImpl.java
+++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSourceImpl.java
@@ -118,6 +118,9 @@ public class MetricsMasterSourceImpl
}
metricsRegistry.snapshot(metricsRecordBuilder, all);
+ if(metricsAdapter != null) {
+ metricsAdapter.snapshotAllMetrics(registry, metricsRecordBuilder);
+ }
}
@Override
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java
index 6103de0..c1e16be 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java
@@ -161,6 +161,8 @@ public class TestAssignmentManagerMetrics {
METRICS_HELPER.assertGauge(MetricsAssignmentManagerSource.RIT_COUNT_NAME, 1, amSource);
METRICS_HELPER.assertGauge(MetricsAssignmentManagerSource.RIT_COUNT_OVER_THRESHOLD_NAME, 1,
amSource);
+ METRICS_HELPER.assertCounter(MetricsAssignmentManagerSource.ASSIGN_METRIC_PREFIX
+ + "SubmittedCount", 2, amSource);
}
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailover.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailover.java
index 0a83fa5..cd7ba6e 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailover.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailover.java
@@ -29,6 +29,7 @@ import java.util.concurrent.CountDownLatch;
import java.util.stream.Collectors;
import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.CompatibilityFactory;
import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.StartMiniClusterOption;
@@ -41,6 +42,7 @@ import org.apache.hadoop.hbase.master.assignment.ServerStateNode;
import org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure;
import org.apache.hadoop.hbase.procedure2.Procedure;
import org.apache.hadoop.hbase.regionserver.HRegionServer;
+import org.apache.hadoop.hbase.test.MetricsAssertHelper;
import org.apache.hadoop.hbase.testclassification.LargeTests;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.util.JVMClusterUtil;
@@ -58,6 +60,8 @@ public class TestClusterRestartFailover extends AbstractTestRestartCluster {
HBaseClassTestRule.forClass(TestClusterRestartFailover.class);
private static final Logger LOG = LoggerFactory.getLogger(TestClusterRestartFailover.class);
+ private static final MetricsAssertHelper metricsHelper =
+ CompatibilityFactory.getInstance(MetricsAssertHelper.class);
private volatile static CountDownLatch SCP_LATCH;
private static ServerName SERVER_FOR_TEST;
@@ -135,6 +139,11 @@ public class TestClusterRestartFailover extends AbstractTestRestartCluster {
serverNode = UTIL.getHBaseCluster().getMaster().getAssignmentManager().getRegionStates()
.getServerNode(SERVER_FOR_TEST);
assertNull("serverNode should be deleted after SCP finished", serverNode);
+
+ MetricsMasterSource masterSource = UTIL.getHBaseCluster().getMaster().getMasterMetrics()
+ .getMetricsSource();
+ metricsHelper.assertCounter(MetricsMasterSource.SERVER_CRASH_METRIC_PREFIX+"SubmittedCount",
+ 4, masterSource);
}
private void setupCluster() throws Exception {
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetrics.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetrics.java
index 70bf623..6dc9b42 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetrics.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetrics.java
@@ -147,6 +147,9 @@ public class TestMasterMetrics {
metricsHelper.assertTag("serverName", master.getServerName().toString(), masterSource);
metricsHelper.assertTag("clusterId", master.getClusterId(), masterSource);
metricsHelper.assertTag("zookeeperQuorum", master.getZooKeeper().getQuorum(), masterSource);
+
+ metricsHelper.assertCounter(MetricsMasterSource.SERVER_CRASH_METRIC_PREFIX+"SubmittedCount",
+ 0, masterSource);
}
@Test