Skip to content

Commit 40bb814

Browse files
committed
Rename OtlpAutoConfiguration to OtlpTracingAutoConfiguration
Closes gh-42529
1 parent fdcc8d9 commit 40bb814

File tree

13 files changed

+84
-49
lines changed

13 files changed

+84
-49
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/otlp/OtlpAutoConfiguration.java

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,40 +16,18 @@
1616

1717
package org.springframework.boot.actuate.autoconfigure.tracing.otlp;
1818

19-
import io.micrometer.tracing.otel.bridge.OtelTracer;
20-
import io.opentelemetry.api.OpenTelemetry;
21-
import io.opentelemetry.exporter.otlp.http.trace.OtlpHttpSpanExporter;
22-
import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter;
23-
import io.opentelemetry.sdk.trace.SdkTracerProvider;
24-
25-
import org.springframework.boot.autoconfigure.AutoConfiguration;
2619
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
27-
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
28-
import org.springframework.boot.context.properties.EnableConfigurationProperties;
29-
import org.springframework.context.annotation.Import;
3020

3121
/**
32-
* {@link EnableAutoConfiguration Auto-configuration} for OTLP. Brave does not support
33-
* OTLP, so we only configure it for OpenTelemetry. OTLP defines three transports that are
34-
* supported: gRPC (/protobuf), HTTP/protobuf, HTTP/JSON. From these transports HTTP/JSON
35-
* is not supported by the OTel Java SDK, and it seems there are no plans supporting it in
36-
* the future, see: <a href=
37-
* "https://github.com/open-telemetry/opentelemetry-java/issues/3651">opentelemetry-java#3651</a>.
38-
* Because this class configures components from the OTel SDK, it can't support HTTP/JSON.
39-
* By default, we auto-configure HTTP/protobuf. If you want to use gRPC, you need to set
40-
* {@code management.otlp.tracing.transport=grpc}. If you define a
41-
* {@link OtlpHttpSpanExporter} or {@link OtlpGrpcSpanExporter}, this auto-configuration
42-
* will back off.
22+
* {@link EnableAutoConfiguration Auto-configuration} for exporting traces with OTLP.
4323
*
4424
* @author Jonatan Ivanov
4525
* @author Moritz Halbritter
4626
* @author Eddú Meléndez
4727
* @since 3.1.0
28+
* @deprecated since 3.4.0 in favor of {@link OtlpTracingAutoConfiguration}
4829
*/
49-
@AutoConfiguration
50-
@ConditionalOnClass({ OtelTracer.class, SdkTracerProvider.class, OpenTelemetry.class, OtlpHttpSpanExporter.class })
51-
@EnableConfigurationProperties(OtlpProperties.class)
52-
@Import({ OtlpTracingConfigurations.ConnectionDetails.class, OtlpTracingConfigurations.Exporters.class })
30+
@Deprecated(since = "3.4.0", forRemoval = true)
5331
public class OtlpAutoConfiguration {
5432

5533
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/*
2+
* Copyright 2012-2024 the original author or authors.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package org.springframework.boot.actuate.autoconfigure.tracing.otlp;
18+
19+
import io.micrometer.tracing.otel.bridge.OtelTracer;
20+
import io.opentelemetry.api.OpenTelemetry;
21+
import io.opentelemetry.exporter.otlp.http.trace.OtlpHttpSpanExporter;
22+
import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter;
23+
import io.opentelemetry.sdk.trace.SdkTracerProvider;
24+
25+
import org.springframework.boot.autoconfigure.AutoConfiguration;
26+
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
27+
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
28+
import org.springframework.boot.context.properties.EnableConfigurationProperties;
29+
import org.springframework.context.annotation.Import;
30+
31+
/**
32+
* {@link EnableAutoConfiguration Auto-configuration} for exporting traces with OTLP.
33+
* Brave does not support OTLP, so we only configure it for OpenTelemetry. OTLP defines
34+
* three transports that are supported: gRPC (/protobuf), HTTP/protobuf, HTTP/JSON. From
35+
* these transports HTTP/JSON is not supported by the OTel Java SDK, and it seems there
36+
* are no plans supporting it in the future, see: <a href=
37+
* "https://github.com/open-telemetry/opentelemetry-java/issues/3651">opentelemetry-java#3651</a>.
38+
* Because this class configures components from the OTel SDK, it can't support HTTP/JSON.
39+
* By default, we auto-configure HTTP/protobuf. If you want to use gRPC, you need to set
40+
* {@code management.otlp.tracing.transport=grpc}. If you define a
41+
* {@link OtlpHttpSpanExporter} or {@link OtlpGrpcSpanExporter}, this auto-configuration
42+
* will back off.
43+
*
44+
* @author Jonatan Ivanov
45+
* @author Moritz Halbritter
46+
* @author Eddú Meléndez
47+
* @since 3.4.0
48+
*/
49+
@AutoConfiguration
50+
@ConditionalOnClass({ OtelTracer.class, SdkTracerProvider.class, OpenTelemetry.class, OtlpHttpSpanExporter.class })
51+
@EnableConfigurationProperties(OtlpTracingProperties.class)
52+
@Import({ OtlpTracingConfigurations.ConnectionDetails.class, OtlpTracingConfigurations.Exporters.class })
53+
public class OtlpTracingAutoConfiguration {
54+
55+
}

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ org.springframework.boot.actuate.autoconfigure.ldap.LdapHealthContributorAutoCon
3434
org.springframework.boot.actuate.autoconfigure.liquibase.LiquibaseEndpointAutoConfiguration
3535
org.springframework.boot.actuate.autoconfigure.logging.LogFileWebEndpointAutoConfiguration
3636
org.springframework.boot.actuate.autoconfigure.logging.LoggersEndpointAutoConfiguration
37-
org.springframework.boot.actuate.autoconfigure.logging.opentelemetry.OpenTelemetryLoggingAutoConfiguration
38-
org.springframework.boot.actuate.autoconfigure.logging.opentelemetry.otlp.OtlpLoggingAutoConfiguration
37+
org.springframework.boot.actuate.autoconfigure.logging.OpenTelemetryLoggingAutoConfiguration
38+
org.springframework.boot.actuate.autoconfigure.logging.otlp.OtlpLoggingAutoConfiguration
3939
org.springframework.boot.actuate.autoconfigure.mail.MailHealthContributorAutoConfiguration
4040
org.springframework.boot.actuate.autoconfigure.management.HeapDumpWebEndpointAutoConfiguration
4141
org.springframework.boot.actuate.autoconfigure.management.ThreadDumpEndpointAutoConfiguration
@@ -110,7 +110,7 @@ org.springframework.boot.actuate.autoconfigure.tracing.BraveAutoConfiguration
110110
org.springframework.boot.actuate.autoconfigure.tracing.MicrometerTracingAutoConfiguration
111111
org.springframework.boot.actuate.autoconfigure.tracing.NoopTracerAutoConfiguration
112112
org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryTracingAutoConfiguration
113-
org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpAutoConfiguration
113+
org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingAutoConfiguration
114114
org.springframework.boot.actuate.autoconfigure.tracing.prometheus.PrometheusExemplarsAutoConfiguration
115115
org.springframework.boot.actuate.autoconfigure.tracing.prometheus.PrometheusSimpleclientExemplarsAutoConfiguration
116116
org.springframework.boot.actuate.autoconfigure.tracing.wavefront.WavefrontTracingAutoConfiguration
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryAutoConfiguration=org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryTracingAutoConfiguration
2+
org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpAutoConfiguration=org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingAutoConfiguration
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,25 +49,25 @@
4949
import org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration;
5050
import org.springframework.boot.actuate.autoconfigure.opentelemetry.OpenTelemetryAutoConfiguration;
5151
import org.springframework.boot.actuate.autoconfigure.tracing.MicrometerTracingAutoConfiguration;
52-
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpAutoConfigurationIntegrationTests.MockGrpcServer.RecordedGrpcRequest;
52+
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingAutoConfigurationIntegrationTests.MockGrpcServer.RecordedGrpcRequest;
5353
import org.springframework.boot.autoconfigure.AutoConfigurations;
5454
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
5555

5656
import static org.assertj.core.api.Assertions.assertThat;
5757

5858
/**
59-
* Integration tests for {@link OtlpAutoConfiguration}.
59+
* Integration tests for {@link OtlpTracingAutoConfiguration}.
6060
*
6161
* @author Jonatan Ivanov
6262
*/
63-
class OtlpAutoConfigurationIntegrationTests {
63+
class OtlpTracingAutoConfigurationIntegrationTests {
6464

6565
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
6666
.withPropertyValues("management.tracing.sampling.probability=1.0")
6767
.withConfiguration(AutoConfigurations.of(ObservationAutoConfiguration.class,
6868
MicrometerTracingAutoConfiguration.class, OpenTelemetryAutoConfiguration.class,
6969
org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryTracingAutoConfiguration.class,
70-
OtlpAutoConfiguration.class));
70+
OtlpTracingAutoConfiguration.class));
7171

7272
private final MockWebServer mockWebServer = new MockWebServer();
7373

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,16 @@
3232
import static org.assertj.core.api.Assertions.assertThat;
3333

3434
/**
35-
* Tests for {@link OtlpAutoConfiguration}.
35+
* Tests for {@link OtlpTracingAutoConfiguration}.
3636
*
3737
* @author Jonatan Ivanov
3838
* @author Moritz Halbritter
3939
* @author Eddú Meléndez
4040
*/
41-
class OtlpAutoConfigurationTests {
41+
class OtlpTracingAutoConfigurationTests {
4242

4343
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
44-
.withConfiguration(AutoConfigurations.of(OtlpAutoConfiguration.class));
44+
.withConfiguration(AutoConfigurations.of(OtlpTracingAutoConfiguration.class));
4545

4646
private final ApplicationContextRunner tracingDisabledContextRunner = this.contextRunner
4747
.withPropertyValues("management.tracing.enabled=false");

spring-boot-project/spring-boot-docker-compose/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/otlp/GrafanaOpenTelemetryTracingDockerComposeConnectionDetailsFactoryIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
package org.springframework.boot.docker.compose.service.connection.otlp;
1818

19-
import org.springframework.boot.actuate.autoconfigure.opentelemetry.otlp.Transport;
2019
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingConnectionDetails;
20+
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.Transport;
2121
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2222
import org.springframework.boot.testsupport.container.TestImage;
2323

spring-boot-project/spring-boot-docker-compose/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/otlp/OpenTelemetryTracingDockerComposeConnectionDetailsFactoryIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
package org.springframework.boot.docker.compose.service.connection.otlp;
1818

19-
import org.springframework.boot.actuate.autoconfigure.opentelemetry.otlp.Transport;
2019
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingConnectionDetails;
20+
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.Transport;
2121
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2222
import org.springframework.boot.testsupport.container.TestImage;
2323

spring-boot-project/spring-boot-docker-compose/src/main/java/org/springframework/boot/docker/compose/service/connection/otlp/OpenTelemetryTracingDockerComposeConnectionDetailsFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
package org.springframework.boot.docker.compose.service.connection.otlp;
1818

19-
import org.springframework.boot.actuate.autoconfigure.opentelemetry.otlp.Transport;
2019
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingConnectionDetails;
20+
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.Transport;
2121
import org.springframework.boot.docker.compose.core.RunningService;
2222
import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionDetailsFactory;
2323
import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionSource;
@@ -41,7 +41,7 @@ class OpenTelemetryTracingDockerComposeConnectionDetailsFactory
4141

4242
OpenTelemetryTracingDockerComposeConnectionDetailsFactory() {
4343
super(OPENTELEMETRY_IMAGE_NAMES,
44-
"org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpAutoConfiguration");
44+
"org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingAutoConfiguration");
4545
}
4646

4747
@Override

spring-boot-project/spring-boot-testcontainers/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/otlp/GrafanaOpenTelemetryTracingContainerConnectionDetailsFactoryIntegrationTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
import org.testcontainers.junit.jupiter.Testcontainers;
2323

2424
import org.springframework.beans.factory.annotation.Autowired;
25-
import org.springframework.boot.actuate.autoconfigure.opentelemetry.otlp.Transport;
26-
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpAutoConfiguration;
25+
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingAutoConfiguration;
2726
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingConnectionDetails;
27+
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.Transport;
2828
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
2929
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
3030
import org.springframework.boot.testsupport.container.TestImage;
@@ -58,7 +58,7 @@ void connectionCanBeMadeToOpenTelemetryContainer() {
5858
}
5959

6060
@Configuration(proxyBeanMethods = false)
61-
@ImportAutoConfiguration(OtlpAutoConfiguration.class)
61+
@ImportAutoConfiguration(OtlpTracingAutoConfiguration.class)
6262
static class TestConfiguration {
6363

6464
}

0 commit comments

Comments
 (0)