// Do not edit directly!
// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
[id="extensions-micrometer-observability"]
= Micrometer Observability 2
:linkattrs:
:cq-artifact-id: camel-quarkus-micrometer-observability
:cq-native-supported: true
:cq-status: Preview
:cq-status-deprecation: Preview
:cq-description: Micrometer Observability implementation of Camel Telemetry
:cq-deprecated: false
:cq-jvm-since: 3.39.0
:cq-native-since: 3.39.0

ifeval::[{doc-show-badges} == true]
[.badges]
[.badge-key]##JVM since##[.badge-supported]##3.39.0## [.badge-key]##Native since##[.badge-supported]##3.39.0##
endif::[]

Micrometer Observability implementation of Camel Telemetry

[id="extensions-micrometer-observability-whats-inside"]
== What's inside

* xref:{cq-camel-components}:others:micrometer-observability.adoc[Micrometer Observability 2]

Please refer to the above link for usage and configuration details.

[id="extensions-micrometer-observability-maven-coordinates"]
== Maven coordinates

https://{link-quarkus-code-generator}/?extension-search=camel-quarkus-micrometer-observability[Create a new project with this extension on {link-quarkus-code-generator}, window="_blank"]

Or add the coordinates to your existing project:

[source,xml]
----
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-micrometer-observability</artifactId>
</dependency>
----
ifeval::[{doc-show-user-guide-link} == true]
Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.
endif::[]

[id="extensions-micrometer-observability-usage"]
== Usage
The extension automatically creates a `MicrometerObservabilityTracer` and binds it to the Camel registry.
It bridges Camel's telemetry SPI to Micrometer Tracing via the OTel bridge, using the
`OpenTelemetry` CDI bean provided by `quarkus-opentelemetry` (pulled in transitively).

Refer to the xref:{cq-camel-components}:others:micrometer-observability.adoc[Micrometer Observability 2] documentation for full details on tracing configuration.
The following Quarkus config properties map directly to the tracer options described there:

[source,properties]
----
quarkus.camel.micrometer-observability.exclude-patterns=direct:*,timer:*
quarkus.camel.micrometer-observability.include-patterns=platform-http:*
quarkus.camel.micrometer-observability.trace-processors=true
quarkus.camel.micrometer-observability.disable-core-processors=true
quarkus.camel.micrometer-observability.trace-headers-inclusion=true
----


[id="extensions-micrometer-observability-additional-camel-quarkus-configuration"]
== Additional Camel Quarkus configuration

[width="100%",cols="80,5,15",options="header"]
|===
| Configuration property | Type | Default


a| [[quarkus-camel-micrometer-observability-exclude-patterns]]`link:#quarkus-camel-micrometer-observability-exclude-patterns[quarkus.camel.micrometer-observability.exclude-patterns]`

Sets whether to disable tracing for endpoint URIs or Processor ids that match the given comma separated patterns.
The pattern can take the following forms:

1. An exact match on the endpoint URI, e.g., {@code platform-http:/some/path}
2. A wildcard match, e.g., {@code platform-http:*}
3. A regular expression matching the endpoint URI, e.g., {@code platform-http:/prefix/.*}
| `string`
| 

a| [[quarkus-camel-micrometer-observability-include-patterns]]`link:#quarkus-camel-micrometer-observability-include-patterns[quarkus.camel.micrometer-observability.include-patterns]`

Sets include pattern(s) that will explicitly enable tracing for Camel processors that match the pattern.
Multiple patterns can be separated by comma. All processors are included by default if nothing is specified.
| `string`
| 

a| [[quarkus-camel-micrometer-observability-trace-processors]]`link:#quarkus-camel-micrometer-observability-trace-processors[quarkus.camel.micrometer-observability.trace-processors]`

Sets whether to create new spans for each Camel Processor. Use the {@code excludePatterns} property to filter
out specific processors.

When enabled, this generates much more detailed traces but also increases overhead.
| `boolean`
| `false`

a| [[quarkus-camel-micrometer-observability-disable-core-processors]]`link:#quarkus-camel-micrometer-observability-disable-core-processors[quarkus.camel.micrometer-observability.disable-core-processors]`

Disable tracing of inner core processors (any core DSL processor provided in the route, for example
{@code bean}, {@code log}, ...).
| `boolean`
| `false`

a| [[quarkus-camel-micrometer-observability-trace-headers-inclusion]]`link:#quarkus-camel-micrometer-observability-trace-headers-inclusion[quarkus.camel.micrometer-observability.trace-headers-inclusion]`

If set to {@code true}, adds the generated telemetry {@code CAMEL_TRACE_ID} and {@code CAMEL_SPAN_ID}
Exchange headers.
| `boolean`
| `false`
|===

[.configuration-legend]
{doc-link-icon-lock}[title=Fixed at build time] Configuration property fixed at build time. All other configuration properties are overridable at runtime.

