Skip to content

Commit fb79c7c

Browse files
committed
OTel upgrade to 1.31.0
1 parent 7e74835 commit fb79c7c

File tree

38 files changed

+226
-132
lines changed

38 files changed

+226
-132
lines changed

bom/application/pom.xml

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@
3131
<opentracing-jdbc.version>0.2.4</opentracing-jdbc.version>
3232
<opentracing-kafka.version>0.1.15</opentracing-kafka.version>
3333
<opentracing-mongo.version>0.1.5</opentracing-mongo.version>
34-
<opentelemetry.version>1.30.1</opentelemetry.version>
35-
<opentelemetry-alpha.version>1.30.0-alpha</opentelemetry-alpha.version>
34+
<opentelemetry.version>1.31.0</opentelemetry.version>
35+
<opentelemetry-alpha.version>1.31.0-alpha</opentelemetry-alpha.version>
36+
<opentelemetry-semconv.version>1.21.0-alpha</opentelemetry-semconv.version>
3637
<quarkus-http.version>5.0.3.Final</quarkus-http.version>
3738
<micrometer.version>1.11.5</micrometer.version><!-- keep in sync with hdrhistogram -->
3839
<hdrhistogram.version>2.1.12</hdrhistogram.version><!-- keep in sync with micrometer -->
@@ -61,7 +62,7 @@
6162
<smallrye-reactive-streams-operators.version>1.0.13</smallrye-reactive-streams-operators.version>
6263
<smallrye-reactive-types-converter.version>3.0.1</smallrye-reactive-types-converter.version>
6364
<smallrye-mutiny-vertx-binding.version>3.7.2</smallrye-mutiny-vertx-binding.version>
64-
<smallrye-reactive-messaging.version>4.10.1</smallrye-reactive-messaging.version>
65+
<smallrye-reactive-messaging.version>4.11.0</smallrye-reactive-messaging.version>
6566
<smallrye-stork.version>2.4.0</smallrye-stork.version>
6667
<jakarta.activation.version>2.1.2</jakarta.activation.version>
6768
<jakarta.annotation-api.version>2.1.1</jakarta.annotation-api.version>
@@ -6202,6 +6203,23 @@
62026203
<version>${mime4j.version}</version>
62036204
</dependency>
62046205

6206+
<!-- OpenTelemetry libs not in BOM -->
6207+
<dependency>
6208+
<groupId>io.opentelemetry.semconv</groupId>
6209+
<artifactId>opentelemetry-semconv</artifactId>
6210+
<version>${opentelemetry-semconv.version}</version>
6211+
<exclusions>
6212+
<exclusion>
6213+
<groupId>io.opentelemetry</groupId>
6214+
<artifactId>opentelemetry-bom</artifactId>
6215+
</exclusion>
6216+
<exclusion>
6217+
<groupId>io.opentelemetry</groupId>
6218+
<artifactId>opentelemetry-api</artifactId>
6219+
</exclusion>
6220+
</exclusions>
6221+
</dependency>
6222+
62056223
<!-- Relocations -->
62066224
<dependency>
62076225
<groupId>io.quarkus</groupId>

