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