Skip to content

Commit 20e78d1

Browse files
authored
Merge branch 'main' into native-tests-with-github-labels
2 parents d834e10 + c82d74d commit 20e78d1

27 files changed

+104
-15
lines changed

.github/workflows/codeql-daily.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
java-version: 17.0.6
3131

3232
- name: Initialize CodeQL
33-
uses: github/codeql-action/init@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3
33+
uses: github/codeql-action/init@e2e140ad1441662206e8f97754b166877dfa1c73 # v3.24.4
3434
with:
3535
languages: java
3636
# using "latest" helps to keep up with the latest Kotlin support
@@ -43,7 +43,7 @@ jobs:
4343
arguments: assemble -x javadoc --no-build-cache --no-daemon
4444

4545
- name: Perform CodeQL analysis
46-
uses: github/codeql-action/analyze@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3
46+
uses: github/codeql-action/analyze@e2e140ad1441662206e8f97754b166877dfa1c73 # v3.24.4
4747

4848
workflow-notification:
4949
needs:

.github/workflows/scorecard.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,6 @@ jobs:
6464

6565
# Upload the results to GitHub's code scanning dashboard.
6666
- name: "Upload to code-scanning"
67-
uses: github/codeql-action/upload-sarif@379614612a29c9e28f31f39a59013eb8012a51f0 # v3.24.3
67+
uses: github/codeql-action/upload-sarif@e2e140ad1441662206e8f97754b166877dfa1c73 # v3.24.4
6868
with:
6969
sarif_file: results.sarif

benchmark-overhead-jmh/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ plugins {
88
}
99

1010
dependencies {
11-
jmhImplementation("org.springframework.boot:spring-boot-starter-web:3.2.2")
11+
jmhImplementation("org.springframework.boot:spring-boot-starter-web:3.2.3")
1212
}
1313

