This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch camel-main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 3cb3ef1901c5261c3aa9703302a4740bb68b3ce7 Author: Pasquale Congiusti <[email protected]> AuthorDate: Tue May 26 09:16:11 2026 +0200 feat(extensions): support telemetry include processor field Ref https://github.com/apache/camel/pull/23500 Co-Authored-By: James Netherton <[email protected]> --- docs/modules/ROOT/pages/reference/extensions/opentelemetry2.adoc | 7 +++++++ docs/modules/ROOT/pages/reference/extensions/telemetry-dev.adoc | 7 +++++++ .../component/opentelemetry2/deployment/Opentelemetry2Test.java | 3 +++ .../component/opentelemetry2/CamelOpenTelemetry2Config.java | 8 ++++++++ .../component/opentelemetry2/OpenTelemetry2TracerProducer.java | 1 + .../quarkus/component/telemetry/dev/CamelTelemetryDevConfig.java | 8 ++++++++ .../component/telemetry/dev/TelemetryDevTracerProducer.java | 4 ++++ 7 files changed, 38 insertions(+) diff --git a/docs/modules/ROOT/pages/reference/extensions/opentelemetry2.adoc b/docs/modules/ROOT/pages/reference/extensions/opentelemetry2.adoc index da7d5d96c9..4adb5723e4 100644 --- a/docs/modules/ROOT/pages/reference/extensions/opentelemetry2.adoc +++ b/docs/modules/ROOT/pages/reference/extensions/opentelemetry2.adoc @@ -136,6 +136,13 @@ pattern can take the following forms: | `string` | +a| [[quarkus-camel-opentelemetry2-include-patterns]]`link:#quarkus-camel-opentelemetry2-include-patterns[quarkus.camel.opentelemetry2.include-patterns]` + +Sets include pattern(s) that will explicitly enable tracing for Camel processors that matches the pattern. +Multiple patterns can be separated by comma. All processors included by default if nothing is specified. +| `string` +| + a| [[quarkus-camel-opentelemetry2-trace-processors]]`link:#quarkus-camel-opentelemetry2-trace-processors[quarkus.camel.opentelemetry2.trace-processors]` Sets whether to create new telemetry spans for each Camel custom Processor. Use the excludePatterns property to diff --git a/docs/modules/ROOT/pages/reference/extensions/telemetry-dev.adoc b/docs/modules/ROOT/pages/reference/extensions/telemetry-dev.adoc index b7ec28941c..cc8bef3020 100644 --- a/docs/modules/ROOT/pages/reference/extensions/telemetry-dev.adoc +++ b/docs/modules/ROOT/pages/reference/extensions/telemetry-dev.adoc @@ -65,6 +65,13 @@ pattern can take the following forms: | `string` | +a| [[quarkus-camel-telemetrydev-include-patterns]]`link:#quarkus-camel-telemetrydev-include-patterns[quarkus.camel.telemetryDev.include-patterns]` + +Sets include pattern(s) that will explicitly enable tracing for Camel processors that matches the pattern. +Multiple patterns can be separated by comma. All processors included by default if nothing is specified. +| `string` +| + a| [[quarkus-camel-telemetrydev-trace-processors]]`link:#quarkus-camel-telemetrydev-trace-processors[quarkus.camel.telemetryDev.trace-processors]` Sets whether to create new telemetry spans for each Camel custom Processor. Use the excludePatterns property to diff --git a/extensions/opentelemetry2/deployment/src/test/java/org/apache/camel/quarkus/component/opentelemetry2/deployment/Opentelemetry2Test.java b/extensions/opentelemetry2/deployment/src/test/java/org/apache/camel/quarkus/component/opentelemetry2/deployment/Opentelemetry2Test.java index b11feb3c54..8962e701bf 100644 --- a/extensions/opentelemetry2/deployment/src/test/java/org/apache/camel/quarkus/component/opentelemetry2/deployment/Opentelemetry2Test.java +++ b/extensions/opentelemetry2/deployment/src/test/java/org/apache/camel/quarkus/component/opentelemetry2/deployment/Opentelemetry2Test.java @@ -34,10 +34,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue; public class Opentelemetry2Test { + private static final String INCLUDE_PATTERNS = "netty-http:*,netty-http:/prefix/.*"; private static final String EXCLUDE_PATTERNS = "platform-http:*,platform-http:/prefix/.*"; @RegisterExtension static final QuarkusUnitTest CONFIG = new QuarkusUnitTest() + .overrideConfigKey("quarkus.camel.opentelemetry2.include-patterns", INCLUDE_PATTERNS) .overrideConfigKey("quarkus.camel.opentelemetry2.exclude-patterns", EXCLUDE_PATTERNS) .overrideConfigKey("quarkus.camel.opentelemetry2.trace-processors", "true") .overrideConfigKey("quarkus.camel.opentelemetry2.trace-headers-inclusion", "true") @@ -53,6 +55,7 @@ public class Opentelemetry2Test { OpenTelemetryTracer tracer = tracers.iterator().next(); assertInstanceOf(OpenTelemetryTracer.class, tracer); + assertEquals(INCLUDE_PATTERNS, tracer.getIncludePatterns()); assertEquals(EXCLUDE_PATTERNS, tracer.getExcludePatterns()); assertTrue(tracer.isTraceProcessors()); assertTrue(tracer.isTraceHeadersInclusion()); diff --git a/extensions/opentelemetry2/runtime/src/main/java/org/apache/camel/quarkus/component/opentelemetry2/CamelOpenTelemetry2Config.java b/extensions/opentelemetry2/runtime/src/main/java/org/apache/camel/quarkus/component/opentelemetry2/CamelOpenTelemetry2Config.java index 4b38327425..5486c03a47 100644 --- a/extensions/opentelemetry2/runtime/src/main/java/org/apache/camel/quarkus/component/opentelemetry2/CamelOpenTelemetry2Config.java +++ b/extensions/opentelemetry2/runtime/src/main/java/org/apache/camel/quarkus/component/opentelemetry2/CamelOpenTelemetry2Config.java @@ -40,6 +40,14 @@ public interface CamelOpenTelemetry2Config { */ Optional<String> excludePatterns(); + /** + * Sets include pattern(s) that will explicitly enable tracing for Camel processors that matches the pattern. + * Multiple patterns can be separated by comma. All processors included by default if nothing is specified. + * + * @asciidoclet + */ + Optional<String> includePatterns(); + /** * Sets whether to create new telemetry spans for each Camel custom Processor. Use the excludePatterns property to * filter diff --git a/extensions/opentelemetry2/runtime/src/main/java/org/apache/camel/quarkus/component/opentelemetry2/OpenTelemetry2TracerProducer.java b/extensions/opentelemetry2/runtime/src/main/java/org/apache/camel/quarkus/component/opentelemetry2/OpenTelemetry2TracerProducer.java index 4d1ed9733c..69e597d64c 100644 --- a/extensions/opentelemetry2/runtime/src/main/java/org/apache/camel/quarkus/component/opentelemetry2/OpenTelemetry2TracerProducer.java +++ b/extensions/opentelemetry2/runtime/src/main/java/org/apache/camel/quarkus/component/opentelemetry2/OpenTelemetry2TracerProducer.java @@ -40,6 +40,7 @@ public class OpenTelemetry2TracerProducer { if (!oTelRuntimeConfig.sdkDisabled()) { OpenTelemetryTracer openTelemetryTracer = new OpenTelemetryTracer(); config.excludePatterns().ifPresent(openTelemetryTracer::setExcludePatterns); + config.includePatterns().ifPresent(openTelemetryTracer::setIncludePatterns); openTelemetryTracer.setTraceProcessors(config.traceProcessors()); openTelemetryTracer.setDisableCoreProcessors(config.disableCoreProcessors()); openTelemetryTracer.setTraceHeadersInclusion(config.traceHeadersInclusion()); diff --git a/extensions/telemetry-dev/runtime/src/main/java/org/apache/camel/quarkus/component/telemetry/dev/CamelTelemetryDevConfig.java b/extensions/telemetry-dev/runtime/src/main/java/org/apache/camel/quarkus/component/telemetry/dev/CamelTelemetryDevConfig.java index 66c7bbd304..193f1de9b8 100644 --- a/extensions/telemetry-dev/runtime/src/main/java/org/apache/camel/quarkus/component/telemetry/dev/CamelTelemetryDevConfig.java +++ b/extensions/telemetry-dev/runtime/src/main/java/org/apache/camel/quarkus/component/telemetry/dev/CamelTelemetryDevConfig.java @@ -41,6 +41,14 @@ public interface CamelTelemetryDevConfig { */ Optional<String> excludePatterns(); + /** + * Sets include pattern(s) that will explicitly enable tracing for Camel processors that matches the pattern. + * Multiple patterns can be separated by comma. All processors included by default if nothing is specified. + * + * @asciidoclet + */ + Optional<String> includePatterns(); + /** * Sets whether to create new telemetry spans for each Camel custom Processor. Use the excludePatterns property to * filter diff --git a/extensions/telemetry-dev/runtime/src/main/java/org/apache/camel/quarkus/component/telemetry/dev/TelemetryDevTracerProducer.java b/extensions/telemetry-dev/runtime/src/main/java/org/apache/camel/quarkus/component/telemetry/dev/TelemetryDevTracerProducer.java index 186475ac43..60a2b065b4 100644 --- a/extensions/telemetry-dev/runtime/src/main/java/org/apache/camel/quarkus/component/telemetry/dev/TelemetryDevTracerProducer.java +++ b/extensions/telemetry-dev/runtime/src/main/java/org/apache/camel/quarkus/component/telemetry/dev/TelemetryDevTracerProducer.java @@ -37,6 +37,10 @@ public class TelemetryDevTracerProducer { telemetryDevTracer.setExcludePatterns(config.excludePatterns().get()); } + if (config.includePatterns().isPresent()) { + telemetryDevTracer.setIncludePatterns(config.includePatterns().get()); + } + if (config.traceProcessors()) { telemetryDevTracer.setTraceProcessors(config.traceProcessors()); }
