diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java index e97e9483d4a..15d27aa58f8 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java @@ -415,10 +415,10 @@ public class MetricsSystemImpl extends MetricsSystem implements MetricsSource { private void snapshotMetrics(MetricsSourceAdapter sa, MetricsBufferBuilder bufferBuilder) { - long startTime = Time.now(); + long startTime = Time.monotonicNow(); bufferBuilder.add(sa.name(), sa.getMetrics(collector, true)); collector.clear(); - snapshotStat.add(Time.now() - startTime); + snapshotStat.add(Time.monotonicNow() - startTime); LOG.debug("Snapshotted source "+ sa.name()); } @@ -431,7 +431,7 @@ public class MetricsSystemImpl extends MetricsSystem implements MetricsSource { synchronized void publishMetrics(MetricsBuffer buffer, boolean immediate) { int dropped = 0; for (MetricsSinkAdapter sa : sinks.values()) { - long startTime = Time.now(); + long startTime = Time.monotonicNow(); boolean result; if (immediate) { result = sa.putMetricsImmediate(buffer); @@ -439,7 +439,7 @@ public class MetricsSystemImpl extends MetricsSystem implements MetricsSource { result = sa.putMetrics(buffer, logicalTime); } dropped += result ? 0 : 1; - publishStat.add(Time.now() - startTime); + publishStat.add(Time.monotonicNow() - startTime); } droppedPubAll.incr(dropped); }