1414
tasks {

benchmark-overhead/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ dependencies {
1919
implementation(enforcedPlatform("org.junit:junit-bom:5.10.2"))
2020

2121
testImplementation("org.testcontainers:testcontainers:1.19.6")
22-
testImplementation("org.testcontainers:postgresql:1.19.5")
22+
testImplementation("org.testcontainers:postgresql:1.19.6")
2323
testImplementation("org.junit.jupiter:junit-jupiter-api")
2424
testImplementation("org.junit.jupiter:junit-jupiter-params")
2525
testImplementation("com.squareup.okhttp3:okhttp:4.12.0")

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/internal/ExporterConfigEvaluator.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,12 @@ public final class ExporterConfigEvaluator {
1616

1717
private ExporterConfigEvaluator() {}
1818

19+
/**
20+
* Returns whether the exporter is enabled. This method is used for OTLP, logging and zipkin
21+
* exporters.
22+
*/
1923
public static boolean isExporterEnabled(
2024
Environment environment, String exportersKey, String wantExporter, boolean defaultValue) {
21-
2225
String exporter = environment.getProperty(exportersKey);
2326
if (exporter != null) {
2427
return Arrays.asList(exporter.split(",")).contains(wantExporter);

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/logging/LoggingMetricExporterAutoConfiguration.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import io.opentelemetry.exporter.logging.LoggingMetricExporter;
99
import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration;
1010
import io.opentelemetry.instrumentation.spring.autoconfigure.exporters.internal.ExporterConfigEvaluator;
11+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
1112
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
1213
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1314
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -21,7 +22,7 @@
2122
/** Configures {@link LoggingMetricExporter} bean for tracing. */
2223
@Configuration
2324
@AutoConfigureBefore(OpenTelemetryAutoConfiguration.class)
24-
@Conditional(LoggingMetricExporterAutoConfiguration.CustomCondition.class)
25+
@Conditional({LoggingMetricExporterAutoConfiguration.CustomCondition.class, SdkEnabled.class})
2526
@ConditionalOnClass(LoggingMetricExporter.class)
2627
public class LoggingMetricExporterAutoConfiguration {
2728

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/logging/LoggingSpanExporterAutoConfiguration.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import io.opentelemetry.exporter.logging.LoggingSpanExporter;
99
import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration;
1010
import io.opentelemetry.instrumentation.spring.autoconfigure.exporters.internal.ExporterConfigEvaluator;
11+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
1112
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
1213
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1314
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -21,7 +22,7 @@
2122
/** Configures {@link LoggingSpanExporter} bean for tracing. */
2223
@Configuration
2324
@AutoConfigureBefore(OpenTelemetryAutoConfiguration.class)
24-
@Conditional(LoggingSpanExporterAutoConfiguration.CustomCondition.class)
25+
@Conditional({LoggingSpanExporterAutoConfiguration.CustomCondition.class, SdkEnabled.class})
2526
@ConditionalOnClass(LoggingSpanExporter.class)
2627
public class LoggingSpanExporterAutoConfiguration {
2728

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/logging/SystemOutLogRecordExporterAutoConfiguration.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import io.opentelemetry.exporter.logging.SystemOutLogRecordExporter;
99
import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration;
1010
import io.opentelemetry.instrumentation.spring.autoconfigure.exporters.internal.ExporterConfigEvaluator;
11+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
1112
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
1213
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1314
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -21,7 +22,7 @@
2122
/** Configures {@link SystemOutLogRecordExporter} bean for tracing. */
2223
@Configuration
2324
@AutoConfigureBefore(OpenTelemetryAutoConfiguration.class)
24-
@Conditional(SystemOutLogRecordExporterAutoConfiguration.CustomCondition.class)
25+
@Conditional({SystemOutLogRecordExporterAutoConfiguration.CustomCondition.class, SdkEnabled.class})
2526
@ConditionalOnClass(SystemOutLogRecordExporter.class)
2627
public class SystemOutLogRecordExporterAutoConfiguration {
2728

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/otlp/OtlpLogRecordExporterAutoConfiguration.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogRecordExporter;
1111
import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration;
1212
import io.opentelemetry.instrumentation.spring.autoconfigure.exporters.internal.ExporterConfigEvaluator;
13+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
1314
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1415
import io.opentelemetry.sdk.logs.export.LogRecordExporter;
1516
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
@@ -22,7 +23,7 @@
2223
import org.springframework.core.type.AnnotatedTypeMetadata;
2324

2425
@AutoConfigureBefore(OpenTelemetryAutoConfiguration.class)
25-
@Conditional(OtlpLogRecordExporterAutoConfiguration.CustomCondition.class)
26+
@Conditional({OtlpLogRecordExporterAutoConfiguration.CustomCondition.class, SdkEnabled.class})
2627
@ConditionalOnClass(OtlpGrpcLogRecordExporter.class)
2728
public class OtlpLogRecordExporterAutoConfiguration {
2829

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/otlp/OtlpMetricExporterAutoConfiguration.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporter;
1111
import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration;
1212
import io.opentelemetry.instrumentation.spring.autoconfigure.exporters.internal.ExporterConfigEvaluator;
13+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
1314
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1415
import io.opentelemetry.sdk.metrics.export.MetricExporter;
1516
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
@@ -24,7 +25,7 @@
2425

2526
@Configuration
2627
@AutoConfigureBefore(OpenTelemetryAutoConfiguration.class)
27-
@Conditional(OtlpMetricExporterAutoConfiguration.CustomCondition.class)
28+
@Conditional({OtlpMetricExporterAutoConfiguration.CustomCondition.class, SdkEnabled.class})
2829
@ConditionalOnClass(OtlpGrpcMetricExporter.class)
2930
public class OtlpMetricExporterAutoConfiguration {
3031

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/otlp/OtlpSpanExporterAutoConfiguration.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter;
1111
import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration;
1212
import io.opentelemetry.instrumentation.spring.autoconfigure.exporters.internal.ExporterConfigEvaluator;
13+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
1314
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1415
import io.opentelemetry.sdk.trace.export.SpanExporter;
1516
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
@@ -29,7 +30,7 @@
2930
*/
3031
@Configuration
3132
@AutoConfigureBefore(OpenTelemetryAutoConfiguration.class)
32-
@Conditional(OtlpSpanExporterAutoConfiguration.CustomCondition.class)
33+
@Conditional({OtlpSpanExporterAutoConfiguration.CustomCondition.class, SdkEnabled.class})
3334
@ConditionalOnClass(OtlpGrpcSpanExporter.class)
3435
public class OtlpSpanExporterAutoConfiguration {
3536

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/exporters/zipkin/ZipkinSpanExporterAutoConfiguration.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import io.opentelemetry.exporter.zipkin.ZipkinSpanExporterBuilder;
1010
import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration;
1111
import io.opentelemetry.instrumentation.spring.autoconfigure.exporters.internal.ExporterConfigEvaluator;
12+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
1213
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
1314
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1415
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -28,7 +29,7 @@
2829
@Configuration
2930
@AutoConfigureBefore(OpenTelemetryAutoConfiguration.class)
3031
@EnableConfigurationProperties(ZipkinSpanExporterProperties.class)
31-
@Conditional(ZipkinSpanExporterAutoConfiguration.CustomCondition.class)
32+
@Conditional({ZipkinSpanExporterAutoConfiguration.CustomCondition.class, SdkEnabled.class})
3233
@ConditionalOnClass(ZipkinSpanExporter.class)
3334
public class ZipkinSpanExporterAutoConfiguration {
3435

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/InstrumentationAnnotationsAutoConfiguration.java

+3
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@
77

88
import io.opentelemetry.api.OpenTelemetry;
99
import io.opentelemetry.instrumentation.annotations.WithSpan;
10+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
1011
import org.aspectj.lang.annotation.Aspect;
1112
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
1213
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1314
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1415
import org.springframework.context.annotation.Bean;
16+
import org.springframework.context.annotation.Conditional;
1517
import org.springframework.context.annotation.Configuration;
1618
import org.springframework.core.DefaultParameterNameDiscoverer;
1719
import org.springframework.core.ParameterNameDiscoverer;
@@ -20,6 +22,7 @@
2022
@ConditionalOnBean(OpenTelemetry.class)
2123
@ConditionalOnClass(Aspect.class)
2224
@ConditionalOnProperty(name = "otel.instrumentation.annotations.enabled", matchIfMissing = true)
25+
@Conditional(SdkEnabled.class)
2326
@Configuration
2427
public class InstrumentationAnnotationsAutoConfiguration {
2528
private final ParameterNameDiscoverer parameterNameDiscoverer =

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/jdbc/OpenTelemetryJdbcDriverAutoConfiguration.java

+3
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,22 @@
77

88
import io.opentelemetry.instrumentation.jdbc.OpenTelemetryDriver;
99
import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryInjector;
10+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
1011
import org.springframework.beans.factory.config.BeanDefinition;
1112
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
1213
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
1314
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
1415
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1516
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1617
import org.springframework.context.annotation.Bean;
18+
import org.springframework.context.annotation.Conditional;
1719
import org.springframework.context.annotation.Configuration;
1820

1921
@ConditionalOnClass(OpenTelemetryDriver.class)
2022
@ConditionalOnProperty(
2123
name = "spring.datasource.driver-class-name",
2224
havingValue = "io.opentelemetry.instrumentation.jdbc.OpenTelemetryDriver")
25+
@Conditional(SdkEnabled.class)
2326
@Configuration(proxyBeanMethods = false)
2427
@AutoConfigureAfter(
2528
name = "org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration")

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/kafka/KafkaInstrumentationAutoConfiguration.java

+3
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,22 @@
77

88
import io.opentelemetry.api.OpenTelemetry;
99
import io.opentelemetry.instrumentation.kafkaclients.v2_6.KafkaTelemetry;
10+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
1011
import org.springframework.beans.factory.ObjectProvider;
1112
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
1213
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1314
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1415
import org.springframework.boot.autoconfigure.kafka.DefaultKafkaProducerFactoryCustomizer;
1516
import org.springframework.context.annotation.Bean;
17+
import org.springframework.context.annotation.Conditional;
1618
import org.springframework.context.annotation.Configuration;
1719
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
1820
import org.springframework.kafka.core.KafkaTemplate;
1921

2022
@ConditionalOnBean(OpenTelemetry.class)
2123
@ConditionalOnClass({KafkaTemplate.class, ConcurrentKafkaListenerContainerFactory.class})
2224
@ConditionalOnProperty(name = "otel.instrumentation.kafka.enabled", matchIfMissing = true)
25+
@Conditional(SdkEnabled.class)
2326
@Configuration
2427
public class KafkaInstrumentationAutoConfiguration {
2528

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/OpenTelemetryAppenderAutoConfiguration.java

+3
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,19 @@
66
package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.logging;
77

88
import io.opentelemetry.api.OpenTelemetry;
9+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
910
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
1011
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1112
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1213
import org.springframework.boot.context.event.ApplicationReadyEvent;
1314
import org.springframework.context.ApplicationListener;
1415
import org.springframework.context.annotation.Bean;
16+
import org.springframework.context.annotation.Conditional;
1517
import org.springframework.context.annotation.Configuration;
1618

1719
@ConditionalOnBean(OpenTelemetry.class)
1820
@Configuration
21+
@Conditional(SdkEnabled.class)
1922
@SuppressWarnings("OtelPrivateConstructorForUtilityClass")
2023
public class OpenTelemetryAppenderAutoConfiguration {
2124

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/micrometer/MicrometerBridgeAutoConfiguration.java

+3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import io.micrometer.core.instrument.MeterRegistry;
1010
import io.opentelemetry.api.OpenTelemetry;
1111
import io.opentelemetry.instrumentation.micrometer.v1_5.OpenTelemetryMeterRegistry;
12+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
1213
import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration;
1314
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
1415
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
@@ -17,13 +18,15 @@
1718
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1819
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1920
import org.springframework.context.annotation.Bean;
21+
import org.springframework.context.annotation.Conditional;
2022
import org.springframework.context.annotation.Configuration;
2123

2224
@AutoConfigureAfter(MetricsAutoConfiguration.class)
2325
@AutoConfigureBefore(CompositeMeterRegistryAutoConfiguration.class)
2426
@ConditionalOnBean({Clock.class, OpenTelemetry.class})
2527
@ConditionalOnClass(MeterRegistry.class)
2628
@ConditionalOnProperty(name = "otel.instrumentation.micrometer.enabled")
29+
@Conditional(SdkEnabled.class)
2730
@Configuration
2831
public class MicrometerBridgeAutoConfiguration {
2932

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/SpringWebInstrumentationAutoConfiguration.java

+3
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@
66
package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web;
77

88
import io.opentelemetry.api.OpenTelemetry;
9+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
910
import org.springframework.beans.factory.ObjectProvider;
1011
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
1112
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1213
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1314
import org.springframework.context.annotation.Bean;
15+
import org.springframework.context.annotation.Conditional;
1416
import org.springframework.context.annotation.Configuration;
1517
import org.springframework.web.client.RestTemplate;
1618

@@ -22,6 +24,7 @@
2224
@ConditionalOnBean(OpenTelemetry.class)
2325
@ConditionalOnClass(RestTemplate.class)
2426
@ConditionalOnProperty(name = "otel.instrumentation.spring-web.enabled", matchIfMissing = true)
27+
@Conditional(SdkEnabled.class)
2528
@Configuration
2629
public class SpringWebInstrumentationAutoConfiguration {
2730

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfiguration.java

+3
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@
66
package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webflux;
77

88
import io.opentelemetry.api.OpenTelemetry;
9+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
910
import org.springframework.beans.factory.ObjectProvider;
1011
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
1112
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1213
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1314
import org.springframework.context.annotation.Bean;
15+
import org.springframework.context.annotation.Conditional;
1416
import org.springframework.context.annotation.Configuration;
1517
import org.springframework.web.reactive.function.client.WebClient;
1618

@@ -22,6 +24,7 @@
2224
@ConditionalOnBean(OpenTelemetry.class)
2325
@ConditionalOnClass(WebClient.class)
2426
@ConditionalOnProperty(name = "otel.instrumentation.spring-webflux.enabled", matchIfMissing = true)
27+
@Conditional(SdkEnabled.class)
2528
@Configuration
2629
public class SpringWebfluxInstrumentationAutoConfiguration {
2730

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc5InstrumentationAutoConfiguration.java

+3
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,22 @@
66
package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webmvc;
77

88
import io.opentelemetry.api.OpenTelemetry;
9+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
910
import io.opentelemetry.instrumentation.spring.webmvc.v5_3.SpringWebMvcTelemetry;
1011
import javax.servlet.Filter;
1112
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
1213
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1314
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1415
import org.springframework.context.annotation.Bean;
16+
import org.springframework.context.annotation.Conditional;
1517
import org.springframework.context.annotation.Configuration;
1618
import org.springframework.web.filter.OncePerRequestFilter;
1719
import org.springframework.web.servlet.DispatcherServlet;
1820

1921
@ConditionalOnBean(OpenTelemetry.class)
2022
@ConditionalOnClass({Filter.class, OncePerRequestFilter.class, DispatcherServlet.class})
2123
@ConditionalOnProperty(name = "otel.instrumentation.spring-webmvc.enabled", matchIfMissing = true)
24+
@Conditional(SdkEnabled.class)
2225
@Configuration
2326
@SuppressWarnings("OtelPrivateConstructorForUtilityClass")
2427
public class SpringWebMvc5InstrumentationAutoConfiguration {

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc6InstrumentationAutoConfiguration.java

+3
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,22 @@
66
package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webmvc;
77

88
import io.opentelemetry.api.OpenTelemetry;
9+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
910
import io.opentelemetry.instrumentation.spring.webmvc.v6_0.SpringWebMvcTelemetry;
1011
import jakarta.servlet.Filter;
1112
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
1213
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1314
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1415
import org.springframework.context.annotation.Bean;
16+
import org.springframework.context.annotation.Conditional;
1517
import org.springframework.context.annotation.Configuration;
1618
import org.springframework.web.filter.OncePerRequestFilter;
1719
import org.springframework.web.servlet.DispatcherServlet;
1820

1921
@ConditionalOnBean(OpenTelemetry.class)
2022
@ConditionalOnClass({Filter.class, OncePerRequestFilter.class, DispatcherServlet.class})
2123
@ConditionalOnProperty(name = "otel.instrumentation.spring-webmvc.enabled", matchIfMissing = true)
24+
@Conditional(SdkEnabled.class)
2225
@Configuration
2326
@SuppressWarnings("OtelPrivateConstructorForUtilityClass")
2427
public class SpringWebMvc6InstrumentationAutoConfiguration {

0 commit comments

Comments
 (0)