diff --git a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AInstrumentation.java b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AInstrumentation.java index 812b9c5368..2bb8f682d8 100644 --- a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AInstrumentation.java +++ b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AInstrumentation.java @@ -120,7 +120,8 @@ public class S3AInstrumentation implements Closeable, MetricsSource { private final MutableCounterLong streamBytesReadInClose; private final MutableCounterLong streamBytesDiscardedInAbort; private final MutableCounterLong ignoredErrors; - + private final MutableQuantiles putLatencyQuantile; + private final MutableQuantiles throttleRateQuantile; private final MutableCounterLong numberOfFilesCreated; private final MutableCounterLong numberOfFilesCopied; private final MutableCounterLong bytesOfFilesCopied; @@ -239,9 +240,9 @@ public S3AInstrumentation(URI name) { } //todo need a config for the quantiles interval? int interval = 1; - quantiles(S3GUARD_METADATASTORE_PUT_PATH_LATENCY, + putLatencyQuantile = quantiles(S3GUARD_METADATASTORE_PUT_PATH_LATENCY, "ops", "latency", interval); - quantiles(S3GUARD_METADATASTORE_THROTTLE_RATE, + throttleRateQuantile = quantiles(S3GUARD_METADATASTORE_THROTTLE_RATE, "events", "frequency (Hz)", interval); registerAsMetricsSource(name); @@ -606,6 +607,8 @@ public void getMetrics(MetricsCollector collector, boolean all) { public void close() { synchronized (metricsSystemLock) { + putLatencyQuantile.stop(); + throttleRateQuantile.stop(); metricsSystem.unregisterSource(metricsSourceName); int activeSources = --metricsSourceActiveCounter; if (activeSources == 0) {