diff options
author | Håkon Hallingstad <hakon@oath.com> | 2017-10-10 20:47:54 +0200 |
---|---|---|
committer | Håkon Hallingstad <hakon@oath.com> | 2017-10-10 20:47:54 +0200 |
commit | 6fa3b85dac3c1dabaf04172cde40d8acc464e3ca (patch) | |
tree | 0d949240a28e36e4f94e76e70d20934a6dd2054e /service-monitor | |
parent | 2953a3fdb1538646695f103e2229d4f955084e51 (diff) |
Measure latency in seconds
Diffstat (limited to 'service-monitor')
2 files changed, 30 insertions, 1 deletions
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/internal/LatencyMeasurement.java b/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/internal/LatencyMeasurement.java index b4a8621448b..c7b9782972a 100644 --- a/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/internal/LatencyMeasurement.java +++ b/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/internal/LatencyMeasurement.java @@ -24,7 +24,7 @@ public class LatencyMeasurement implements AutoCloseable { @Override public void close() { if (elapsedSecondsConsumer != null) { - double elapsedSeconds = forceNonNegative(timer.currentTimeMillis() - startMillis); + double elapsedSeconds = forceNonNegative(timer.currentTimeMillis() - startMillis) / 1000; elapsedSecondsConsumer.accept(elapsedSeconds); elapsedSecondsConsumer = null; } diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/LatencyMeasurementTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/LatencyMeasurementTest.java new file mode 100644 index 00000000000..14dfd3ea65b --- /dev/null +++ b/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/LatencyMeasurementTest.java @@ -0,0 +1,29 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +package com.yahoo.vespa.service.monitor.internal; + +import com.yahoo.jdisc.Timer; +import org.junit.Test; + +import java.util.function.Consumer; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +public class LatencyMeasurementTest { + @Test + public void testReportedDuration() { + Timer timer = mock(Timer.class); + when(timer.currentTimeMillis()).thenReturn(500l, 1000l); + Consumer<Double> consumer = mock(Consumer.class); + try (LatencyMeasurement measurement = new LatencyMeasurement(timer, consumer)) { + // Avoid javac warning by referencing measurement. + dummy(measurement); + } + + verify(consumer).accept(0.5); + } + + private void dummy(LatencyMeasurement measurement) {} +}
\ No newline at end of file |