[18/50] hadoop git commit: HADOOP-14944. Add JvmMetrics to KMS.
HADOOP-14944. Add JvmMetrics to KMS. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/86ee0c5e Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/86ee0c5e Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/86ee0c5e Branch: refs/heads/HDFS-7240 Commit: 86ee0c5e4e304d9551a24a3d8b9161ca1502b70e Parents: 46eb103 Author: Xiao ChenAuthored: Tue Oct 17 15:55:30 2017 -0700 Committer: Xiao Chen Committed: Tue Oct 17 19:06:45 2017 -0700 -- .../hadoop/metrics2/source/JvmMetrics.java | 16 + .../crypto/key/kms/server/KMSConfiguration.java | 9 + .../crypto/key/kms/server/KMSWebServer.java | 24 ++ .../hadoop/crypto/key/kms/server/TestKMS.java | 35 4 files changed, 84 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/86ee0c5e/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java -- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java index c6369cd..e3f8754 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java @@ -58,6 +58,11 @@ public class JvmMetrics implements MetricsSource { } return impl; } + +synchronized void shutdown() { + DefaultMetricsSystem.instance().unregisterSource(JvmMetrics.name()); + impl = null; +} } @VisibleForTesting @@ -81,6 +86,7 @@ public class JvmMetrics implements MetricsSource { final ConcurrentHashMap gcInfoCache = new ConcurrentHashMap (); + @VisibleForTesting JvmMetrics(String processName, String sessionId) { this.processName = processName; this.sessionId = sessionId; @@ -104,6 +110,16 @@ public class JvmMetrics implements MetricsSource { return Singleton.INSTANCE.init(processName, sessionId); } + /** + * Shutdown the JvmMetrics singleton. This is not necessary if the JVM itself + * is shutdown, but may be necessary for scenarios where JvmMetrics instance + * needs to be re-created while the JVM is still around. One such scenario + * is unit-testing. + */ + public static void shutdownSingleton() { +Singleton.INSTANCE.shutdown(); + } + @Override public void getMetrics(MetricsCollector collector, boolean all) { MetricsRecordBuilder rb = collector.addRecord(JvmMetrics) http://git-wip-us.apache.org/repos/asf/hadoop/blob/86ee0c5e/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java index df17ef5..18eec19 100644 --- a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java +++ b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java @@ -76,6 +76,15 @@ public class KMSConfiguration { public static final String KMS_AUDIT_AGGREGATION_WINDOW = CONFIG_PREFIX + "audit.aggregation.window.ms"; + // Process name shown in metrics + public static final String METRICS_PROCESS_NAME_KEY = + CONFIG_PREFIX + "metrics.process.name"; + public static final String METRICS_PROCESS_NAME_DEFAULT = "KMS"; + + // Session id for metrics + public static final String METRICS_SESSION_ID_KEY = + CONFIG_PREFIX + "metrics.session.id"; + // KMS Audit logger classes to use public static final String KMS_AUDIT_LOGGER_KEY = CONFIG_PREFIX + "audit.logger"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/86ee0c5e/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java index ced1f69..19f7227 100644 --- a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java +++
[50/54] [abbrv] hadoop git commit: HADOOP-14944. Add JvmMetrics to KMS.
HADOOP-14944. Add JvmMetrics to KMS. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c9f6a98b Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c9f6a98b Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c9f6a98b Branch: refs/heads/branch-2 Commit: c9f6a98b826f6e2ff65a666d1331927c4ee485e0 Parents: b60c658 Author: Xiao ChenAuthored: Thu Oct 19 22:36:39 2017 -0700 Committer: vrushali Committed: Fri Oct 20 11:22:34 2017 -0700 -- .../hadoop/metrics2/source/JvmMetrics.java | 16 + .../crypto/key/kms/server/KMSConfiguration.java | 9 + .../hadoop/crypto/key/kms/server/KMSWebApp.java | 23 .../hadoop/crypto/key/kms/server/TestKMS.java | 38 +++- 4 files changed, 85 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/c9f6a98b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java -- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java index c6369cd..e3f8754 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java @@ -58,6 +58,11 @@ public class JvmMetrics implements MetricsSource { } return impl; } + +synchronized void shutdown() { + DefaultMetricsSystem.instance().unregisterSource(JvmMetrics.name()); + impl = null; +} } @VisibleForTesting @@ -81,6 +86,7 @@ public class JvmMetrics implements MetricsSource { final ConcurrentHashMap gcInfoCache = new ConcurrentHashMap (); + @VisibleForTesting JvmMetrics(String processName, String sessionId) { this.processName = processName; this.sessionId = sessionId; @@ -104,6 +110,16 @@ public class JvmMetrics implements MetricsSource { return Singleton.INSTANCE.init(processName, sessionId); } + /** + * Shutdown the JvmMetrics singleton. This is not necessary if the JVM itself + * is shutdown, but may be necessary for scenarios where JvmMetrics instance + * needs to be re-created while the JVM is still around. One such scenario + * is unit-testing. + */ + public static void shutdownSingleton() { +Singleton.INSTANCE.shutdown(); + } + @Override public void getMetrics(MetricsCollector collector, boolean all) { MetricsRecordBuilder rb = collector.addRecord(JvmMetrics) http://git-wip-us.apache.org/repos/asf/hadoop/blob/c9f6a98b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java index d825b2b..cb89561 100644 --- a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java +++ b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java @@ -63,6 +63,15 @@ public class KMSConfiguration { public static final String KMS_AUDIT_AGGREGATION_WINDOW = CONFIG_PREFIX + "audit.aggregation.window.ms"; + // Process name shown in metrics + public static final String METRICS_PROCESS_NAME_KEY = + CONFIG_PREFIX + "metrics.process.name"; + public static final String METRICS_PROCESS_NAME_DEFAULT = "KMS"; + + // Session id for metrics + public static final String METRICS_SESSION_ID_KEY = + CONFIG_PREFIX + "metrics.session.id"; + // KMS Audit logger classes to use public static final String KMS_AUDIT_LOGGER_KEY = CONFIG_PREFIX + "audit.logger"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/c9f6a98b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java index 5772036..80cb627 100644 --- a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java +++
[50/50] hadoop git commit: HADOOP-14944. Add JvmMetrics to KMS.
HADOOP-14944. Add JvmMetrics to KMS. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c9f6a98b Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c9f6a98b Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c9f6a98b Branch: refs/heads/YARN-3368_branch2 Commit: c9f6a98b826f6e2ff65a666d1331927c4ee485e0 Parents: b60c658 Author: Xiao ChenAuthored: Thu Oct 19 22:36:39 2017 -0700 Committer: vrushali Committed: Fri Oct 20 11:22:34 2017 -0700 -- .../hadoop/metrics2/source/JvmMetrics.java | 16 + .../crypto/key/kms/server/KMSConfiguration.java | 9 + .../hadoop/crypto/key/kms/server/KMSWebApp.java | 23 .../hadoop/crypto/key/kms/server/TestKMS.java | 38 +++- 4 files changed, 85 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/c9f6a98b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java -- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java index c6369cd..e3f8754 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java @@ -58,6 +58,11 @@ public class JvmMetrics implements MetricsSource { } return impl; } + +synchronized void shutdown() { + DefaultMetricsSystem.instance().unregisterSource(JvmMetrics.name()); + impl = null; +} } @VisibleForTesting @@ -81,6 +86,7 @@ public class JvmMetrics implements MetricsSource { final ConcurrentHashMap gcInfoCache = new ConcurrentHashMap (); + @VisibleForTesting JvmMetrics(String processName, String sessionId) { this.processName = processName; this.sessionId = sessionId; @@ -104,6 +110,16 @@ public class JvmMetrics implements MetricsSource { return Singleton.INSTANCE.init(processName, sessionId); } + /** + * Shutdown the JvmMetrics singleton. This is not necessary if the JVM itself + * is shutdown, but may be necessary for scenarios where JvmMetrics instance + * needs to be re-created while the JVM is still around. One such scenario + * is unit-testing. + */ + public static void shutdownSingleton() { +Singleton.INSTANCE.shutdown(); + } + @Override public void getMetrics(MetricsCollector collector, boolean all) { MetricsRecordBuilder rb = collector.addRecord(JvmMetrics) http://git-wip-us.apache.org/repos/asf/hadoop/blob/c9f6a98b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java index d825b2b..cb89561 100644 --- a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java +++ b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java @@ -63,6 +63,15 @@ public class KMSConfiguration { public static final String KMS_AUDIT_AGGREGATION_WINDOW = CONFIG_PREFIX + "audit.aggregation.window.ms"; + // Process name shown in metrics + public static final String METRICS_PROCESS_NAME_KEY = + CONFIG_PREFIX + "metrics.process.name"; + public static final String METRICS_PROCESS_NAME_DEFAULT = "KMS"; + + // Session id for metrics + public static final String METRICS_SESSION_ID_KEY = + CONFIG_PREFIX + "metrics.session.id"; + // KMS Audit logger classes to use public static final String KMS_AUDIT_LOGGER_KEY = CONFIG_PREFIX + "audit.logger"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/c9f6a98b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java index 5772036..80cb627 100644 --- a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java +++
hadoop git commit: HADOOP-14944. Add JvmMetrics to KMS.
Repository: hadoop Updated Branches: refs/heads/branch-2 12c81c67d -> a6370dde9 HADOOP-14944. Add JvmMetrics to KMS. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/a6370dde Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/a6370dde Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/a6370dde Branch: refs/heads/branch-2 Commit: a6370dde90acc944ff466f44143f9e45ad5e7890 Parents: 12c81c6 Author: Xiao ChenAuthored: Thu Oct 19 22:36:39 2017 -0700 Committer: Xiao Chen Committed: Thu Oct 19 22:37:35 2017 -0700 -- .../hadoop/metrics2/source/JvmMetrics.java | 16 + .../crypto/key/kms/server/KMSConfiguration.java | 9 + .../hadoop/crypto/key/kms/server/KMSWebApp.java | 23 .../hadoop/crypto/key/kms/server/TestKMS.java | 38 +++- 4 files changed, 85 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/a6370dde/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java -- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java index c6369cd..e3f8754 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java @@ -58,6 +58,11 @@ public class JvmMetrics implements MetricsSource { } return impl; } + +synchronized void shutdown() { + DefaultMetricsSystem.instance().unregisterSource(JvmMetrics.name()); + impl = null; +} } @VisibleForTesting @@ -81,6 +86,7 @@ public class JvmMetrics implements MetricsSource { final ConcurrentHashMap gcInfoCache = new ConcurrentHashMap (); + @VisibleForTesting JvmMetrics(String processName, String sessionId) { this.processName = processName; this.sessionId = sessionId; @@ -104,6 +110,16 @@ public class JvmMetrics implements MetricsSource { return Singleton.INSTANCE.init(processName, sessionId); } + /** + * Shutdown the JvmMetrics singleton. This is not necessary if the JVM itself + * is shutdown, but may be necessary for scenarios where JvmMetrics instance + * needs to be re-created while the JVM is still around. One such scenario + * is unit-testing. + */ + public static void shutdownSingleton() { +Singleton.INSTANCE.shutdown(); + } + @Override public void getMetrics(MetricsCollector collector, boolean all) { MetricsRecordBuilder rb = collector.addRecord(JvmMetrics) http://git-wip-us.apache.org/repos/asf/hadoop/blob/a6370dde/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java index d825b2b..cb89561 100644 --- a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java +++ b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java @@ -63,6 +63,15 @@ public class KMSConfiguration { public static final String KMS_AUDIT_AGGREGATION_WINDOW = CONFIG_PREFIX + "audit.aggregation.window.ms"; + // Process name shown in metrics + public static final String METRICS_PROCESS_NAME_KEY = + CONFIG_PREFIX + "metrics.process.name"; + public static final String METRICS_PROCESS_NAME_DEFAULT = "KMS"; + + // Session id for metrics + public static final String METRICS_SESSION_ID_KEY = + CONFIG_PREFIX + "metrics.session.id"; + // KMS Audit logger classes to use public static final String KMS_AUDIT_LOGGER_KEY = CONFIG_PREFIX + "audit.logger"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/a6370dde/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java index 5772036..80cb627 100644 ---
[34/50] [abbrv] hadoop git commit: HADOOP-14944. Add JvmMetrics to KMS.
HADOOP-14944. Add JvmMetrics to KMS. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/86ee0c5e Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/86ee0c5e Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/86ee0c5e Branch: refs/heads/YARN-1011 Commit: 86ee0c5e4e304d9551a24a3d8b9161ca1502b70e Parents: 46eb103 Author: Xiao ChenAuthored: Tue Oct 17 15:55:30 2017 -0700 Committer: Xiao Chen Committed: Tue Oct 17 19:06:45 2017 -0700 -- .../hadoop/metrics2/source/JvmMetrics.java | 16 + .../crypto/key/kms/server/KMSConfiguration.java | 9 + .../crypto/key/kms/server/KMSWebServer.java | 24 ++ .../hadoop/crypto/key/kms/server/TestKMS.java | 35 4 files changed, 84 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/86ee0c5e/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java -- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java index c6369cd..e3f8754 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java @@ -58,6 +58,11 @@ public class JvmMetrics implements MetricsSource { } return impl; } + +synchronized void shutdown() { + DefaultMetricsSystem.instance().unregisterSource(JvmMetrics.name()); + impl = null; +} } @VisibleForTesting @@ -81,6 +86,7 @@ public class JvmMetrics implements MetricsSource { final ConcurrentHashMap gcInfoCache = new ConcurrentHashMap (); + @VisibleForTesting JvmMetrics(String processName, String sessionId) { this.processName = processName; this.sessionId = sessionId; @@ -104,6 +110,16 @@ public class JvmMetrics implements MetricsSource { return Singleton.INSTANCE.init(processName, sessionId); } + /** + * Shutdown the JvmMetrics singleton. This is not necessary if the JVM itself + * is shutdown, but may be necessary for scenarios where JvmMetrics instance + * needs to be re-created while the JVM is still around. One such scenario + * is unit-testing. + */ + public static void shutdownSingleton() { +Singleton.INSTANCE.shutdown(); + } + @Override public void getMetrics(MetricsCollector collector, boolean all) { MetricsRecordBuilder rb = collector.addRecord(JvmMetrics) http://git-wip-us.apache.org/repos/asf/hadoop/blob/86ee0c5e/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java index df17ef5..18eec19 100644 --- a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java +++ b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java @@ -76,6 +76,15 @@ public class KMSConfiguration { public static final String KMS_AUDIT_AGGREGATION_WINDOW = CONFIG_PREFIX + "audit.aggregation.window.ms"; + // Process name shown in metrics + public static final String METRICS_PROCESS_NAME_KEY = + CONFIG_PREFIX + "metrics.process.name"; + public static final String METRICS_PROCESS_NAME_DEFAULT = "KMS"; + + // Session id for metrics + public static final String METRICS_SESSION_ID_KEY = + CONFIG_PREFIX + "metrics.session.id"; + // KMS Audit logger classes to use public static final String KMS_AUDIT_LOGGER_KEY = CONFIG_PREFIX + "audit.logger"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/86ee0c5e/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java index ced1f69..19f7227 100644 --- a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java +++
[05/50] [abbrv] hadoop git commit: HADOOP-14944. Add JvmMetrics to KMS.
HADOOP-14944. Add JvmMetrics to KMS. (cherry picked from commit 86ee0c5e4e304d9551a24a3d8b9161ca1502b70e) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/12d19d39 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/12d19d39 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/12d19d39 Branch: refs/heads/resource-types Commit: 12d19d39781b0aa3372b4f7eb9a6672a2452a92f Parents: 5897095 Author: Xiao ChenAuthored: Tue Oct 17 15:55:30 2017 -0700 Committer: Xiao Chen Committed: Tue Oct 17 19:07:19 2017 -0700 -- .../hadoop/metrics2/source/JvmMetrics.java | 16 + .../crypto/key/kms/server/KMSConfiguration.java | 9 + .../crypto/key/kms/server/KMSWebServer.java | 24 ++ .../hadoop/crypto/key/kms/server/TestKMS.java | 35 4 files changed, 84 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/12d19d39/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java -- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java index c6369cd..e3f8754 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java @@ -58,6 +58,11 @@ public class JvmMetrics implements MetricsSource { } return impl; } + +synchronized void shutdown() { + DefaultMetricsSystem.instance().unregisterSource(JvmMetrics.name()); + impl = null; +} } @VisibleForTesting @@ -81,6 +86,7 @@ public class JvmMetrics implements MetricsSource { final ConcurrentHashMap gcInfoCache = new ConcurrentHashMap (); + @VisibleForTesting JvmMetrics(String processName, String sessionId) { this.processName = processName; this.sessionId = sessionId; @@ -104,6 +110,16 @@ public class JvmMetrics implements MetricsSource { return Singleton.INSTANCE.init(processName, sessionId); } + /** + * Shutdown the JvmMetrics singleton. This is not necessary if the JVM itself + * is shutdown, but may be necessary for scenarios where JvmMetrics instance + * needs to be re-created while the JVM is still around. One such scenario + * is unit-testing. + */ + public static void shutdownSingleton() { +Singleton.INSTANCE.shutdown(); + } + @Override public void getMetrics(MetricsCollector collector, boolean all) { MetricsRecordBuilder rb = collector.addRecord(JvmMetrics) http://git-wip-us.apache.org/repos/asf/hadoop/blob/12d19d39/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java index df17ef5..18eec19 100644 --- a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java +++ b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java @@ -76,6 +76,15 @@ public class KMSConfiguration { public static final String KMS_AUDIT_AGGREGATION_WINDOW = CONFIG_PREFIX + "audit.aggregation.window.ms"; + // Process name shown in metrics + public static final String METRICS_PROCESS_NAME_KEY = + CONFIG_PREFIX + "metrics.process.name"; + public static final String METRICS_PROCESS_NAME_DEFAULT = "KMS"; + + // Session id for metrics + public static final String METRICS_SESSION_ID_KEY = + CONFIG_PREFIX + "metrics.session.id"; + // KMS Audit logger classes to use public static final String KMS_AUDIT_LOGGER_KEY = CONFIG_PREFIX + "audit.logger"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/12d19d39/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java index ced1f69..19f7227 100644 ---
hadoop git commit: HADOOP-14944. Add JvmMetrics to KMS.
Repository: hadoop Updated Branches: refs/heads/trunk 46eb1033a -> 86ee0c5e4 HADOOP-14944. Add JvmMetrics to KMS. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/86ee0c5e Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/86ee0c5e Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/86ee0c5e Branch: refs/heads/trunk Commit: 86ee0c5e4e304d9551a24a3d8b9161ca1502b70e Parents: 46eb103 Author: Xiao ChenAuthored: Tue Oct 17 15:55:30 2017 -0700 Committer: Xiao Chen Committed: Tue Oct 17 19:06:45 2017 -0700 -- .../hadoop/metrics2/source/JvmMetrics.java | 16 + .../crypto/key/kms/server/KMSConfiguration.java | 9 + .../crypto/key/kms/server/KMSWebServer.java | 24 ++ .../hadoop/crypto/key/kms/server/TestKMS.java | 35 4 files changed, 84 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/86ee0c5e/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java -- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java index c6369cd..e3f8754 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java @@ -58,6 +58,11 @@ public class JvmMetrics implements MetricsSource { } return impl; } + +synchronized void shutdown() { + DefaultMetricsSystem.instance().unregisterSource(JvmMetrics.name()); + impl = null; +} } @VisibleForTesting @@ -81,6 +86,7 @@ public class JvmMetrics implements MetricsSource { final ConcurrentHashMap gcInfoCache = new ConcurrentHashMap (); + @VisibleForTesting JvmMetrics(String processName, String sessionId) { this.processName = processName; this.sessionId = sessionId; @@ -104,6 +110,16 @@ public class JvmMetrics implements MetricsSource { return Singleton.INSTANCE.init(processName, sessionId); } + /** + * Shutdown the JvmMetrics singleton. This is not necessary if the JVM itself + * is shutdown, but may be necessary for scenarios where JvmMetrics instance + * needs to be re-created while the JVM is still around. One such scenario + * is unit-testing. + */ + public static void shutdownSingleton() { +Singleton.INSTANCE.shutdown(); + } + @Override public void getMetrics(MetricsCollector collector, boolean all) { MetricsRecordBuilder rb = collector.addRecord(JvmMetrics) http://git-wip-us.apache.org/repos/asf/hadoop/blob/86ee0c5e/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java index df17ef5..18eec19 100644 --- a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java +++ b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java @@ -76,6 +76,15 @@ public class KMSConfiguration { public static final String KMS_AUDIT_AGGREGATION_WINDOW = CONFIG_PREFIX + "audit.aggregation.window.ms"; + // Process name shown in metrics + public static final String METRICS_PROCESS_NAME_KEY = + CONFIG_PREFIX + "metrics.process.name"; + public static final String METRICS_PROCESS_NAME_DEFAULT = "KMS"; + + // Session id for metrics + public static final String METRICS_SESSION_ID_KEY = + CONFIG_PREFIX + "metrics.session.id"; + // KMS Audit logger classes to use public static final String KMS_AUDIT_LOGGER_KEY = CONFIG_PREFIX + "audit.logger"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/86ee0c5e/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java index ced1f69..19f7227 100644 ---
hadoop git commit: HADOOP-14944. Add JvmMetrics to KMS.
Repository: hadoop Updated Branches: refs/heads/branch-3.0 5897095d5 -> 12d19d397 HADOOP-14944. Add JvmMetrics to KMS. (cherry picked from commit 86ee0c5e4e304d9551a24a3d8b9161ca1502b70e) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/12d19d39 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/12d19d39 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/12d19d39 Branch: refs/heads/branch-3.0 Commit: 12d19d39781b0aa3372b4f7eb9a6672a2452a92f Parents: 5897095 Author: Xiao ChenAuthored: Tue Oct 17 15:55:30 2017 -0700 Committer: Xiao Chen Committed: Tue Oct 17 19:07:19 2017 -0700 -- .../hadoop/metrics2/source/JvmMetrics.java | 16 + .../crypto/key/kms/server/KMSConfiguration.java | 9 + .../crypto/key/kms/server/KMSWebServer.java | 24 ++ .../hadoop/crypto/key/kms/server/TestKMS.java | 35 4 files changed, 84 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/12d19d39/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java -- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java index c6369cd..e3f8754 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/source/JvmMetrics.java @@ -58,6 +58,11 @@ public class JvmMetrics implements MetricsSource { } return impl; } + +synchronized void shutdown() { + DefaultMetricsSystem.instance().unregisterSource(JvmMetrics.name()); + impl = null; +} } @VisibleForTesting @@ -81,6 +86,7 @@ public class JvmMetrics implements MetricsSource { final ConcurrentHashMap gcInfoCache = new ConcurrentHashMap (); + @VisibleForTesting JvmMetrics(String processName, String sessionId) { this.processName = processName; this.sessionId = sessionId; @@ -104,6 +110,16 @@ public class JvmMetrics implements MetricsSource { return Singleton.INSTANCE.init(processName, sessionId); } + /** + * Shutdown the JvmMetrics singleton. This is not necessary if the JVM itself + * is shutdown, but may be necessary for scenarios where JvmMetrics instance + * needs to be re-created while the JVM is still around. One such scenario + * is unit-testing. + */ + public static void shutdownSingleton() { +Singleton.INSTANCE.shutdown(); + } + @Override public void getMetrics(MetricsCollector collector, boolean all) { MetricsRecordBuilder rb = collector.addRecord(JvmMetrics) http://git-wip-us.apache.org/repos/asf/hadoop/blob/12d19d39/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java index df17ef5..18eec19 100644 --- a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java +++ b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSConfiguration.java @@ -76,6 +76,15 @@ public class KMSConfiguration { public static final String KMS_AUDIT_AGGREGATION_WINDOW = CONFIG_PREFIX + "audit.aggregation.window.ms"; + // Process name shown in metrics + public static final String METRICS_PROCESS_NAME_KEY = + CONFIG_PREFIX + "metrics.process.name"; + public static final String METRICS_PROCESS_NAME_DEFAULT = "KMS"; + + // Session id for metrics + public static final String METRICS_SESSION_ID_KEY = + CONFIG_PREFIX + "metrics.session.id"; + // KMS Audit logger classes to use public static final String KMS_AUDIT_LOGGER_KEY = CONFIG_PREFIX + "audit.logger"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/12d19d39/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java -- diff --git a/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java b/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebServer.java index ced1f69..19f7227 100644 ---