diff --git a/pom.xml b/pom.xml
index b410f33..370a5d8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
io.quarkiverse
quarkiverse-parent
- 12
+ 15
@@ -34,12 +34,14 @@
UTF-8
UTF-8
- 3.5.1
+ 3.5.0
1.30.1
1.30.0-alpha
- 0.25.2
- 2.25.0
+
+ 0.23.0
+
+ 2.23.0
3.24.2
1.18.0
diff --git a/quarkus-opentelemetry-exporter-common/src/main/java/io/quarkiverse/opentelemetry/exporter/common/runtime/RemovableLateBoundSpanProcessor.java b/quarkus-opentelemetry-exporter-common/src/main/java/io/quarkiverse/opentelemetry/exporter/common/runtime/RemovableLateBoundSpanProcessor.java
new file mode 100644
index 0000000..525ffe8
--- /dev/null
+++ b/quarkus-opentelemetry-exporter-common/src/main/java/io/quarkiverse/opentelemetry/exporter/common/runtime/RemovableLateBoundSpanProcessor.java
@@ -0,0 +1,14 @@
+package io.quarkiverse.opentelemetry.exporter.common.runtime;
+
+/**
+ * The only point in having this class is to allow {@link TracerProviderCustomizer}
+ * to easily ignore the configured {@link LateBoundSpanProcessor}.
+ */
+public final class RemovableLateBoundSpanProcessor extends LateBoundSpanProcessor {
+
+ public static final RemovableLateBoundSpanProcessor INSTANCE = new RemovableLateBoundSpanProcessor();
+
+ private RemovableLateBoundSpanProcessor() {
+ super(null);
+ }
+}
diff --git a/quarkus-opentelemetry-exporter-gcp/integration-tests/src/main/resources/application.properties b/quarkus-opentelemetry-exporter-gcp/integration-tests/src/main/resources/application.properties
index 14ef0b9..84ce6d9 100644
--- a/quarkus-opentelemetry-exporter-gcp/integration-tests/src/main/resources/application.properties
+++ b/quarkus-opentelemetry-exporter-gcp/integration-tests/src/main/resources/application.properties
@@ -2,8 +2,6 @@
quarkus.application.name=opentelemetry-exporter-gcp-integration-test
quarkus.application.version=999-SNAPSHOT
-quarkus.opentelemetry.tracer.exporter.otlp.enabled=false
-
simple/mp-rest/url=${test.url}
quarkus.generate-code.grpc.scan-for-imports=all
\ No newline at end of file
diff --git a/quarkus-opentelemetry-exporter-gcp/runtime/src/main/java/io/quarkiverse/opentelemetry/exporter/gcp/runtime/graal/Substitutions.java b/quarkus-opentelemetry-exporter-gcp/runtime/src/main/java/io/quarkiverse/opentelemetry/exporter/gcp/runtime/graal/Substitutions.java
index 8fba930..492df2f 100644
--- a/quarkus-opentelemetry-exporter-gcp/runtime/src/main/java/io/quarkiverse/opentelemetry/exporter/gcp/runtime/graal/Substitutions.java
+++ b/quarkus-opentelemetry-exporter-gcp/runtime/src/main/java/io/quarkiverse/opentelemetry/exporter/gcp/runtime/graal/Substitutions.java
@@ -28,6 +28,7 @@
import io.grpc.MethodDescriptor;
import io.grpc.netty.shaded.io.netty.util.internal.logging.InternalLogLevel;
import io.grpc.netty.shaded.io.netty.util.internal.logging.InternalLogger;
+import io.grpc.netty.shaded.io.netty.util.internal.logging.InternalLoggerFactory;
/**
* Cut out unsupported and optional features that are only present in grpc-alts.
@@ -157,6 +158,16 @@ public ClientCall interceptCall(MethodDescriptor clazz) {
return new InternalLogger() {
diff --git a/quarkus-opentelemetry-exporter-jaeger/deployment/src/main/java/io/quarkiverse/opentelemetry/exporter/jaeger/deployment/JaegerExporterProcessor.java b/quarkus-opentelemetry-exporter-jaeger/deployment/src/main/java/io/quarkiverse/opentelemetry/exporter/jaeger/deployment/JaegerExporterProcessor.java
index 1b71117..d34419f 100644
--- a/quarkus-opentelemetry-exporter-jaeger/deployment/src/main/java/io/quarkiverse/opentelemetry/exporter/jaeger/deployment/JaegerExporterProcessor.java
+++ b/quarkus-opentelemetry-exporter-jaeger/deployment/src/main/java/io/quarkiverse/opentelemetry/exporter/jaeger/deployment/JaegerExporterProcessor.java
@@ -10,6 +10,7 @@
import org.jboss.jandex.ParameterizedType;
import org.jboss.jandex.Type;
+import io.opentelemetry.exporter.internal.grpc.GrpcSenderProvider;
import io.opentelemetry.sdk.trace.SpanProcessor;
import io.opentelemetry.sdk.trace.export.SpanExporter;
import io.quarkiverse.opentelemetry.exporter.common.runtime.LateBoundSpanProcessor;
@@ -22,6 +23,8 @@
import io.quarkus.deployment.annotations.ExecutionTime;
import io.quarkus.deployment.annotations.Record;
import io.quarkus.deployment.builditem.LaunchModeBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem;
import io.quarkus.opentelemetry.deployment.exporter.otlp.ExternalOtelExporterBuildItem;
@BuildSteps(onlyIf = JaegerExporterProcessor.JaegerExporterEnabled.class)
@@ -35,6 +38,13 @@ public boolean getAsBoolean() {
}
}
+ @BuildStep
+ void retainBeans(BuildProducer services) {
+
+ services.produce(new ServiceProviderBuildItem(GrpcSenderProvider.class.getName(),
+ "io.opentelemetry.exporter.sender.okhttp.internal.OkHttpGrpcSenderProvider"));
+ }
+
@BuildStep
void registerExternalExporter(BuildProducer buildProducer) {
buildProducer.produce(new ExternalOtelExporterBuildItem("jaeger"));
diff --git a/quarkus-opentelemetry-exporter-jaeger/runtime/pom.xml b/quarkus-opentelemetry-exporter-jaeger/runtime/pom.xml
index 5c1161c..1546bf0 100644
--- a/quarkus-opentelemetry-exporter-jaeger/runtime/pom.xml
+++ b/quarkus-opentelemetry-exporter-jaeger/runtime/pom.xml
@@ -64,6 +64,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
org.graalvm.sdk
graal-sdk