Breaking change: disable micrometer bridge by default (#10038)
This commit is contained in:
parent
14dc34e50e
commit
3213c86784
|
@ -57,4 +57,8 @@ tasks {
|
||||||
dependsOn(testPrometheusMode)
|
dependsOn(testPrometheusMode)
|
||||||
dependsOn(testHistogramGauges)
|
dependsOn(testHistogramGauges)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
withType<Test>().configureEach {
|
||||||
|
jvmArgs("-Dotel.instrumentation.micrometer.enabled=true")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@ import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.
|
||||||
import com.google.auto.service.AutoService;
|
import com.google.auto.service.AutoService;
|
||||||
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
|
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
|
||||||
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
|
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
|
||||||
|
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import net.bytebuddy.matcher.ElementMatcher;
|
import net.bytebuddy.matcher.ElementMatcher;
|
||||||
|
@ -21,6 +22,12 @@ public class MicrometerInstrumentationModule extends InstrumentationModule {
|
||||||
super("micrometer", "micrometer-1.5");
|
super("micrometer", "micrometer-1.5");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean defaultEnabled(ConfigProperties config) {
|
||||||
|
// produces a lot of metrics that are already captured - e.g. JVM memory usage
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
|
public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
|
||||||
// added in 1.5
|
// added in 1.5
|
||||||
|
|
|
@ -23,7 +23,7 @@ import org.springframework.context.annotation.Configuration;
|
||||||
@AutoConfigureBefore(CompositeMeterRegistryAutoConfiguration.class)
|
@AutoConfigureBefore(CompositeMeterRegistryAutoConfiguration.class)
|
||||||
@ConditionalOnBean({Clock.class, OpenTelemetry.class})
|
@ConditionalOnBean({Clock.class, OpenTelemetry.class})
|
||||||
@ConditionalOnClass(MeterRegistry.class)
|
@ConditionalOnClass(MeterRegistry.class)
|
||||||
@ConditionalOnProperty(name = "otel.instrumentation.micrometer.enabled", matchIfMissing = true)
|
@ConditionalOnProperty(name = "otel.instrumentation.micrometer.enabled")
|
||||||
@Configuration
|
@Configuration
|
||||||
public class MicrometerBridgeAutoConfiguration {
|
public class MicrometerBridgeAutoConfiguration {
|
||||||
|
|
||||||
|
|
|
@ -35,14 +35,10 @@ class MicrometerBridgeAutoConfigurationTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void metricsEnabledByDefault() {
|
void metricsDisabledByDefault() {
|
||||||
runner
|
runner
|
||||||
.withConfiguration(AutoConfigurations.of(MetricsAutoConfiguration.class))
|
.withConfiguration(AutoConfigurations.of(MetricsAutoConfiguration.class))
|
||||||
.run(
|
.run(context -> assertThat(context.containsBean("otelMeterRegistry")).isFalse());
|
||||||
context ->
|
|
||||||
assertThat(context.getBean("otelMeterRegistry", MeterRegistry.class))
|
|
||||||
.isNotNull()
|
|
||||||
.isInstanceOf(OpenTelemetryMeterRegistry.class));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
Loading…
Reference in New Issue