extensions/opentelemetry/deployment/src/main/java/io/quarkus/opentelemetry/deployment/tracing/instrumentation/InstrumentationProcessor.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323
import io.quarkus.opentelemetry.runtime.tracing.intrumentation.InstrumentationRecorder;
2424
import io.quarkus.opentelemetry.runtime.tracing.intrumentation.grpc.GrpcTracingClientInterceptor;
2525
import io.quarkus.opentelemetry.runtime.tracing.intrumentation.grpc.GrpcTracingServerInterceptor;
26-
import io.quarkus.opentelemetry.runtime.tracing.intrumentation.reactivemessaging.ReactiveMessagingTracingDecorator;
26+
import io.quarkus.opentelemetry.runtime.tracing.intrumentation.reactivemessaging.ReactiveMessagingTracingEmitterDecorator;
27+
import io.quarkus.opentelemetry.runtime.tracing.intrumentation.reactivemessaging.ReactiveMessagingTracingIncomingDecorator;
28+
import io.quarkus.opentelemetry.runtime.tracing.intrumentation.reactivemessaging.ReactiveMessagingTracingOutgoingDecorator;
2729
import io.quarkus.opentelemetry.runtime.tracing.intrumentation.restclient.OpenTelemetryClientFilter;
2830
import io.quarkus.opentelemetry.runtime.tracing.intrumentation.resteasy.AttachExceptionHandler;
2931
import io.quarkus.opentelemetry.runtime.tracing.intrumentation.resteasy.OpenTelemetryClassicServerFilter;
@@ -90,7 +92,9 @@ void registerReactiveMessagingMessageDecorator(
9092
Capabilities capabilities,
9193
BuildProducer<AdditionalBeanBuildItem> additionalBeans) {
9294
if (capabilities.isPresent(Capability.SMALLRYE_REACTIVE_MESSAGING)) {
93-
additionalBeans.produce(new AdditionalBeanBuildItem(ReactiveMessagingTracingDecorator.class));
95+
additionalBeans.produce(new AdditionalBeanBuildItem(ReactiveMessagingTracingOutgoingDecorator.class));
96+
additionalBeans.produce(new AdditionalBeanBuildItem(ReactiveMessagingTracingIncomingDecorator.class));
97+
additionalBeans.produce(new AdditionalBeanBuildItem(ReactiveMessagingTracingEmitterDecorator.class));
9498
}
9599
}
96100

extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/OpenTelemetryHttpCDILegacyTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
import io.opentelemetry.extension.annotations.WithSpan;
2626
import io.opentelemetry.sdk.trace.data.SpanData;
27-
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
27+
import io.opentelemetry.semconv.SemanticAttributes;
2828
import io.quarkus.opentelemetry.deployment.common.TestSpanExporter;
2929
import io.quarkus.opentelemetry.deployment.common.TestSpanExporterProvider;
3030
import io.quarkus.opentelemetry.deployment.common.TestUtil;

extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/OpenTelemetryHttpCDITest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
import io.opentelemetry.instrumentation.annotations.WithSpan;
2626
import io.opentelemetry.sdk.trace.data.SpanData;
27-
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
27+
import io.opentelemetry.semconv.SemanticAttributes;
2828
import io.quarkus.opentelemetry.deployment.common.TestSpanExporter;
2929
import io.quarkus.opentelemetry.deployment.common.TestSpanExporterProvider;
3030
import io.quarkus.opentelemetry.deployment.common.TestUtil;

extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/OpenTelemetryReactiveRoutesTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import org.junit.jupiter.api.extension.RegisterExtension;
2020

2121
import io.opentelemetry.sdk.trace.data.SpanData;
22-
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
22+
import io.opentelemetry.semconv.SemanticAttributes;
2323
import io.quarkus.opentelemetry.deployment.common.TestSpanExporter;
2424
import io.quarkus.opentelemetry.deployment.common.TestSpanExporterProvider;
2525
import io.quarkus.opentelemetry.deployment.common.TestUtil;

extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/instrumentation/GraphQLOpenTelemetryTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.quarkus.opentelemetry.deployment.instrumentation;
22

33
import static io.opentelemetry.api.common.AttributeKey.stringKey;
4-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_METHOD;
5-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_ROUTE;
6-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_STATUS_CODE;
4+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_METHOD;
5+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_ROUTE;
6+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_STATUS_CODE;
77
import static io.quarkus.opentelemetry.deployment.common.TestSpanExporter.getSpanByKindAndParentId;
88
import static java.net.HttpURLConnection.HTTP_OK;
99
import static org.junit.jupiter.api.Assertions.assertEquals;

extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/instrumentation/GrpcOpenTelemetryTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
import static io.opentelemetry.api.trace.SpanKind.CLIENT;
55
import static io.opentelemetry.api.trace.SpanKind.INTERNAL;
66
import static io.opentelemetry.api.trace.SpanKind.SERVER;
7-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_HOST_PORT;
8-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_SOCK_HOST_ADDR;
9-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.RPC_GRPC_STATUS_CODE;
10-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.RPC_METHOD;
11-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.RPC_SERVICE;
12-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.RPC_SYSTEM;
7+
import static io.opentelemetry.semconv.SemanticAttributes.NET_HOST_PORT;
8+
import static io.opentelemetry.semconv.SemanticAttributes.NET_SOCK_HOST_ADDR;
9+
import static io.opentelemetry.semconv.SemanticAttributes.RPC_GRPC_STATUS_CODE;
10+
import static io.opentelemetry.semconv.SemanticAttributes.RPC_METHOD;
11+
import static io.opentelemetry.semconv.SemanticAttributes.RPC_SERVICE;
12+
import static io.opentelemetry.semconv.SemanticAttributes.RPC_SYSTEM;
1313
import static io.quarkus.opentelemetry.deployment.common.TestSpanExporter.getSpanByKindAndParentId;
1414
import static io.quarkus.opentelemetry.runtime.config.build.OTelBuildConfig.INSTRUMENTATION_NAME;
1515
import static org.assertj.core.api.Assertions.assertThat;

extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/instrumentation/RestClientOpenTelemetryTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
import static io.opentelemetry.api.trace.SpanKind.CLIENT;
44
import static io.opentelemetry.api.trace.SpanKind.SERVER;
5-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_METHOD;
6-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_ROUTE;
7-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_STATUS_CODE;
8-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_TARGET;
9-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_URL;
10-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_HOST_NAME;
11-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_HOST_PORT;
5+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_METHOD;
6+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_ROUTE;
7+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_STATUS_CODE;
8+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_TARGET;
9+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_URL;
10+
import static io.opentelemetry.semconv.SemanticAttributes.NET_HOST_NAME;
11+
import static io.opentelemetry.semconv.SemanticAttributes.NET_HOST_PORT;
1212
import static io.quarkus.opentelemetry.deployment.common.TestSpanExporter.getSpanByKindAndParentId;
1313
import static java.net.HttpURLConnection.HTTP_OK;
1414
import static org.junit.jupiter.api.Assertions.assertEquals;

extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/instrumentation/VertxClientOpenTelemetryTest.java

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

33
import static io.opentelemetry.api.trace.SpanKind.CLIENT;
44
import static io.opentelemetry.api.trace.SpanKind.SERVER;
5-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_METHOD;
6-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_ROUTE;
7-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_STATUS_CODE;
8-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_TARGET;
9-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_URL;
10-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_HOST_NAME;
11-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_HOST_PORT;
12-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_PEER_NAME;
13-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_PEER_PORT;
5+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_METHOD;
6+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_ROUTE;
7+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_STATUS_CODE;
8+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_TARGET;
9+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_URL;
10+
import static io.opentelemetry.semconv.SemanticAttributes.NET_HOST_NAME;
11+
import static io.opentelemetry.semconv.SemanticAttributes.NET_HOST_PORT;
12+
import static io.opentelemetry.semconv.SemanticAttributes.NET_PEER_NAME;
13+
import static io.opentelemetry.semconv.SemanticAttributes.NET_PEER_PORT;
1414
import static io.quarkus.opentelemetry.deployment.common.TestSpanExporter.getSpanByKindAndParentId;
1515
import static java.net.HttpURLConnection.HTTP_OK;
1616
import static java.util.stream.Collectors.toSet;

extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/instrumentation/VertxOpenTelemetryForwardedTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.quarkus.opentelemetry.deployment.instrumentation;
22

33
import static io.opentelemetry.api.trace.SpanKind.SERVER;
4-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_CLIENT_IP;
4+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_CLIENT_IP;
55
import static io.quarkus.opentelemetry.deployment.common.TestSpanExporter.getSpanByKindAndParentId;
66
import static org.hamcrest.Matchers.is;
77
import static org.junit.jupiter.api.Assertions.assertEquals;

extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/instrumentation/VertxOpenTelemetryTest.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
import static io.opentelemetry.api.common.AttributeKey.stringKey;
44
import static io.opentelemetry.api.trace.SpanKind.INTERNAL;
55
import static io.opentelemetry.api.trace.SpanKind.SERVER;
6-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_CLIENT_IP;
7-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_METHOD;
8-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_ROUTE;
9-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_SCHEME;
10-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_STATUS_CODE;
11-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_TARGET;
12-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_HOST_NAME;
13-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_HOST_PORT;
14-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.USER_AGENT_ORIGINAL;
6+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_CLIENT_IP;
7+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_METHOD;
8+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_ROUTE;
9+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_SCHEME;
10+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_STATUS_CODE;
11+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_TARGET;
12+
import static io.opentelemetry.semconv.SemanticAttributes.NET_HOST_NAME;
13+
import static io.opentelemetry.semconv.SemanticAttributes.NET_HOST_PORT;
14+
import static io.opentelemetry.semconv.SemanticAttributes.USER_AGENT_ORIGINAL;
1515
import static io.quarkus.opentelemetry.deployment.common.TestSpanExporter.getSpanByKindAndParentId;
1616
import static io.restassured.RestAssured.given;
1717
import static io.vertx.core.http.HttpMethod.GET;

extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/instrumentation/VertxOpenTelemetryXForwardedTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.quarkus.opentelemetry.deployment.instrumentation;
22

33
import static io.opentelemetry.api.trace.SpanKind.SERVER;
4-
import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.HTTP_CLIENT_IP;
4+
import static io.opentelemetry.semconv.SemanticAttributes.HTTP_CLIENT_IP;
55
import static io.quarkus.opentelemetry.deployment.common.TestSpanExporter.getSpanByKindAndParentId;
66
import static org.hamcrest.Matchers.is;
77
import static org.junit.jupiter.api.Assertions.assertEquals;

extensions/opentelemetry/runtime/pom.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080
<artifactId>opentelemetry-sdk-extension-autoconfigure-spi</artifactId>
8181
</dependency>
8282
<dependency>
83-
<groupId>io.opentelemetry</groupId>
83+
<groupId>io.opentelemetry.semconv</groupId>
8484
<artifactId>opentelemetry-semconv</artifactId>
8585
</dependency>
8686
<dependency>
@@ -102,6 +102,12 @@
102102
<dependency>
103103
<groupId>io.opentelemetry.instrumentation</groupId>
104104
<artifactId>opentelemetry-instrumentation-api-semconv</artifactId>
105+
<exclusions>
106+
<exclusion>
107+
<groupId>io.opentelemetry.semconv</groupId>
108+
<artifactId>opentelemetry-semconv</artifactId>
109+
</exclusion>
110+
</exclusions>
105111
</dependency>
106112
<dependency>
107113
<groupId>io.opentelemetry</groupId>

extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/build/EndUserSpanProcessorConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ public interface EndUserSpanProcessorConfig {
1515
* Enable the {@link io.quarkus.opentelemetry.runtime.exporter.otlp.EndUserSpanProcessor}.
1616
* <p>
1717
* The {@link io.quarkus.opentelemetry.runtime.exporter.otlp.EndUserSpanProcessor} adds
18-
* the {@link io.opentelemetry.semconv.trace.attributes.SemanticAttributes.ENDUSER_ID}
19-
* and {@link io.opentelemetry.semconv.trace.attributes.SemanticAttributes.ENDUSER_ROLE} to the Span.
18+
* the {@link io.opentelemetry.semconv.SemanticAttributes.ENDUSER_ID}
19+
* and {@link io.opentelemetry.semconv.SemanticAttributes.ENDUSER_ROLE} to the Span.
2020
*/
2121
@WithDefault("false")
2222
Optional<Boolean> enabled();

extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/exporter/otlp/EndUserSpanProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import io.opentelemetry.sdk.trace.ReadWriteSpan;
1212
import io.opentelemetry.sdk.trace.ReadableSpan;
1313
import io.opentelemetry.sdk.trace.SpanProcessor;
14-
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
14+
import io.opentelemetry.semconv.SemanticAttributes;
1515
import io.quarkus.security.identity.SecurityIdentity;
1616

1717
@ApplicationScoped

extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/DropTargetsSampler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import io.opentelemetry.sdk.trace.data.LinkData;
99
import io.opentelemetry.sdk.trace.samplers.Sampler;
1010
import io.opentelemetry.sdk.trace.samplers.SamplingResult;
11-
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
11+
import io.opentelemetry.semconv.SemanticAttributes;
1212

1313
public class DropTargetsSampler implements Sampler {
1414
private final Sampler sampler;

extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/TracerRecorder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import io.opentelemetry.api.common.Attributes;
88
import io.opentelemetry.sdk.resources.Resource;
9-
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
9+
import io.opentelemetry.semconv.ResourceAttributes;
1010
import io.quarkus.arc.runtime.BeanContainer;
1111
import io.quarkus.runtime.annotations.Recorder;
1212

extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/TracerUtil.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.quarkus.opentelemetry.runtime.tracing;
22

3-
import static io.opentelemetry.semconv.resource.attributes.ResourceAttributes.HOST_NAME;
4-
import static io.opentelemetry.semconv.resource.attributes.ResourceAttributes.SERVICE_NAME;
3+
import static io.opentelemetry.semconv.ResourceAttributes.HOST_NAME;
4+
import static io.opentelemetry.semconv.ResourceAttributes.SERVICE_NAME;
55

66
import java.util.List;
77

extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/grpc/GrpcStatusCodeExtractor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import io.opentelemetry.api.common.AttributesBuilder;
55
import io.opentelemetry.context.Context;
66
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
7-
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
7+
import io.opentelemetry.semconv.SemanticAttributes;
88

99
class GrpcStatusCodeExtractor implements AttributesExtractor<GrpcRequest, Status> {
1010
@Override
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package io.quarkus.opentelemetry.runtime.tracing.intrumentation.reactivemessaging;
2+
3+
import static io.quarkus.opentelemetry.runtime.tracing.intrumentation.reactivemessaging.ReactiveMessagingTracingOutgoingDecorator.decorateOutgoing;
4+
5+
import jakarta.enterprise.context.ApplicationScoped;
6+
import jakarta.inject.Inject;
7+
8+
import org.eclipse.microprofile.reactive.messaging.Message;
9+
10+
import io.smallrye.mutiny.Multi;
11+
import io.smallrye.reactive.messaging.ChannelRegistry;
12+
import io.smallrye.reactive.messaging.PublisherDecorator;
13+
14+
/**
15+
* Intercepts outgoing messages from emitters from Reactive Messaging connectors.
16+
* <p>
17+
* For outgoing messages from emitters, if the message doesn't already contain a tracing metadata, it attaches one with the
18+
* current
19+
* OpenTelemetry context.
20+
* Reactive messaging outbound connectors, if tracing is supported, will use that context as parent span to trace outbound
21+
* message transmission.
22+
*/
23+
@ApplicationScoped
24+
public class ReactiveMessagingTracingEmitterDecorator implements PublisherDecorator {
25+
26+
@Override
27+
public int getPriority() {
28+
// Place the decorator before all others including the ContextDecorator which is priority 0
29+
// This is only important for the emitter case
30+
return -1000;
31+
}
32+
33+
@Inject
34+
ChannelRegistry registry;
35+
36+
/**
37+
* Incoming messages
38+
*/
39+
@Override
40+
public Multi<? extends Message<?>> decorate(Multi<? extends Message<?>> publisher,
41+
String channelName, boolean isConnector) {
42+
Multi<? extends Message<?>> multi = publisher;
43+
if (!isConnector && registry.getEmitterNames().contains(channelName)) {
44+
// Emitter is a special case for the emitter publisher
45+
multi = decorateOutgoing(multi);
46+
}
47+
return multi;
48+
}
49+
50+
}

0 commit comments

Comments
 (0)