You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by as...@apache.org on 2018/01/09 19:55:26 UTC
[08/50] [abbrv] hadoop git commit: YARN-7602. NM should reference the
singleton JvmMetrics instance.
YARN-7602. NM should reference the singleton JvmMetrics instance.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/2f6c038b
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/2f6c038b
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/2f6c038b
Branch: refs/heads/YARN-6592
Commit: 2f6c038be6c23522ea64fc4e415910fb72493eb2
Parents: fe35103
Author: Haibo Chen <ha...@apache.org>
Authored: Tue Jan 2 10:04:56 2018 -0800
Committer: Haibo Chen <ha...@apache.org>
Committed: Wed Jan 3 09:41:26 2018 -0800
----------------------------------------------------------------------
.../hadoop/metrics2/source/TestJvmMetrics.java | 26 ++++++++++++++++++++
.../nodemanager/metrics/NodeManagerMetrics.java | 6 ++---
.../metrics/TestNodeManagerMetrics.java | 25 +++++++++++++++++--
3 files changed, 52 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/2f6c038b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/source/TestJvmMetrics.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/source/TestJvmMetrics.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/source/TestJvmMetrics.java
index aa1b009..37a3a2a 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/source/TestJvmMetrics.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/source/TestJvmMetrics.java
@@ -200,4 +200,30 @@ public class TestJvmMetrics {
Assert.assertTrue(alerter.numAlerts > 0);
Assert.assertTrue(alerter.maxGcTimePercentage >= alertGcPerc);
}
+
+ @Test
+ public void testJvmMetricsSingletonWithSameProcessName() {
+ JvmMetrics jvmMetrics1 = org.apache.hadoop.metrics2.source.JvmMetrics
+ .initSingleton("test", null);
+ JvmMetrics jvmMetrics2 = org.apache.hadoop.metrics2.source.JvmMetrics
+ .initSingleton("test", null);
+ Assert.assertEquals("initSingleton should return the singleton instance",
+ jvmMetrics1, jvmMetrics2);
+ }
+
+ @Test
+ public void testJvmMetricsSingletonWithDifferentProcessNames() {
+ final String process1Name = "process1";
+ JvmMetrics jvmMetrics1 = org.apache.hadoop.metrics2.source.JvmMetrics
+ .initSingleton(process1Name, null);
+ final String process2Name = "process2";
+ JvmMetrics jvmMetrics2 = org.apache.hadoop.metrics2.source.JvmMetrics
+ .initSingleton(process2Name, null);
+ Assert.assertEquals("initSingleton should return the singleton instance",
+ jvmMetrics1, jvmMetrics2);
+ Assert.assertEquals("unexpected process name of the singleton instance",
+ process1Name, jvmMetrics1.processName);
+ Assert.assertEquals("unexpected process name of the singleton instance",
+ process1Name, jvmMetrics2.processName);
+ }
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/2f6c038b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/metrics/NodeManagerMetrics.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/metrics/NodeManagerMetrics.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/metrics/NodeManagerMetrics.java
index 1e7149b..f98b3f1 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/metrics/NodeManagerMetrics.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/metrics/NodeManagerMetrics.java
@@ -99,7 +99,7 @@ public class NodeManagerMetrics {
private long availableMB;
private long allocatedOpportunisticMB;
- public NodeManagerMetrics(JvmMetrics jvmMetrics) {
+ private NodeManagerMetrics(JvmMetrics jvmMetrics) {
this.jvmMetrics = jvmMetrics;
}
@@ -107,8 +107,8 @@ public class NodeManagerMetrics {
return create(DefaultMetricsSystem.instance());
}
- static NodeManagerMetrics create(MetricsSystem ms) {
- JvmMetrics jm = JvmMetrics.create("NodeManager", null, ms);
+ private static NodeManagerMetrics create(MetricsSystem ms) {
+ JvmMetrics jm = JvmMetrics.initSingleton("NodeManager", null);
return ms.register(new NodeManagerMetrics(jm));
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/2f6c038b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/metrics/TestNodeManagerMetrics.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/metrics/TestNodeManagerMetrics.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/metrics/TestNodeManagerMetrics.java
index 5dead91..d21e7ad 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/metrics/TestNodeManagerMetrics.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/metrics/TestNodeManagerMetrics.java
@@ -19,19 +19,40 @@ package org.apache.hadoop.yarn.server.nodemanager.metrics;
import org.apache.hadoop.metrics2.lib.DefaultMetricsSystem;
import org.apache.hadoop.metrics2.MetricsRecordBuilder;
+import org.apache.hadoop.metrics2.source.JvmMetrics;
import static org.apache.hadoop.test.MetricsAsserts.*;
import org.apache.hadoop.yarn.api.records.Resource;
import org.apache.hadoop.yarn.util.Records;
+import org.junit.After;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
public class TestNodeManagerMetrics {
static final int GiB = 1024; // MiB
- @Test public void testNames() {
+ private NodeManagerMetrics metrics;
+
+ @Before
+ public void setup() {
DefaultMetricsSystem.initialize("NodeManager");
- NodeManagerMetrics metrics = NodeManagerMetrics.create();
+ metrics = NodeManagerMetrics.create();
+ }
+
+ @After
+ public void tearDown() {
+ DefaultMetricsSystem.shutdown();
+ }
+
+ @Test
+ public void testReferenceOfSingletonJvmMetrics() {
+ JvmMetrics jvmMetrics = JvmMetrics.initSingleton("NodeManagerModule", null);
+ Assert.assertEquals("NodeManagerMetrics should reference the singleton" +
+ " JvmMetrics instance", jvmMetrics, metrics.getJvmMetrics());
+ }
+
+ @Test public void testNames() {
Resource total = Records.newRecord(Resource.class);
total.setMemorySize(8*GiB);
total.setVirtualCores(16);
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org