diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientMetrics.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientMetrics.java index ade4cbcab3c4..c7504936759e 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientMetrics.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientMetrics.java @@ -32,7 +32,6 @@ import org.apache.hadoop.metrics2.lib.MutableCounterLong; import org.apache.hadoop.ozone.OzoneConfigKeys; import org.apache.hadoop.util.PerformanceMetrics; -import org.apache.hadoop.util.PerformanceMetricsInitializer; /** * The client metrics for the Storage Container protocol. @@ -76,7 +75,7 @@ public void init() { "number of" + ContainerProtos.Type.forNumber(i + 1) + " ops", (long) 0); containerOpsLatency[i] = - PerformanceMetricsInitializer.getMetrics(registry, + new PerformanceMetrics(registry, ContainerProtos.Type.forNumber(i + 1) + "Latency", "latency of " + ContainerProtos.Type.forNumber(i + 1), "Ops", "Time", intervals); diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/util/PerformanceMetrics.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/util/PerformanceMetrics.java index a470ff9657f7..9bade257e11f 100644 --- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/util/PerformanceMetrics.java +++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/util/PerformanceMetrics.java @@ -56,18 +56,21 @@ public static synchronized void initializeMetrics(T source, } /** - * Construct an instance of PerformanceMetrics with the specified MutableStat, - * MutableQuantiles, and MutableMinMax. + * Helper method to create PerformanceMetrics. * - * @param stat the stat metric - * @param quantiles the quantiles metrics - * @param minMax the min/max tracker + * @param registry the metrics registry + * @param name metric name + * @param description metric description + * @param sampleName sample name + * @param valueName value name + * @param intervals intervals for quantiles */ - public PerformanceMetrics(MutableStat stat, - List quantiles, MutableMinMax minMax) { - this.stat = stat; - this.quantiles = quantiles; - this.minMax = minMax; + public PerformanceMetrics( + MetricsRegistry registry, String name, String description, + String sampleName, String valueName, int[] intervals) { + stat = registry.newStat(name, description, sampleName, valueName, false); + quantiles = MetricUtil.createQuantiles(registry, name, description, sampleName, valueName, intervals); + minMax = new MutableMinMax(registry, name, description, valueName); } /** diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/util/PerformanceMetricsInitializer.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/util/PerformanceMetricsInitializer.java index 0a50eab19509..239ca7f83252 100644 --- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/util/PerformanceMetricsInitializer.java +++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/util/PerformanceMetricsInitializer.java @@ -50,7 +50,7 @@ public static void initialize(T source, MetricsRegistry registry, String description = annotation.about(); String name = field.getName(); PerformanceMetrics performanceMetrics = - getMetrics(registry, name, description, + new PerformanceMetrics(registry, name, description, sampleName, valueName, intervals); field.setAccessible(true); field.set(source, performanceMetrics); @@ -58,26 +58,4 @@ public static void initialize(T source, MetricsRegistry registry, } } } - - /** - * Helper method to create PerformanceMetrics. - * - * @param registry the metrics registry - * @param name metric name - * @param description metric description - * @param sampleName sample name - * @param valueName value name - * @param intervals intervals for quantiles - * @return an instance of PerformanceMetrics - */ - public static PerformanceMetrics getMetrics( - MetricsRegistry registry, String name, String description, - String sampleName, String valueName, int[] intervals) { - return new PerformanceMetrics( - registry.newStat( - name, description, sampleName, valueName, false), - MetricUtil.createQuantiles( - registry, name, description, sampleName, valueName, intervals), - new MutableMinMax(registry, name, description, valueName)); - } }