YARN-8905. [Router] Add JvmMetricsInfo and pause monitor. Contributed by Bilwa S T.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/f84a278b Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/f84a278b Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/f84a278b Branch: refs/heads/HDFS-13891 Commit: f84a278baad6cb871ea4196257f23a938826ca23 Parents: 989715e Author: bibinchundatt <[email protected]> Authored: Sat Nov 3 20:35:31 2018 +0530 Committer: bibinchundatt <[email protected]> Committed: Sat Nov 3 20:35:31 2018 +0530 ---------------------------------------------------------------------- .../hadoop/yarn/server/router/Router.java | 8 +++++ .../hadoop/yarn/server/router/TestRouter.java | 38 ++++++++++++++++++++ 2 files changed, 46 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/f84a278b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/Router.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/Router.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/Router.java index 76050d0..b55c5d5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/Router.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/Router.java @@ -24,7 +24,9 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.apache.hadoop.classification.InterfaceAudience.Private; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.metrics2.lib.DefaultMetricsSystem; +import org.apache.hadoop.metrics2.source.JvmMetrics; import org.apache.hadoop.service.CompositeService; +import org.apache.hadoop.util.JvmPauseMonitor; import org.apache.hadoop.util.ShutdownHookManager; import org.apache.hadoop.util.StringUtils; import org.apache.hadoop.yarn.YarnUncaughtExceptionHandler; @@ -64,6 +66,7 @@ public class Router extends CompositeService { private static CompositeServiceShutdownHook routerShutdownHook; private Configuration conf; private AtomicBoolean isStopping = new AtomicBoolean(false); + private JvmPauseMonitor pauseMonitor; private RouterClientRMService clientRMProxyService; private RouterRMAdminService rmAdminProxyService; private WebApp webApp; @@ -100,6 +103,11 @@ public class Router extends CompositeService { WebAppUtils.getRouterWebAppURLWithoutScheme(this.conf)); // Metrics DefaultMetricsSystem.initialize(METRICS_NAME); + JvmMetrics jm = JvmMetrics.initSingleton("Router", null); + pauseMonitor = new JvmPauseMonitor(); + addService(pauseMonitor); + jm.setPauseMonitor(pauseMonitor); + super.serviceInit(conf); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/f84a278b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/TestRouter.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/TestRouter.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/TestRouter.java new file mode 100644 index 0000000..bf0c688 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/TestRouter.java @@ -0,0 +1,38 @@ +/** + * 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.router; + +import static org.junit.Assert.assertEquals; + +import org.apache.hadoop.yarn.conf.YarnConfiguration; +import org.junit.Test; + +/** + * Tests {@link Router}. + */ +public class TestRouter { + + @Test + public void testJVMMetricsService() { + YarnConfiguration conf = new YarnConfiguration(); + Router router = new Router(); + router.init(conf); + assertEquals(3, router.getServices().size()); + } + +} --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
