extract @SpringBootInstrumentation annotation (#11293)
This commit is contained in:
parent
f036673279
commit
32df5ae710
|
@ -16,6 +16,7 @@ dependencies {
|
|||
compileOnly(project(":instrumentation:spring:spring-boot-autoconfigure"))
|
||||
implementation(project(":instrumentation:spring:spring-web:spring-web-3.1:library"))
|
||||
|
||||
testImplementation(project(":instrumentation:spring:spring-boot-autoconfigure"))
|
||||
testLibrary("org.springframework.boot:spring-boot-starter-test:$springBootVersion") {
|
||||
exclude("org.junit.vintage", "junit-vintage-engine")
|
||||
}
|
||||
|
|
|
@ -6,17 +6,14 @@
|
|||
package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation;
|
||||
import io.opentelemetry.instrumentation.spring.web.v3_1.SpringWebTelemetry;
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration;
|
||||
import org.springframework.boot.web.client.RestClientCustomizer;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.client.RestClient;
|
||||
|
||||
|
@ -25,10 +22,8 @@ import org.springframework.web.client.RestClient;
|
|||
*
|
||||
* <p>Adds Open Telemetry instrumentation to {@link RestClient} beans after initialization
|
||||
*/
|
||||
@ConditionalOnBean(OpenTelemetry.class)
|
||||
@ConditionalOnProperty(name = "otel.instrumentation.spring-web.enabled", matchIfMissing = true)
|
||||
@ConditionalOnEnabledInstrumentation(module = "spring-web")
|
||||
@ConditionalOnClass(RestClient.class)
|
||||
@Conditional(SdkEnabled.class)
|
||||
@AutoConfiguration(after = RestClientAutoConfiguration.class)
|
||||
@Configuration
|
||||
public class RestClientInstrumentationAutoConfiguration {
|
||||
|
|
|
@ -8,6 +8,7 @@ package io.opentelemetry.instrumentation.spring.autoconfigure;
|
|||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.api.trace.TracerProvider;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.MapConverter;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.properties.OtelResourceProperties;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.properties.OtlpExporterProperties;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.properties.PropagationProperties;
|
||||
|
@ -29,6 +30,7 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
|
|||
import org.springframework.boot.info.BuildProperties;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.env.Environment;
|
||||
|
||||
|
@ -50,8 +52,8 @@ public class OpenTelemetryAutoConfiguration {
|
|||
public OpenTelemetryAutoConfiguration() {}
|
||||
|
||||
@Configuration
|
||||
@Conditional(SdkEnabled.class)
|
||||
@ConditionalOnMissingBean(OpenTelemetry.class)
|
||||
@ConditionalOnProperty(name = "otel.sdk.disabled", havingValue = "false", matchIfMissing = true)
|
||||
public static class OpenTelemetrySdkConfig {
|
||||
|
||||
@Bean
|
||||
|
|
|
@ -7,22 +7,17 @@ package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.an
|
|||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.instrumentation.annotations.WithSpan;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.DefaultParameterNameDiscoverer;
|
||||
import org.springframework.core.ParameterNameDiscoverer;
|
||||
|
||||
/** Configures {@link WithSpanAspect} to trace bean methods annotated with {@link WithSpan}. */
|
||||
@ConditionalOnBean(OpenTelemetry.class)
|
||||
@ConditionalOnEnabledInstrumentation(module = "annotations")
|
||||
@ConditionalOnClass(Aspect.class)
|
||||
@ConditionalOnProperty(name = "otel.instrumentation.annotations.enabled", matchIfMissing = true)
|
||||
@Conditional(SdkEnabled.class)
|
||||
@Configuration
|
||||
public class InstrumentationAnnotationsAutoConfiguration {
|
||||
private final ParameterNameDiscoverer parameterNameDiscoverer =
|
||||
|
|
|
@ -6,26 +6,23 @@
|
|||
package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.jdbc;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation;
|
||||
import javax.sql.DataSource;
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@ConditionalOnProperty(name = "otel.instrumentation.jdbc.enabled", matchIfMissing = true)
|
||||
@ConditionalOnEnabledInstrumentation(module = "jdbc")
|
||||
@AutoConfiguration(after = DataSourceAutoConfiguration.class)
|
||||
@ConditionalOnBean({DataSource.class})
|
||||
@Conditional(SdkEnabled.class)
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
public class JdbcInstrumentationAutoconfiguration {
|
||||
public class JdbcInstrumentationAutoConfiguration {
|
||||
|
||||
// For error prone
|
||||
public JdbcInstrumentationAutoconfiguration() {}
|
||||
public JdbcInstrumentationAutoConfiguration() {}
|
||||
|
||||
@Bean
|
||||
// static to avoid "is not eligible for getting processed by all BeanPostProcessors" warning
|
|
@ -7,22 +7,17 @@ package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.ka
|
|||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.instrumentation.kafkaclients.v2_6.KafkaTelemetry;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation;
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.autoconfigure.kafka.DefaultKafkaProducerFactoryCustomizer;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
|
||||
import org.springframework.kafka.core.KafkaTemplate;
|
||||
|
||||
@ConditionalOnBean(OpenTelemetry.class)
|
||||
@ConditionalOnEnabledInstrumentation(module = "kafka")
|
||||
@ConditionalOnClass({KafkaTemplate.class, ConcurrentKafkaListenerContainerFactory.class})
|
||||
@ConditionalOnProperty(name = "otel.instrumentation.kafka.enabled", matchIfMissing = true)
|
||||
@Conditional(SdkEnabled.class)
|
||||
@Configuration
|
||||
public class KafkaInstrumentationAutoConfiguration {
|
||||
|
||||
|
|
|
@ -6,26 +6,19 @@
|
|||
package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.logging;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||
import org.springframework.context.ApplicationListener;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@ConditionalOnBean(OpenTelemetry.class)
|
||||
@Configuration
|
||||
@Conditional(SdkEnabled.class)
|
||||
@SuppressWarnings("OtelPrivateConstructorForUtilityClass")
|
||||
public class OpenTelemetryAppenderAutoConfiguration {
|
||||
|
||||
@ConditionalOnEnabledInstrumentation(module = "log4j-appender")
|
||||
@ConditionalOnClass(org.apache.logging.log4j.core.LoggerContext.class)
|
||||
@ConditionalOnProperty(
|
||||
name = "otel.instrumentation.log4j-appender.enabled",
|
||||
matchIfMissing = true)
|
||||
@Configuration
|
||||
static class Log4jAppenderConfig {
|
||||
|
||||
|
@ -39,10 +32,8 @@ public class OpenTelemetryAppenderAutoConfiguration {
|
|||
}
|
||||
}
|
||||
|
||||
@ConditionalOnEnabledInstrumentation(module = "logback-appender")
|
||||
@ConditionalOnClass(ch.qos.logback.classic.LoggerContext.class)
|
||||
@ConditionalOnProperty(
|
||||
name = "otel.instrumentation.logback-appender.enabled",
|
||||
matchIfMissing = true)
|
||||
@Configuration
|
||||
static class LogbackAppenderConfig {
|
||||
|
||||
|
|
|
@ -9,24 +9,21 @@ import io.micrometer.core.instrument.Clock;
|
|||
import io.micrometer.core.instrument.MeterRegistry;
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.instrumentation.micrometer.v1_5.OpenTelemetryMeterRegistry;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation;
|
||||
import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration;
|
||||
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@ConditionalOnEnabledInstrumentation(module = "micrometer", enabledByDefault = false)
|
||||
@AutoConfigureAfter(MetricsAutoConfiguration.class)
|
||||
@AutoConfigureBefore(CompositeMeterRegistryAutoConfiguration.class)
|
||||
@ConditionalOnBean({Clock.class, OpenTelemetry.class})
|
||||
@ConditionalOnBean(Clock.class)
|
||||
@ConditionalOnClass(MeterRegistry.class)
|
||||
@ConditionalOnProperty(name = "otel.instrumentation.micrometer.enabled")
|
||||
@Conditional(SdkEnabled.class)
|
||||
@Configuration
|
||||
public class MicrometerBridgeAutoConfiguration {
|
||||
|
||||
|
|
|
@ -6,14 +6,11 @@
|
|||
package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation;
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.web.client.RestTemplateCustomizer;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
|
@ -22,10 +19,8 @@ import org.springframework.web.client.RestTemplate;
|
|||
*
|
||||
* <p>Adds Open Telemetry instrumentation to RestTemplate beans after initialization
|
||||
*/
|
||||
@ConditionalOnBean(OpenTelemetry.class)
|
||||
@ConditionalOnEnabledInstrumentation(module = "spring-web")
|
||||
@ConditionalOnClass(RestTemplate.class)
|
||||
@ConditionalOnProperty(name = "otel.instrumentation.spring-web.enabled", matchIfMissing = true)
|
||||
@Conditional(SdkEnabled.class)
|
||||
@Configuration
|
||||
public class SpringWebInstrumentationAutoConfiguration {
|
||||
|
||||
|
|
|
@ -6,14 +6,11 @@
|
|||
package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webflux;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation;
|
||||
import io.opentelemetry.instrumentation.spring.webflux.v5_3.SpringWebfluxTelemetry;
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.reactive.function.client.WebClient;
|
||||
import org.springframework.web.server.WebFilter;
|
||||
|
@ -23,10 +20,8 @@ import org.springframework.web.server.WebFilter;
|
|||
*
|
||||
* <p>Adds Open Telemetry instrumentation to WebClient beans after initialization
|
||||
*/
|
||||
@ConditionalOnBean(OpenTelemetry.class)
|
||||
@ConditionalOnEnabledInstrumentation(module = "spring-webflux")
|
||||
@ConditionalOnClass(WebClient.class)
|
||||
@ConditionalOnProperty(name = "otel.instrumentation.spring-webflux.enabled", matchIfMissing = true)
|
||||
@Conditional(SdkEnabled.class)
|
||||
@Configuration
|
||||
public class SpringWebfluxInstrumentationAutoConfiguration {
|
||||
|
||||
|
|
|
@ -6,22 +6,17 @@
|
|||
package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webmvc;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation;
|
||||
import io.opentelemetry.instrumentation.spring.webmvc.v5_3.SpringWebMvcTelemetry;
|
||||
import javax.servlet.Filter;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.filter.OncePerRequestFilter;
|
||||
import org.springframework.web.servlet.DispatcherServlet;
|
||||
|
||||
@ConditionalOnBean(OpenTelemetry.class)
|
||||
@ConditionalOnEnabledInstrumentation(module = "spring-webmvc")
|
||||
@ConditionalOnClass({Filter.class, OncePerRequestFilter.class, DispatcherServlet.class})
|
||||
@ConditionalOnProperty(name = "otel.instrumentation.spring-webmvc.enabled", matchIfMissing = true)
|
||||
@Conditional(SdkEnabled.class)
|
||||
@Configuration
|
||||
@SuppressWarnings("OtelPrivateConstructorForUtilityClass")
|
||||
public class SpringWebMvc5InstrumentationAutoConfiguration {
|
||||
|
|
|
@ -6,22 +6,17 @@
|
|||
package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webmvc;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
|
||||
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation;
|
||||
import io.opentelemetry.instrumentation.spring.webmvc.v6_0.SpringWebMvcTelemetry;
|
||||
import jakarta.servlet.Filter;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.filter.OncePerRequestFilter;
|
||||
import org.springframework.web.servlet.DispatcherServlet;
|
||||
|
||||
@ConditionalOnBean(OpenTelemetry.class)
|
||||
@ConditionalOnEnabledInstrumentation(module = "spring-webmvc")
|
||||
@ConditionalOnClass({Filter.class, OncePerRequestFilter.class, DispatcherServlet.class})
|
||||
@ConditionalOnProperty(name = "otel.instrumentation.spring-webmvc.enabled", matchIfMissing = true)
|
||||
@Conditional(SdkEnabled.class)
|
||||
@Configuration
|
||||
@SuppressWarnings("OtelPrivateConstructorForUtilityClass")
|
||||
public class SpringWebMvc6InstrumentationAutoConfiguration {
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.instrumentation.spring.autoconfigure.internal;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
|
||||
/**
|
||||
* This class is internal and is hence not for public use. Its APIs are unstable and can change at
|
||||
* any time.
|
||||
*/
|
||||
@Target({ElementType.TYPE})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@ConditionalOnBean(OpenTelemetry.class)
|
||||
@Conditional({SdkEnabled.class, InstrumentationPropertyEnabled.class})
|
||||
public @interface ConditionalOnEnabledInstrumentation {
|
||||
String module();
|
||||
|
||||
boolean enabledByDefault() default true;
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.instrumentation.spring.autoconfigure.internal;
|
||||
|
||||
import java.util.Map;
|
||||
import org.springframework.context.annotation.Condition;
|
||||
import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
|
||||
/**
|
||||
* This class is internal and is hence not for public use. Its APIs are unstable and can change at
|
||||
* any time.
|
||||
*/
|
||||
public class InstrumentationPropertyEnabled implements Condition {
|
||||
|
||||
@Override
|
||||
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
|
||||
Map<String, Object> attributes =
|
||||
metadata.getAnnotationAttributes(ConditionalOnEnabledInstrumentation.class.getName());
|
||||
|
||||
String name = String.format("otel.instrumentation.%s.enabled", attributes.get("module"));
|
||||
boolean defaultValue = (boolean) attributes.get("enabledByDefault");
|
||||
return context.getEnvironment().getProperty(name, Boolean.class, defaultValue);
|
||||
}
|
||||
}
|
|
@ -3,7 +3,7 @@ io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfigura
|
|||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations.InstrumentationAnnotationsAutoConfiguration,\
|
||||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.kafka.KafkaInstrumentationAutoConfiguration,\
|
||||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.logging.OpenTelemetryAppenderAutoConfiguration,\
|
||||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.jdbc.JdbcInstrumentationAutoconfiguration,\
|
||||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.jdbc.JdbcInstrumentationAutoConfiguration,\
|
||||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.micrometer.MicrometerBridgeAutoConfiguration,\
|
||||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web.SpringWebInstrumentationAutoConfiguration,\
|
||||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webflux.SpringWebfluxInstrumentationAutoConfiguration,\
|
||||
|
|
|
@ -2,7 +2,7 @@ io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfigura
|
|||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations.InstrumentationAnnotationsAutoConfiguration
|
||||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.kafka.KafkaInstrumentationAutoConfiguration
|
||||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.logging.OpenTelemetryAppenderAutoConfiguration
|
||||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.jdbc.JdbcInstrumentationAutoconfiguration
|
||||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.jdbc.JdbcInstrumentationAutoConfiguration
|
||||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.micrometer.MicrometerBridgeAutoConfiguration
|
||||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web.SpringWebInstrumentationAutoConfiguration
|
||||
io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webflux.SpringWebfluxInstrumentationAutoConfiguration
|
||||
|
|
Loading…
Reference in New Issue