Skip to content

Commit 8903c69

Browse files
Avoid exposing time-related task metrics
Fixes gh-28535
1 parent d7f8931 commit 8903c69

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/task/TaskExecutorMetricsAutoConfiguration.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.boot.actuate.autoconfigure.metrics.task;
1818

19+
import java.util.Collections;
1920
import java.util.Map;
2021
import java.util.concurrent.Executor;
2122
import java.util.concurrent.ThreadPoolExecutor;
@@ -66,7 +67,7 @@ else if (executor instanceof ThreadPoolTaskScheduler) {
6667

6768
private void monitor(MeterRegistry registry, ThreadPoolExecutor threadPoolExecutor, String name) {
6869
if (threadPoolExecutor != null) {
69-
ExecutorServiceMetrics.monitor(registry, threadPoolExecutor, name);
70+
new ExecutorServiceMetrics(threadPoolExecutor, name, Collections.emptyList()).bindTo(registry);
7071
}
7172
}
7273

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/task/TaskExecutorMetricsAutoConfigurationTests.java

+6
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import io.micrometer.core.instrument.FunctionCounter;
2323
import io.micrometer.core.instrument.MeterRegistry;
24+
import io.micrometer.core.instrument.search.MeterNotFoundException;
2425
import org.junit.jupiter.api.Test;
2526

2627
import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun;
@@ -34,6 +35,7 @@
3435
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
3536

3637
import static org.assertj.core.api.Assertions.assertThat;
38+
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
3739
import static org.mockito.BDDMockito.given;
3840
import static org.mockito.Mockito.mock;
3941

@@ -56,6 +58,8 @@ void taskExecutorUsingAutoConfigurationIsInstrumented() {
5658
Collection<FunctionCounter> meters = registry.get("executor.completed").functionCounters();
5759
assertThat(meters).singleElement().satisfies(
5860
(meter) -> assertThat(meter.getId().getTag("name")).isEqualTo("applicationTaskExecutor"));
61+
assertThatExceptionOfType(MeterNotFoundException.class)
62+
.isThrownBy(() -> registry.get("executor").timer());
5963
});
6064
}
6165

@@ -101,6 +105,8 @@ void taskSchedulerUsingAutoConfigurationIsInstrumented() {
101105
Collection<FunctionCounter> meters = registry.get("executor.completed").functionCounters();
102106
assertThat(meters).singleElement()
103107
.satisfies((meter) -> assertThat(meter.getId().getTag("name")).isEqualTo("taskScheduler"));
108+
assertThatExceptionOfType(MeterNotFoundException.class)
109+
.isThrownBy(() -> registry.get("executor").timer());
104110
});
105111
}
106112

0 commit comments

Comments
 (0)