|
9 | 9 | import io.micrometer.core.instrument.MeterRegistry; |
10 | 10 | import io.opentelemetry.javaagent.instrumentation.micrometer.v1_5.MicrometerSingletons; |
11 | 11 | import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration; |
| 12 | +import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; |
12 | 13 | import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; |
13 | 14 | import org.springframework.boot.autoconfigure.AutoConfigureAfter; |
14 | 15 | import org.springframework.boot.autoconfigure.AutoConfigureBefore; |
|
18 | 19 | import org.springframework.context.annotation.Configuration; |
19 | 20 |
|
20 | 21 | @Configuration |
| 22 | +// see |
| 23 | +// https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java |
| 24 | +// for an example of how configure a MeterRegistry properly |
21 | 25 | // CompositeMeterRegistryAutoConfiguration configures the "final" composite registry |
22 | | -@AutoConfigureBefore(CompositeMeterRegistryAutoConfiguration.class) |
23 | | -// configure after the SimpleMeterRegistry has initialized; it is normally the last MeterRegistry |
24 | | -// implementation to be configured, as it's used as a fallback |
25 | | -// the OTel registry should be added in addition to that fallback and not replace it |
26 | | -@AutoConfigureAfter(SimpleMetricsExportAutoConfiguration.class) |
| 26 | +@AutoConfigureBefore({ |
| 27 | + CompositeMeterRegistryAutoConfiguration.class, |
| 28 | + SimpleMetricsExportAutoConfiguration.class |
| 29 | +}) |
| 30 | +@AutoConfigureAfter(MetricsAutoConfiguration.class) |
27 | 31 | @ConditionalOnBean(Clock.class) |
28 | 32 | @ConditionalOnClass(MeterRegistry.class) |
29 | 33 | public class OpenTelemetryMeterRegistryAutoConfiguration { |
|
0 commit comments