Repository: hbase Updated Branches: refs/heads/branch-2 1da2fa3ba -> dad391695
HBASE-20396 Remove redundant metrics from thrift metrics Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/dad39169 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/dad39169 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/dad39169 Branch: refs/heads/branch-2 Commit: dad39169520c5869c7c2f1420183f89209828efd Parents: 1da2fa3 Author: Guangxu Cheng <[email protected]> Authored: Thu Apr 12 17:40:57 2018 +0800 Committer: Guangxu Cheng <[email protected]> Committed: Mon Jul 9 10:00:11 2018 +0800 ---------------------------------------------------------------------- .../MetricsThriftServerSourceFactoryImpl.java | 24 ++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/dad39169/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.java ---------------------------------------------------------------------- diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.java index 002985a..3ce2d5d 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.java @@ -30,25 +30,31 @@ public class MetricsThriftServerSourceFactoryImpl implements MetricsThriftServer * A singleton used to make sure that only one thrift metrics source per server type is ever * created. */ - private static enum FactoryStorage { + private enum FactoryStorage { INSTANCE; - MetricsThriftServerSourceImpl thriftOne = new MetricsThriftServerSourceImpl(METRICS_NAME, - METRICS_DESCRIPTION, - THRIFT_ONE_METRICS_CONTEXT, - THRIFT_ONE_JMX_CONTEXT); - MetricsThriftServerSourceImpl thriftTwo = new MetricsThriftServerSourceImpl(METRICS_NAME, - METRICS_DESCRIPTION, - THRIFT_TWO_METRICS_CONTEXT, - THRIFT_TWO_JMX_CONTEXT); + MetricsThriftServerSourceImpl thriftOne; + MetricsThriftServerSourceImpl thriftTwo; } @Override public MetricsThriftServerSource createThriftOneSource() { + if (FactoryStorage.INSTANCE.thriftOne == null) { + FactoryStorage.INSTANCE.thriftOne = new MetricsThriftServerSourceImpl(METRICS_NAME, + METRICS_DESCRIPTION, + THRIFT_ONE_METRICS_CONTEXT, + THRIFT_ONE_JMX_CONTEXT); + } return FactoryStorage.INSTANCE.thriftOne; } @Override public MetricsThriftServerSource createThriftTwoSource() { + if (FactoryStorage.INSTANCE.thriftTwo == null) { + FactoryStorage.INSTANCE.thriftTwo = new MetricsThriftServerSourceImpl(METRICS_NAME, + METRICS_DESCRIPTION, + THRIFT_TWO_METRICS_CONTEXT, + THRIFT_TWO_JMX_CONTEXT); + } return FactoryStorage.INSTANCE.thriftTwo; } }
