Skip to content

Commit 717d1d2

Browse files
committed
Create spring-boot-tracing module
1 parent 7c2b625 commit 717d1d2

File tree

91 files changed

+240
-346
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+240
-346
lines changed

settings.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ include "spring-boot-project:spring-boot-tools:spring-boot-maven-plugin"
150150
include "spring-boot-project:spring-boot-tools:spring-boot-properties-migrator"
151151
include "spring-boot-project:spring-boot-tools:spring-boot-test-support"
152152
include "spring-boot-project:spring-boot-tools:spring-boot-test-support-docker"
153+
include "spring-boot-project:spring-boot-tracing"
153154
include "spring-boot-project:spring-boot-tx"
154155
include "spring-boot-project:spring-boot-undertow"
155156
include "spring-boot-project:spring-boot-validation"

spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,7 @@ dependencies {
5858
optional("io.lettuce:lettuce-core")
5959
optional("io.micrometer:micrometer-jakarta9")
6060
optional("io.micrometer:micrometer-observation")
61-
optional("io.micrometer:micrometer-tracing")
62-
optional("io.micrometer:micrometer-tracing-bridge-brave")
63-
optional("io.micrometer:micrometer-tracing-bridge-otel")
64-
optional("io.zipkin.reporter2:zipkin-reporter-brave")
65-
optional("io.opentelemetry:opentelemetry-exporter-zipkin")
66-
optional("io.opentelemetry:opentelemetry-exporter-otlp")
6761
optional("io.projectreactor.netty:reactor-netty-http")
68-
optional("io.prometheus:prometheus-metrics-tracer-common")
6962
optional("jakarta.persistence:jakarta.persistence-api")
7063
optional("jakarta.servlet:jakarta.servlet-api")
7164
optional("org.apache.activemq:activemq-broker")
@@ -106,10 +99,7 @@ dependencies {
10699
testImplementation(testFixtures(project(":spring-boot-project:spring-boot-web-server")))
107100
testImplementation("com.squareup.okhttp3:mockwebserver")
108101
testImplementation("io.micrometer:micrometer-observation-test")
109-
testImplementation("io.micrometer:micrometer-registry-prometheus")
110-
testImplementation("io.opentelemetry:opentelemetry-exporter-common")
111102
testImplementation("io.projectreactor:reactor-test")
112-
testImplementation("io.prometheus:prometheus-metrics-exposition-formats")
113103
testImplementation("jakarta.xml.bind:jakarta.xml.bind-api")
114104
testImplementation("org.apache.activemq:artemis-jakarta-client")
115105
testImplementation("org.apache.activemq:artemis-jakarta-server")
@@ -124,7 +114,6 @@ dependencies {
124114
testImplementation("org.springframework.security:spring-security-test")
125115
testImplementation("org.yaml:snakeyaml")
126116

127-
testRuntimeOnly("io.grpc:grpc-api:1.72.0")
128117
testRuntimeOnly("jakarta.management.j2ee:jakarta.management.j2ee-api")
129118
testRuntimeOnly("jakarta.transaction:jakarta.transaction-api")
130119
testRuntimeOnly("org.opensaml:opensaml-core:4.0.1")

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/OpenTelemetryAutoConfiguration.java

Lines changed: 0 additions & 33 deletions
This file was deleted.

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

Lines changed: 0 additions & 33 deletions
This file was deleted.

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/additional-spring-configuration-metadata.json

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -7,43 +7,13 @@
77
"description": "Whether to enable SSL certificate health check.",
88
"defaultValue": true
99
},
10-
{
11-
"name": "management.otlp.tracing.export.enabled",
12-
"type": "java.lang.Boolean",
13-
"description": "Whether auto-configuration of tracing is enabled to export OTLP traces."
14-
},
1510
{
1611
"name": "management.promethus.metrics.export.pushgateway.base-url",
1712
"type": "java.lang.String",
1813
"deprecation": {
1914
"level": "error",
2015
"replacement": "management.prometheus.metrics.export.pushgateway.address"
2116
}
22-
},
23-
{
24-
"name": "management.tracing.enabled",
25-
"type": "java.lang.Boolean",
26-
"description": "Whether auto-configuration of tracing is enabled to export and propagate traces.",
27-
"defaultValue": true
28-
},
29-
{
30-
"name": "management.tracing.propagation.consume",
31-
"defaultValue": [
32-
"W3C",
33-
"B3",
34-
"B3_MULTI"
35-
]
36-
},
37-
{
38-
"name": "management.tracing.propagation.produce",
39-
"defaultValue": [
40-
"W3C"
41-
]
42-
},
43-
{
44-
"name": "management.zipkin.tracing.export.enabled",
45-
"type": "java.lang.Boolean",
46-
"description": "Whether auto-configuration of tracing is enabled to export Zipkin traces."
4717
}
4818
]
4919
}

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/services/org.junit.platform.launcher.TestExecutionListener

