Skip to content

Commit 79e0bf1

Browse files
Bumped OTel to 0.11.0; fixes gh-1787
1 parent 16bf4d6 commit 79e0bf1

File tree

17 files changed

+108
-59
lines changed

17 files changed

+108
-59
lines changed

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@
7373
<spring-cloud-openfeign.version>3.0.0-SNAPSHOT</spring-cloud-openfeign.version>
7474
<brave.version>5.13.2</brave.version>
7575
<opentracing.version>0.32.0</opentracing.version>
76-
<opentelemetry.version>0.10.0</opentelemetry.version>
76+
<opentelemetry.version>0.11.0</opentelemetry.version>
7777
<!-- From maven local -->
78-
<opentelemetry-instrumentation.version>0.10.1</opentelemetry-instrumentation.version>
78+
<opentelemetry-instrumentation.version>0.11.0</opentelemetry-instrumentation.version>
7979
<spring-security-boot-autoconfigure.version>2.3.4.RELEASE</spring-security-boot-autoconfigure.version>
8080
<disable.nohttp.checks>false</disable.nohttp.checks>
8181
<okhttp.version>4.9.0</okhttp.version>

spring-cloud-sleuth-api/src/main/java/org/springframework/cloud/sleuth/BaggageInScope.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,12 @@ public interface BaggageInScope extends Closeable {
6868
*/
6969
BaggageInScope set(TraceContext traceContext, String value);
7070

71+
/**
72+
* Sets the current baggage in scope.
73+
* @return this in scope
74+
*/
75+
BaggageInScope makeCurrent();
76+
7177
@Override
7278
void close();
7379

spring-cloud-sleuth-autoconfigure/pom.xml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -351,17 +351,6 @@
351351
</exclusion>
352352
</exclusions>
353353
</dependency>
354-
<dependency>
355-
<groupId>io.opentelemetry</groupId>
356-
<artifactId>opentelemetry-extension-auto-annotations</artifactId>
357-
<optional>true</optional>
358-
<exclusions>
359-
<exclusion>
360-
<groupId>io.opentelemetry</groupId>
361-
<artifactId>*</artifactId>
362-
</exclusion>
363-
</exclusions>
364-
</dependency>
365354
<dependency>
366355
<groupId>io.opentelemetry</groupId>
367356
<artifactId>opentelemetry-exporter-logging</artifactId>

spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/otel/OtelAutoConfiguration.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,18 @@
2222

2323
import io.opentelemetry.api.OpenTelemetry;
2424
import io.opentelemetry.api.metrics.MeterProvider;
25-
import io.opentelemetry.api.metrics.spi.MeterProviderFactory;
2625
import io.opentelemetry.api.trace.Tracer;
2726
import io.opentelemetry.api.trace.TracerProvider;
28-
import io.opentelemetry.api.trace.spi.TracerProviderFactory;
27+
import io.opentelemetry.context.propagation.ContextPropagators;
2928
import io.opentelemetry.sdk.trace.SpanProcessor;
3029
import io.opentelemetry.sdk.trace.TracerSdkProvider;
3130
import io.opentelemetry.sdk.trace.config.TraceConfig;
3231
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
3332
import io.opentelemetry.sdk.trace.export.SpanExporter;
3433
import io.opentelemetry.sdk.trace.samplers.Sampler;
3534
import io.opentelemetry.sdk.trace.spi.TracerProviderFactorySdk;
35+
import io.opentelemetry.spi.metrics.MeterProviderFactory;
36+
import io.opentelemetry.spi.trace.TracerProviderFactory;
3637

3738
import org.springframework.beans.factory.ObjectProvider;
3839
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -44,6 +45,7 @@
4445
import org.springframework.cloud.sleuth.autoconfig.SleuthSpanFilterProperties;
4546
import org.springframework.cloud.sleuth.autoconfig.SleuthTracerProperties;
4647
import org.springframework.cloud.sleuth.autoconfig.TraceConfiguration;
48+
import org.springframework.cloud.sleuth.otel.bridge.OtelOpenTelemetry;
4749
import org.springframework.cloud.sleuth.otel.bridge.SpanExporterCustomizer;
4850
import org.springframework.context.annotation.Bean;
4951
import org.springframework.context.annotation.Configuration;
@@ -67,6 +69,17 @@
6769
SleuthAnnotationConfiguration.class })
6870
public class OtelAutoConfiguration {
6971

72+
@Bean
73+
@ConditionalOnMissingBean
74+
OpenTelemetry otel(TracerProviderFactory tracerProviderFactory, MeterProviderFactory meterProviderFactory,
75+
TracerProvider tracerProvider, MeterProvider meterProvider, ContextPropagators contextPropagators) {
76+
OtelOpenTelemetry otelOpenTelemetry = new OtelOpenTelemetry(tracerProviderFactory, meterProviderFactory,
77+
tracerProvider, meterProvider, contextPropagators);
78+
OpenTelemetry.set(otelOpenTelemetry);
79+
OpenTelemetry.setGlobalPropagators(contextPropagators);
80+
return otelOpenTelemetry;
81+
}
82+
7083
@Bean
7184
@ConditionalOnMissingBean
7285
TracerProviderFactory otelTracerProviderFactory() {

spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/otel/OtelBridgeConfiguation.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@
1919
import java.util.regex.Pattern;
2020

2121
import io.opentelemetry.api.OpenTelemetry;
22-
import io.opentelemetry.api.metrics.MeterProvider;
23-
import io.opentelemetry.api.metrics.spi.MeterProviderFactory;
24-
import io.opentelemetry.api.trace.TracerProvider;
25-
import io.opentelemetry.api.trace.spi.TracerProviderFactory;
2622
import io.opentelemetry.context.propagation.ContextPropagators;
2723

2824
import org.springframework.beans.factory.ObjectProvider;
@@ -51,7 +47,6 @@
5147
import org.springframework.cloud.sleuth.otel.bridge.OtelCurrentTraceContext;
5248
import org.springframework.cloud.sleuth.otel.bridge.OtelHttpClientHandler;
5349
import org.springframework.cloud.sleuth.otel.bridge.OtelHttpServerHandler;
54-
import org.springframework.cloud.sleuth.otel.bridge.OtelOpenTelemetry;
5550
import org.springframework.cloud.sleuth.otel.bridge.OtelPropagator;
5651
import org.springframework.cloud.sleuth.otel.bridge.OtelSpanCustomizer;
5752
import org.springframework.cloud.sleuth.otel.bridge.OtelTracer;
@@ -76,14 +71,6 @@
7671
@Import({ OtelLogConfiguration.class, OtelExporterConfiguration.class })
7772
class OtelBridgeConfiguation {
7873

79-
@Bean
80-
@ConditionalOnMissingBean
81-
OpenTelemetry otel(TracerProviderFactory tracerProviderFactory, MeterProviderFactory meterProviderFactory,
82-
TracerProvider tracerProvider, MeterProvider meterProvider, ContextPropagators contextPropagators) {
83-
return new OtelOpenTelemetry(tracerProviderFactory, meterProviderFactory, tracerProvider, meterProvider,
84-
contextPropagators);
85-
}
86-
8774
@Bean
8875
Tracer otelTracerBridge(io.opentelemetry.api.trace.Tracer tracer, ApplicationEventPublisher publisher,
8976
CurrentTraceContext currentTraceContext, SleuthBaggageProperties sleuthBaggageProperties) {

spring-cloud-sleuth-autoconfigure/src/main/java/org/springframework/cloud/sleuth/autoconfig/otel/OtelPropagationConfiguration.java

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,12 @@
1717
package org.springframework.cloud.sleuth.autoconfig.otel;
1818

1919
import java.util.ArrayList;
20+
import java.util.Collections;
2021
import java.util.List;
2122

22-
import io.opentelemetry.api.OpenTelemetry;
23+
import javax.annotation.Nullable;
24+
25+
import io.opentelemetry.context.Context;
2326
import io.opentelemetry.context.propagation.ContextPropagators;
2427
import io.opentelemetry.context.propagation.DefaultContextPropagators;
2528
import io.opentelemetry.context.propagation.TextMapPropagator;
@@ -58,12 +61,30 @@ class OtelPropagationConfiguration {
5861
ContextPropagators otelContextPropagators(ObjectProvider<List<TextMapPropagator>> propagators) {
5962
List<TextMapPropagator> mapPropagators = propagators.getIfAvailable(ArrayList::new);
6063
if (mapPropagators.isEmpty()) {
61-
return OpenTelemetry.getGlobalPropagators();
64+
return noOpContextPropagator();
6265
}
6366
DefaultContextPropagators.Builder builder = DefaultContextPropagators.builder();
6467
mapPropagators.forEach(builder::addTextMapPropagator);
65-
OpenTelemetry.setGlobalPropagators(builder.build());
66-
return OpenTelemetry.getGlobalPropagators();
68+
return builder.build();
69+
}
70+
71+
private ContextPropagators noOpContextPropagator() {
72+
return () -> new TextMapPropagator() {
73+
@Override
74+
public List<String> fields() {
75+
return Collections.emptyList();
76+
}
77+
78+
@Override
79+
public <C> void inject(Context context, @Nullable C carrier, Setter<C> setter) {
80+
81+
}
82+
83+
@Override
84+
public <C> Context extract(Context context, @Nullable C carrier, Getter<C> getter) {
85+
return context;
86+
}
87+
};
6788
}
6889

6990
@Configuration(proxyBeanMethods = false)

spring-cloud-sleuth-autoconfigure/src/test/java/org/springframework/cloud/sleuth/autoconfig/NoOpBaggageInScope.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ public BaggageInScope set(TraceContext traceContext, String value) {
5252
return this;
5353
}
5454

55+
@Override
56+
public BaggageInScope makeCurrent() {
57+
return this;
58+
}
59+
5560
@Override
5661
public void close() {
5762

spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/bridge/BraveBaggageInScope.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,11 @@ public BraveBaggageInScope set(TraceContext traceContext, String value) {
6666
return this;
6767
}
6868

69+
@Override
70+
public BaggageInScope makeCurrent() {
71+
return this;
72+
}
73+
6974
@Override
7075
public void close() {
7176

spring-cloud-sleuth-dependencies/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<brave.version>5.13.2</brave.version>
3535
<brave.opentracing.version>0.37.4</brave.opentracing.version>
3636
<grpc.spring.boot.version>4.2.2</grpc.spring.boot.version>
37-
<opentelemetry.version>0.10.0</opentelemetry.version>
37+
<opentelemetry.version>0.11.0</opentelemetry.version>
3838
</properties>
3939
<dependencyManagement>
4040
<dependencies>

spring-cloud-sleuth-otel/pom.xml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -88,17 +88,6 @@
8888
</exclusion>
8989
</exclusions>
9090
</dependency>
91-
<dependency>
92-
<groupId>io.opentelemetry</groupId>
93-
<artifactId>opentelemetry-extension-auto-annotations</artifactId>
94-
<optional>true</optional>
95-
<exclusions>
96-
<exclusion>
97-
<groupId>io.opentelemetry</groupId>
98-
<artifactId>*</artifactId>
99-
</exclusion>
100-
</exclusions>
101-
</dependency>
10291
<dependency>
10392
<groupId>io.opentelemetry</groupId>
10493
<artifactId>opentelemetry-exporter-logging</artifactId>

0 commit comments

Comments
 (0)