Skip to content

Commit 934eecd

Browse files
committed
fix annotation
1 parent 7511882 commit 934eecd

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

instrumentation/spring/spring-boot-actuator-autoconfigure-2.0/javaagent/build.gradle.kts

+11
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,17 @@ tasks.withType<Test>().configureEach {
2929

3030
jvmArgs("-Dotel.instrumentation.spring-boot-actuator-autoconfigure.enabled=true")
3131
}
32+
tasks {
33+
val testPrometheus by registering(Test::class) {
34+
dependencies {
35+
runtimeOnly("io.micrometer:micrometer-registry-prometheus:1.14.3")
36+
}
37+
}
38+
39+
check {
40+
dependsOn(testPrometheus)
41+
}
42+
}
3243

3344
val latestDepTest = findProperty("testLatestDeps") as Boolean
3445

instrumentation/spring/spring-boot-actuator-autoconfigure-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/actuator/v2_0/OpenTelemetryMeterRegistryAutoConfiguration.java

+6-9
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import io.micrometer.core.instrument.MeterRegistry;
1010
import io.opentelemetry.javaagent.instrumentation.micrometer.v1_5.MicrometerSingletons;
1111
import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration;
12-
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
12+
import org.springframework.boot.actuate.autoconfigure.metrics.export.prometheus.PrometheusMetricsExportAutoConfiguration;
1313
import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration;
1414
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
1515
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
@@ -19,15 +19,12 @@
1919
import org.springframework.context.annotation.Configuration;
2020

2121
@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
2522
// CompositeMeterRegistryAutoConfiguration configures the "final" composite registry
26-
@AutoConfigureBefore({
27-
CompositeMeterRegistryAutoConfiguration.class,
28-
SimpleMetricsExportAutoConfiguration.class
29-
})
30-
@AutoConfigureAfter(MetricsAutoConfiguration.class)
23+
@AutoConfigureBefore(CompositeMeterRegistryAutoConfiguration.class)
24+
// configure after the SimpleMeterRegistry has initialized; it is normally the last MeterRegistry
25+
// implementation to be configured, as it's used as a fallback
26+
// the OTel registry should be added in addition to that fallback and not replace it
27+
@AutoConfigureAfter({SimpleMetricsExportAutoConfiguration.class, PrometheusMetricsExportAutoConfiguration.class})
3128
@ConditionalOnBean(Clock.class)
3229
@ConditionalOnClass(MeterRegistry.class)
3330
public class OpenTelemetryMeterRegistryAutoConfiguration {

0 commit comments

Comments
 (0)