Skip to content

Commit f6cf591

Browse files
committed
1 parent 40ca508 commit f6cf591

File tree

3 files changed

+18
-20
lines changed

3 files changed

+18
-20
lines changed

micrometer-core/src/main/java/io/micrometer/core/annotation/Timed.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
* should be passed as {@code 0.1}.
8181
* @return service level objectives to calculate
8282
* @see io.micrometer.core.instrument.Timer.Builder#serviceLevelObjectives(java.time.Duration...)
83+
* @since 1.14.0
8384
*/
8485
double[] serviceLevelObjectives() default {};
8586

micrometer-core/src/test/java/io/micrometer/core/aop/TimedAspectTest.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,17 @@
2828
import io.micrometer.core.instrument.distribution.pause.PauseDetector;
2929
import io.micrometer.core.instrument.search.MeterNotFoundException;
3030
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
31+
import io.micrometer.core.instrument.util.TimeUtils;
3132
import org.aspectj.lang.ProceedingJoinPoint;
3233
import org.junit.jupiter.api.Test;
3334
import org.junit.jupiter.params.ParameterizedTest;
3435
import org.junit.jupiter.params.provider.EnumSource;
3536
import org.springframework.aop.aspectj.annotation.AspectJProxyFactory;
3637

3738
import javax.annotation.Nonnull;
38-
import java.util.Arrays;
3939
import java.util.concurrent.CompletableFuture;
4040
import java.util.concurrent.CompletionException;
41+
import java.util.concurrent.TimeUnit;
4142
import java.util.function.Predicate;
4243

4344
import static java.util.concurrent.CompletableFuture.supplyAsync;
@@ -108,16 +109,15 @@ void timeMethodWithSloTimer() {
108109

109110
service.sloCall();
110111

111-
assertThat(Arrays
112-
.stream(registry.get("sloCall")
113-
.tag("class", getClass().getName() + "$TimedService")
114-
.tag("method", "sloCall")
115-
.tag("extra", "tag")
116-
.timer()
117-
.takeSnapshot()
118-
.histogramCounts())
119-
.mapToDouble(CountAtBucket::bucket)
120-
.toArray()).isEqualTo(new double[] { Math.pow(10, 9) * 0.1, Math.pow(10, 9) * 0.5 });
112+
assertThat(registry.get("sloCall")
113+
.tag("class", getClass().getName() + "$TimedService")
114+
.tag("method", "sloCall")
115+
.tag("extra", "tag")
116+
.timer()
117+
.takeSnapshot()
118+
.histogramCounts()).extracting(CountAtBucket::bucket)
119+
.containsExactly(TimeUtils.secondsToUnit(0.1, TimeUnit.NANOSECONDS),
120+
TimeUtils.secondsToUnit(0.5, TimeUnit.NANOSECONDS));
121121
}
122122

123123
@Test

micrometer-core/src/test/java/io/micrometer/core/instrument/binder/jersey/server/MetricsRequestEventListenerTimedTest.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import io.micrometer.core.instrument.binder.jersey.server.resources.TimedResource;
2424
import io.micrometer.core.instrument.distribution.CountAtBucket;
2525
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
26+
import io.micrometer.core.instrument.util.TimeUtils;
2627
import org.glassfish.jersey.server.ResourceConfig;
2728
import org.glassfish.jersey.test.JerseyTest;
2829
import org.junit.jupiter.api.Test;
@@ -95,17 +96,13 @@ void resourcesWithAnnotationAreTimed() {
9596
}
9697

9798
@Test
98-
void sloTaskTimerSupported() throws InterruptedException, ExecutionException, TimeoutException {
99+
void sloTimerSupported() {
99100
target("timed-slo").request().get();
100101

101-
CountAtBucket[] slos = registry.get("timedSlo")
102-
.tags(tagsFrom("/timed-slo", 200))
103-
.timer()
104-
.takeSnapshot()
105-
.histogramCounts();
106-
assertThat(slos.length).isEqualTo(2);
107-
assertThat(slos[0].bucket()).isEqualTo(Math.pow(10, 9) * 0.1);
108-
assertThat(slos[1].bucket()).isEqualTo(Math.pow(10, 9) * 0.5);
102+
assertThat(registry.get("timedSlo").tags(tagsFrom("/timed-slo", 200)).timer().takeSnapshot().histogramCounts())
103+
.extracting(CountAtBucket::bucket)
104+
.containsExactly(TimeUtils.secondsToUnit(0.1, TimeUnit.NANOSECONDS),
105+
TimeUtils.secondsToUnit(0.5, TimeUnit.NANOSECONDS));
109106
}
110107

111108
@Test

0 commit comments

Comments
 (0)