From a0476271045710a0ea78f14c37530cd004bf3d3f Mon Sep 17 00:00:00 2001 From: Roberto Cortez Date: Tue, 25 Jun 2024 00:40:15 +0100 Subject: [PATCH] Remove OpenTelemetry old Config relocations and fallbacks --- ...dpointsEnabledLegacyConfigurationTest.java | 2 +- .../OpenTelemetryLegacyConfigurationTest.java | 88 ------------------- .../deployment/TracerDisabledLegacyTest.java | 30 ------- .../otlp/OtlpExporterBadEndpointTest.java | 2 +- .../exporter/otlp/OtlpExporterConfigTest.java | 2 +- .../otlp/OtlpExporterDisabledTest.java | 2 +- .../OTelFallbackConfigSourceInterceptor.java | 78 ---------------- ...ConfigFallbackConfigSourceInterceptor.java | 40 --------- ...ConfigRelocateConfigSourceInterceptor.java | 40 --------- .../build/LegacySamplerNameConverter.java | 22 ----- ...io.smallrye.config.ConfigSourceInterceptor | 3 - 11 files changed, 4 insertions(+), 305 deletions(-) delete mode 100644 extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/OpenTelemetryLegacyConfigurationTest.java delete mode 100644 extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/TracerDisabledLegacyTest.java delete mode 100644 extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/OTelFallbackConfigSourceInterceptor.java delete mode 100644 extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/build/InstrumentBuildTimeConfigFallbackConfigSourceInterceptor.java delete mode 100644 extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/build/InstrumentBuildTimeConfigRelocateConfigSourceInterceptor.java delete mode 100644 extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/build/LegacySamplerNameConverter.java delete mode 100644 extensions/opentelemetry/runtime/src/main/resources/META-INF/services/io.smallrye.config.ConfigSourceInterceptor diff --git a/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/NonAppEndpointsEnabledLegacyConfigurationTest.java b/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/NonAppEndpointsEnabledLegacyConfigurationTest.java index 5f2a2e62b021e..9c094dc703990 100644 --- a/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/NonAppEndpointsEnabledLegacyConfigurationTest.java +++ b/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/NonAppEndpointsEnabledLegacyConfigurationTest.java @@ -24,7 +24,7 @@ public class NonAppEndpointsEnabledLegacyConfigurationTest { .addAsResource(new StringAsset(TestSpanExporterProvider.class.getCanonicalName()), "META-INF/services/io.opentelemetry.sdk.autoconfigure.spi.traces.ConfigurableSpanExporterProvider")) .withConfigurationResource("application-default.properties") - .overrideConfigKey("quarkus.opentelemetry.tracer.suppress-non-application-uris", "false"); + .overrideConfigKey("quarkus.otel.traces.suppress-non-application-uris", "false"); @Inject TestSpanExporter testSpanExporter; diff --git a/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/OpenTelemetryLegacyConfigurationTest.java b/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/OpenTelemetryLegacyConfigurationTest.java deleted file mode 100644 index 3067e5df896b1..0000000000000 --- a/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/OpenTelemetryLegacyConfigurationTest.java +++ /dev/null @@ -1,88 +0,0 @@ -package io.quarkus.opentelemetry.deployment; - -import static java.lang.Boolean.FALSE; -import static java.lang.Boolean.TRUE; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.util.List; - -import jakarta.inject.Inject; - -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.RegisterExtension; - -import io.quarkus.opentelemetry.runtime.config.build.OTelBuildConfig; -import io.quarkus.opentelemetry.runtime.config.build.exporter.OtlpExporterBuildConfig; -import io.quarkus.opentelemetry.runtime.config.runtime.OTelRuntimeConfig; -import io.quarkus.opentelemetry.runtime.config.runtime.exporter.OtlpExporterRuntimeConfig; -import io.quarkus.test.QuarkusUnitTest; -import io.smallrye.config.SmallRyeConfig; - -class OpenTelemetryLegacyConfigurationTest { - @RegisterExtension - static final QuarkusUnitTest TEST = new QuarkusUnitTest() - .overrideConfigKey("quarkus.opentelemetry.enabled", "false") - .overrideConfigKey("quarkus.opentelemetry.tracer.enabled", "false") - .overrideConfigKey("quarkus.opentelemetry.propagators", "tracecontext") - .overrideConfigKey("quarkus.opentelemetry.tracer.resource-attributes", "service.name=authservice") - .overrideConfigKey("quarkus.opentelemetry.tracer.suppress-non-application-uris", "false") - .overrideConfigKey("quarkus.opentelemetry.tracer.include-static-resources", "true") - .overrideConfigKey("quarkus.opentelemetry.tracer.sampler", "off") - .overrideConfigKey("quarkus.opentelemetry.tracer.sampler.ratio", "2.0d") - .overrideConfigKey("quarkus.opentelemetry.tracer.exporter.otlp.headers", "header=value") - .overrideConfigKey("quarkus.opentelemetry.tracer.exporter.otlp.enabled", "false") - .overrideConfigKey("quarkus.opentelemetry.tracer.exporter.otlp.endpoint", "http://localhost:4318/"); - - @Inject - OTelBuildConfig oTelBuildConfig; - @Inject - OTelRuntimeConfig oTelRuntimeConfig; - @Inject - OtlpExporterBuildConfig otlpExporterBuildConfig; - @Inject - OtlpExporterRuntimeConfig otlpExporterRuntimeConfig; - @Inject - SmallRyeConfig config; - - @Test - void config() { - assertEquals(FALSE, oTelBuildConfig.enabled()); - assertTrue(oTelBuildConfig.traces().enabled().isPresent()); - assertEquals(FALSE, oTelBuildConfig.traces().enabled().get()); - assertEquals(List.of("tracecontext"), oTelBuildConfig.propagators()); // will not include the default baggagge - assertTrue(oTelRuntimeConfig.resourceAttributes().isPresent()); - assertEquals("service.name=authservice", oTelRuntimeConfig.resourceAttributes().get().get(0)); - assertEquals(FALSE, oTelRuntimeConfig.traces().suppressNonApplicationUris()); - assertEquals(TRUE, oTelRuntimeConfig.traces().includeStaticResources()); - assertEquals("always_off", oTelBuildConfig.traces().sampler()); - assertTrue(oTelRuntimeConfig.traces().samplerArg().isPresent()); - assertEquals("2.0d", oTelRuntimeConfig.traces().samplerArg().get()); - assertEquals(FALSE, otlpExporterBuildConfig.enabled()); - assertTrue(otlpExporterRuntimeConfig.traces().legacyEndpoint().isPresent()); - assertTrue(otlpExporterRuntimeConfig.traces().headers().isPresent()); - assertEquals("header=value", otlpExporterRuntimeConfig.traces().headers().get().get(0)); - assertEquals("http://localhost:4318/", otlpExporterRuntimeConfig.traces().legacyEndpoint().get()); - } - - @Test - void names() { - assertTrue(config.isPropertyPresent("quarkus.otel.enabled")); - assertTrue(config.isPropertyPresent("quarkus.otel.metrics.exporter")); - assertTrue(config.isPropertyPresent("quarkus.otel.propagators")); - assertTrue(config.isPropertyPresent("quarkus.otel.logs.exporter")); - assertTrue(config.isPropertyPresent("quarkus.otel.traces.enabled")); - assertTrue(config.isPropertyPresent("quarkus.otel.traces.exporter")); - assertTrue(config.isPropertyPresent("quarkus.otel.traces.sampler")); - assertTrue(config.isPropertyPresent("quarkus.otel.sdk.disabled")); - assertTrue(config.isPropertyPresent("quarkus.otel.service.name")); - assertTrue(config.isPropertyPresent("quarkus.otel.attribute.count.limit")); - assertTrue(config.isPropertyPresent("quarkus.otel.span.attribute.count.limit")); - assertTrue(config.isPropertyPresent("quarkus.otel.span.event.count.limit")); - assertTrue(config.isPropertyPresent("quarkus.otel.span.link.count.limit")); - assertTrue(config.isPropertyPresent("quarkus.otel.bsp.schedule.delay")); - assertTrue(config.isPropertyPresent("quarkus.otel.bsp.max.queue.size")); - assertTrue(config.isPropertyPresent("quarkus.otel.bsp.max.export.batch.size")); - assertTrue(config.isPropertyPresent("quarkus.otel.bsp.export.timeout")); - } -} diff --git a/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/TracerDisabledLegacyTest.java b/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/TracerDisabledLegacyTest.java deleted file mode 100644 index 1b0ac8fbe65e0..0000000000000 --- a/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/TracerDisabledLegacyTest.java +++ /dev/null @@ -1,30 +0,0 @@ -package io.quarkus.opentelemetry.deployment; - -import jakarta.enterprise.inject.spi.DeploymentException; -import jakarta.inject.Inject; - -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.RegisterExtension; - -import io.opentelemetry.api.trace.Tracer; -import io.quarkus.test.QuarkusUnitTest; - -public class TracerDisabledLegacyTest { - - @RegisterExtension - static final QuarkusUnitTest config = new QuarkusUnitTest() - .withEmptyApplication() - .overrideConfigKey("quarkus.opentelemetry.tracer.enabled", "false") - .assertException(t -> Assertions.assertEquals(DeploymentException.class, t.getClass())); - - @Inject - Tracer tracer; - - @Test - void testNoTracer() { - //Should not be reached: dump what was injected if it somehow passed - Assertions.assertNull(tracer, - "A Tracer instance should not be found/injected when OpenTelemetry tracer is disabled"); - } -} diff --git a/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/exporter/otlp/OtlpExporterBadEndpointTest.java b/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/exporter/otlp/OtlpExporterBadEndpointTest.java index 5d9ab2e4ea83f..7d4048c0501c0 100644 --- a/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/exporter/otlp/OtlpExporterBadEndpointTest.java +++ b/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/exporter/otlp/OtlpExporterBadEndpointTest.java @@ -15,7 +15,7 @@ public class OtlpExporterBadEndpointTest { static final QuarkusUnitTest config = new QuarkusUnitTest() .withEmptyApplication() .overrideConfigKey("quarkus.otel.traces.exporter", "cdi") - .overrideConfigKey("quarkus.opentelemetry.tracer.exporter.otlp.endpoint", "httz://nada:zero") + .overrideConfigKey("quarkus.otel.exporter.otlp.traces.legacy-endpoint", "httz://nada:zero") .setExpectedException(IllegalArgumentException.class); @Inject diff --git a/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/exporter/otlp/OtlpExporterConfigTest.java b/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/exporter/otlp/OtlpExporterConfigTest.java index 26a3eb5f277ec..6f83f5bb76d1d 100644 --- a/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/exporter/otlp/OtlpExporterConfigTest.java +++ b/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/exporter/otlp/OtlpExporterConfigTest.java @@ -17,7 +17,7 @@ public class OtlpExporterConfigTest { .withEmptyApplication() .overrideConfigKey("otel.traces.exporter", "cdi") .overrideConfigKey("otel.exporter.otlp.traces.protocol", "http/protobuf") - .overrideConfigKey("quarkus.opentelemetry.tracer.exporter.otlp.endpoint", "http://localhost ") + .overrideConfigKey("quarkus.otel.exporter.otlp.traces.legacy-endpoint", "http://localhost ") .overrideConfigKey("quarkus.otel.bsp.schedule.delay", "50") .overrideConfigKey("quarkus.otel.bsp.export.timeout", "PT1S"); diff --git a/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/exporter/otlp/OtlpExporterDisabledTest.java b/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/exporter/otlp/OtlpExporterDisabledTest.java index 32d3abb217055..72ffaa6fbada3 100644 --- a/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/exporter/otlp/OtlpExporterDisabledTest.java +++ b/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/exporter/otlp/OtlpExporterDisabledTest.java @@ -17,7 +17,7 @@ public class OtlpExporterDisabledTest { static final QuarkusUnitTest config = new QuarkusUnitTest() .withEmptyApplication() .overrideConfigKey("otel.traces.exporter", "cdi") - .overrideConfigKey("quarkus.opentelemetry.tracer.exporter.otlp.enabled", "false"); + .overrideConfigKey("quarkus.otel.exporter.otlp.enabled", "false"); @Inject OpenTelemetry openTelemetry; diff --git a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/OTelFallbackConfigSourceInterceptor.java b/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/OTelFallbackConfigSourceInterceptor.java deleted file mode 100644 index 3bdfea3b4863b..0000000000000 --- a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/OTelFallbackConfigSourceInterceptor.java +++ /dev/null @@ -1,78 +0,0 @@ -package io.quarkus.opentelemetry.runtime.config; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Map; -import java.util.Set; - -import jakarta.annotation.Priority; - -import io.quarkus.opentelemetry.runtime.config.build.LegacySamplerNameConverter; -import io.smallrye.config.ConfigSourceInterceptorContext; -import io.smallrye.config.ConfigValue; -import io.smallrye.config.FallbackConfigSourceInterceptor; -import io.smallrye.config.Priorities; - -@Deprecated(forRemoval = true, since = "3.9") -@Priority(Priorities.LIBRARY + 300 + 5) -public class OTelFallbackConfigSourceInterceptor extends FallbackConfigSourceInterceptor { - private final static Map FALLBACKS = new HashMap<>(); - private final static LegacySamplerNameConverter LEGACY_SAMPLER_NAME_CONVERTER = new LegacySamplerNameConverter(); - - static { - FALLBACKS.put("quarkus.otel.enabled", "quarkus.opentelemetry.enabled"); - FALLBACKS.put("quarkus.otel.traces.enabled", "quarkus.opentelemetry.tracer.enabled"); - FALLBACKS.put("quarkus.otel.propagators", "quarkus.opentelemetry.propagators"); - FALLBACKS.put("quarkus.otel.resource.attributes", "quarkus.opentelemetry.tracer.resource-attributes"); - FALLBACKS.put("quarkus.otel.traces.suppress-non-application-uris", - "quarkus.opentelemetry.tracer.suppress-non-application-uris"); - FALLBACKS.put("quarkus.otel.traces.include-static-resources", "quarkus.opentelemetry.tracer.include-static-resources"); - FALLBACKS.put("quarkus.otel.traces.sampler", "quarkus.opentelemetry.tracer.sampler"); - FALLBACKS.put("quarkus.otel.traces.sampler.arg", "quarkus.opentelemetry.tracer.sampler.ratio"); - FALLBACKS.put("quarkus.otel.exporter.otlp.enabled", "quarkus.opentelemetry.tracer.exporter.otlp.enabled"); - FALLBACKS.put("quarkus.otel.exporter.otlp.traces.legacy-endpoint", - "quarkus.opentelemetry.tracer.exporter.otlp.endpoint"); - FALLBACKS.put("quarkus.otel.exporter.otlp.traces.headers", "quarkus.opentelemetry.tracer.exporter.otlp.headers"); - } - - public OTelFallbackConfigSourceInterceptor() { - super(FALLBACKS); - } - - @Override - public ConfigValue getValue(final ConfigSourceInterceptorContext context, final String name) { - ConfigValue value = super.getValue(context, name); - if (value != null && name.equals("quarkus.otel.traces.sampler")) { - return value.withValue(LEGACY_SAMPLER_NAME_CONVERTER.convert(value.getValue())); - } - return value; - } - - @Override - public Iterator iterateNames(final ConfigSourceInterceptorContext context) { - Set names = new HashSet<>(); - Iterator namesIterator = context.iterateNames(); - while (namesIterator.hasNext()) { - String name = namesIterator.next(); - String fallback = FALLBACKS.get(name); - // We only include the used property, so if it is a fallback (not mapped), it will be reported as unknown - if (fallback != null) { - ConfigValue nameValue = context.proceed(name); - ConfigValue fallbackValue = context.proceed(fallback); - if (nameValue == null) { - names.add(fallback); - } else if (fallbackValue == null) { - names.add(name); - } else if (nameValue.getConfigSourceOrdinal() >= fallbackValue.getConfigSourceOrdinal()) { - names.add(name); - } else { - names.add(fallback); - } - } else { - names.add(name); - } - } - return names.iterator(); - } -} diff --git a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/build/InstrumentBuildTimeConfigFallbackConfigSourceInterceptor.java b/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/build/InstrumentBuildTimeConfigFallbackConfigSourceInterceptor.java deleted file mode 100644 index 37a21deeca62a..0000000000000 --- a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/build/InstrumentBuildTimeConfigFallbackConfigSourceInterceptor.java +++ /dev/null @@ -1,40 +0,0 @@ -package io.quarkus.opentelemetry.runtime.config.build; - -import java.util.function.Function; - -import io.smallrye.config.FallbackConfigSourceInterceptor; - -/** - * @deprecated maps the old config to the new config, should be removed at some point - */ -@Deprecated(forRemoval = true, since = "3.9") -public class InstrumentBuildTimeConfigFallbackConfigSourceInterceptor extends FallbackConfigSourceInterceptor { - - private static final Function RENAME_FUNCTION = new Function() { - @Override - public String apply(String s) { - if (!s.startsWith("quarkus.otel.instrument.")) { - return s; - } - - if ("quarkus.otel.instrument.messaging".equals(s)) { - return "quarkus.otel.instrument.reactive-messaging"; - } - if ("quarkus.otel.instrument.resteasy-client".equals(s)) { - return "quarkus.otel.instrument.rest-client-classic"; - } - if ("quarkus.otel.instrument.rest".equals(s)) { - return "quarkus.otel.instrument.resteasy-reactive"; - } - if ("quarkus.otel.instrument.resteasy".equals(s)) { - return "quarkus.otel.instrument.resteasy-classic"; - } - - return s; - } - }; - - public InstrumentBuildTimeConfigFallbackConfigSourceInterceptor() { - super(RENAME_FUNCTION); - } -} diff --git a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/build/InstrumentBuildTimeConfigRelocateConfigSourceInterceptor.java b/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/build/InstrumentBuildTimeConfigRelocateConfigSourceInterceptor.java deleted file mode 100644 index 41d8b45dc6c17..0000000000000 --- a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/build/InstrumentBuildTimeConfigRelocateConfigSourceInterceptor.java +++ /dev/null @@ -1,40 +0,0 @@ -package io.quarkus.opentelemetry.runtime.config.build; - -import java.util.function.Function; - -import io.smallrye.config.RelocateConfigSourceInterceptor; - -/** - * @deprecated maps the old config to the new config, should be removed at some point - */ -@Deprecated(forRemoval = true, since = "3.9") -public class InstrumentBuildTimeConfigRelocateConfigSourceInterceptor extends RelocateConfigSourceInterceptor { - - private static final Function RENAME_FUNCTION = new Function() { - @Override - public String apply(String s) { - if (!s.startsWith("quarkus.otel.instrument.")) { - return s; - } - - if ("quarkus.otel.instrument.reactive-messaging".equals(s)) { - return "quarkus.otel.instrument.messaging"; - } - if ("quarkus.otel.instrument.rest-client-classic".equals(s)) { - return "quarkus.otel.instrument.resteasy-client"; - } - if ("quarkus.otel.instrument.resteasy-reactive".equals(s)) { - return "quarkus.otel.instrument.rest"; - } - if ("quarkus.otel.instrument.resteasy-classic".equals(s)) { - return "quarkus.otel.instrument.resteasy"; - } - - return s; - } - }; - - public InstrumentBuildTimeConfigRelocateConfigSourceInterceptor() { - super(RENAME_FUNCTION); - } -} diff --git a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/build/LegacySamplerNameConverter.java b/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/build/LegacySamplerNameConverter.java deleted file mode 100644 index 05e5b69d9f2ca..0000000000000 --- a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/config/build/LegacySamplerNameConverter.java +++ /dev/null @@ -1,22 +0,0 @@ -package io.quarkus.opentelemetry.runtime.config.build; - -import org.eclipse.microprofile.config.spi.Converter; - -/** - * Will convert values from the legacy configuration quarkus.opentelemetry.tracer.sampler.sampler.name. - */ -public class LegacySamplerNameConverter implements Converter { - @Override - public String convert(String samplerName) throws IllegalArgumentException, NullPointerException { - switch (samplerName) { - case "on": - return SamplerType.Constants.ALWAYS_ON; - case "off": - return SamplerType.Constants.ALWAYS_OFF; - case "ratio": - return SamplerType.Constants.TRACE_ID_RATIO; - default: - return samplerName; - } - } -} diff --git a/extensions/opentelemetry/runtime/src/main/resources/META-INF/services/io.smallrye.config.ConfigSourceInterceptor b/extensions/opentelemetry/runtime/src/main/resources/META-INF/services/io.smallrye.config.ConfigSourceInterceptor deleted file mode 100644 index 4a1ed8964d145..0000000000000 --- a/extensions/opentelemetry/runtime/src/main/resources/META-INF/services/io.smallrye.config.ConfigSourceInterceptor +++ /dev/null @@ -1,3 +0,0 @@ -io.quarkus.opentelemetry.runtime.config.OTelFallbackConfigSourceInterceptor -io.quarkus.opentelemetry.runtime.config.build.InstrumentBuildTimeConfigFallbackConfigSourceInterceptor -io.quarkus.opentelemetry.runtime.config.build.InstrumentBuildTimeConfigRelocateConfigSourceInterceptor \ No newline at end of file