Lines changed: 0 additions & 1 deletion
This file was deleted.

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring.factories

Lines changed: 0 additions & 7 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,2 @@
11
org.springframework.boot.actuate.autoconfigure.security.reactive.ReactiveManagementWebSecurityAutoConfiguration
22
org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration
3-
org.springframework.boot.actuate.autoconfigure.tracing.BraveAutoConfiguration
4-
org.springframework.boot.actuate.autoconfigure.tracing.MicrometerTracingAutoConfiguration
5-
org.springframework.boot.actuate.autoconfigure.tracing.NoopTracerAutoConfiguration
6-
org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryTracingAutoConfiguration
7-
org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingAutoConfiguration
8-
org.springframework.boot.actuate.autoconfigure.tracing.prometheus.PrometheusExemplarsAutoConfiguration
9-
org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinTracingAutoConfiguration

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

Lines changed: 0 additions & 2 deletions
This file was deleted.

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebEndpointsAutoConfigurationIntegrationTests.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
import org.junit.jupiter.api.Test;
2020

2121
import org.springframework.boot.SpringBootConfiguration;
22-
import org.springframework.boot.actuate.autoconfigure.tracing.BraveAutoConfiguration;
23-
import org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryTracingAutoConfiguration;
2422
import org.springframework.boot.actuate.health.HealthEndpointWebExtension;
2523
import org.springframework.boot.actuate.health.ReactiveHealthEndpointWebExtension;
2624
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -57,18 +55,17 @@ void healthEndpointReactiveWebExtensionIsAutoConfigured() {
5755
private WebApplicationContextRunner servletWebRunner() {
5856
return new WebApplicationContextRunner()
5957
.withConfiguration(UserConfigurations.of(WebEndpointTestApplication.class))
60-
.withPropertyValues("management.tracing.enabled=false", "management.defaults.metrics.export.enabled=false");
58+
.withPropertyValues("management.defaults.metrics.export.enabled=false");
6159
}
6260

6361
private ReactiveWebApplicationContextRunner reactiveWebRunner() {
6462
return new ReactiveWebApplicationContextRunner()
6563
.withConfiguration(UserConfigurations.of(WebEndpointTestApplication.class))
66-
.withPropertyValues("management.tracing.enabled=false", "management.defaults.metrics.export.enabled=false");
64+
.withPropertyValues("management.defaults.metrics.export.enabled=false");
6765
}
6866

6967
@EnableAutoConfiguration(exclude = { CassandraAutoConfiguration.class, CassandraDataAutoConfiguration.class,
70-
RepositoryRestMvcAutoConfiguration.class, BraveAutoConfiguration.class,
71-
OpenTelemetryTracingAutoConfiguration.class })
68+
RepositoryRestMvcAutoConfiguration.class })
7269
@SpringBootConfiguration
7370
static class WebEndpointTestApplication {
7471

spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinAutoConfigurationIntegrationTests.java

Lines changed: 0 additions & 69 deletions
This file was deleted.

spring-boot-project/spring-boot-dependencies/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2127,6 +2127,7 @@ bom {
21272127
"spring-boot-testcontainers-all",
21282128
"spring-boot-thymeleaf",
21292129
"spring-boot-tomcat",
2130+
"spring-boot-tracing",
21302131
"spring-boot-tx",
21312132
"spring-boot-undertow",
21322133
"spring-boot-validation",

spring-boot-project/spring-boot-docker-compose-all/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ dependencies {
5555
optional(project(":spring-boot-project:spring-boot-opentelemetry"))
5656
optional(project(":spring-boot-project:spring-boot-pulsar"))
5757
optional(project(":spring-boot-project:spring-boot-r2dbc"))
58+
optional(project(":spring-boot-project:spring-boot-tracing"))
5859
optional(project(":spring-boot-project:spring-boot-zipkin"))
5960
optional("com.hazelcast:hazelcast")
6061
optional("org.mongodb:mongodb-driver-core")

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

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

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

19-
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingConnectionDetails;
20-
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.Transport;
2119
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2220
import org.springframework.boot.testsupport.container.TestImage;
21+
import org.springframework.boot.tracing.autoconfigure.otlp.OtlpTracingConnectionDetails;
22+
import org.springframework.boot.tracing.autoconfigure.otlp.Transport;
2323

2424
import static org.assertj.core.api.Assertions.assertThat;
2525

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

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

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

19-
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingConnectionDetails;
20-
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.Transport;
2119
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2220
import org.springframework.boot.testsupport.container.TestImage;
21+
import org.springframework.boot.tracing.autoconfigure.otlp.OtlpTracingConnectionDetails;
22+
import org.springframework.boot.tracing.autoconfigure.otlp.Transport;
2323

2424
import static org.assertj.core.api.Assertions.assertThat;
2525

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

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

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

19-
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingConnectionDetails;
20-
import org.springframework.boot.actuate.autoconfigure.tracing.otlp.Transport;
2119
import org.springframework.boot.docker.compose.core.RunningService;
2220
import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionDetailsFactory;
2321
import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionSource;
22+
import org.springframework.boot.tracing.autoconfigure.otlp.OtlpTracingConnectionDetails;
23+
import org.springframework.boot.tracing.autoconfigure.otlp.Transport;
2424

2525
/**
2626
* {@link DockerComposeConnectionDetailsFactory} to create
@@ -41,7 +41,7 @@ class OpenTelemetryTracingDockerComposeConnectionDetailsFactory
4141

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

4747
@Override

spring-boot-project/spring-boot-docs/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ dependencies {
135135
autoConfiguration(project(path: ":spring-boot-project:spring-boot-testcontainers", configuration: "autoConfigurationMetadata"))
136136
autoConfiguration(project(path: ":spring-boot-project:spring-boot-thymeleaf", configuration: "autoConfigurationMetadata"))
137137
autoConfiguration(project(path: ":spring-boot-project:spring-boot-tomcat", configuration: "autoConfigurationMetadata"))
138+
autoConfiguration(project(path: ":spring-boot-project:spring-boot-tracing", configuration: "autoConfigurationMetadata"))
138139
autoConfiguration(project(path: ":spring-boot-project:spring-boot-tx", configuration: "autoConfigurationMetadata"))
139140
autoConfiguration(project(path: ":spring-boot-project:spring-boot-undertow", configuration: "autoConfigurationMetadata"))
140141
autoConfiguration(project(path: ":spring-boot-project:spring-boot-validation", configuration: "autoConfigurationMetadata"))
@@ -222,6 +223,7 @@ dependencies {
222223
configurationProperties(project(path: ":spring-boot-project:spring-boot-testcontainers", configuration: "configurationPropertiesMetadata"))
223224
configurationProperties(project(path: ":spring-boot-project:spring-boot-thymeleaf", configuration: "configurationPropertiesMetadata"))
224225
configurationProperties(project(path: ":spring-boot-project:spring-boot-tomcat", configuration: "configurationPropertiesMetadata"))
226+
configurationProperties(project(path: ":spring-boot-project:spring-boot-tracing", configuration: "configurationPropertiesMetadata"))
225227
configurationProperties(project(path: ":spring-boot-project:spring-boot-tx", configuration: "configurationPropertiesMetadata"))
226228
configurationProperties(project(path: ":spring-boot-project:spring-boot-undertow", configuration: "configurationPropertiesMetadata"))
227229
configurationProperties(project(path: ":spring-boot-project:spring-boot-web-server", configuration: "configurationPropertiesMetadata"))

spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/actuator/tracing.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ Tracing with OpenTelemetry and reporting using OTLP requires the following depen
138138

139139
Use the `management.otlp.tracing.*` configuration properties to configure reporting using OTLP.
140140

141-
NOTE: If you need to apply advanced customizations to OTLP span exporters, consider registering javadoc:org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpHttpSpanExporterBuilderCustomizer[] or javadoc:org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpGrpcSpanExporterBuilderCustomizer[] beans.
141+
NOTE: If you need to apply advanced customizations to OTLP span exporters, consider registering javadoc:org.springframework.boot.tracing.autoconfigure.otlp.OtlpHttpSpanExporterBuilderCustomizer[] or javadoc:org.springframework.boot.tracing.autoconfigure.otlp.OtlpGrpcSpanExporterBuilderCustomizer[] beans.
142142
These will be invoked before the creation of the `OtlpHttpSpanExporter` or `OtlpGrpcSpanExporter`.
143143
The customizers take precedence over anything applied by the auto-configuration.
144144

spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/features/dev-services.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ The following service connections are currently supported:
116116
| javadoc:org.springframework.boot.metrics.autoconfigure.export.otlp.OtlpMetricsConnectionDetails[]
117117
| Containers named "otel/opentelemetry-collector-contrib", "grafana/otel-lgtm"
118118

119-
| javadoc:org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingConnectionDetails[]
119+
| javadoc:org.springframework.boot.tracing.autoconfigure.otlp.OtlpTracingConnectionDetails[]
120120
| Containers named "otel/opentelemetry-collector-contrib", "grafana/otel-lgtm"
121121

122122
| javadoc:org.springframework.boot.autoconfigure.pulsar.PulsarConnectionDetails[]
@@ -131,7 +131,7 @@ The following service connections are currently supported:
131131
| javadoc:org.springframework.boot.data.redis.autoconfigure.RedisConnectionDetails[]
132132
| Containers named "redis", "bitnami/redis", "redis/redis-stack" or "redis/redis-stack-server"
133133

134-
| javadoc:org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinConnectionDetails[]
134+
| javadoc:org.springframework.boot.tracing.autoconfigure.zipkin.ZipkinConnectionDetails[]
135135
| Containers named "openzipkin/zipkin".
136136
|===
137137

0 commit comments

Comments
 (0)