pub struct TracerConfig {
pub enabled: bool,
pub tracing_enabled_explicit: bool,
pub pipeline_enabled: bool,
pub detail_level: DetailLevel,
pub outputs: TracerOutputs,
pub metrics_levers: MetricsLeversConfig,
}Expand description
Configuration for the Tracer EIP (Enterprise Integration Pattern).
This struct defines how message tracing should be performed throughout
Camel routes. Use CamelContext::set_tracer_config to apply configuration
programmatically, or configure via Camel.toml as shown in the module documentation.
Fields§
§enabled: boolSPAN enablement (metrics-configuration Req 1: tracer.enabled gates
spans ONLY). Explicit values win over the “otel/prometheus imply
tracing” rule in effective_tracer_config (camel-config), in both
directions.
tracing_enabled_explicit: boolWhether enabled was explicitly present at the serde boundary.
Not read from input keys: the custom Deserialize impl below sets it
from the presence/absence of the enabled key, so it is skipped by
every serde path. Explicit values win over the “otel/prometheus imply
tracing” rule in effective_tracer_config (camel-config), in both
directions.
pipeline_enabled: boolPIPELINE enablement: whether routes are wrapped with the observability
adapters at all. Unlike enabled, this is not a TOML key — the
effective-config assembly (camel-config) raises it whenever an
exporter (otel/prometheus) or tracing itself is active, because the
pipeline carries the metric families incl. the non-disableable error
family (metrics-collection-wiring MODIFIED requirement). Programmatic
users leave it false and pipeline wrapping follows enabled.
detail_level: DetailLevel§outputs: TracerOutputs§metrics_levers: MetricsLeversConfigMetric-family levers ([observability.metrics]). Not a
[observability.tracer] key: the levers deserialize at their own
table and camel-config attaches them here during effective-config
assembly, so the tracer serde boundary below never reads them.
Trait Implementations§
Source§impl Clone for TracerConfig
impl Clone for TracerConfig
Source§fn clone(&self) -> TracerConfig
fn clone(&self) -> TracerConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TracerConfig
impl Debug for TracerConfig
Source§impl Default for TracerConfig
impl Default for TracerConfig
Source§fn default() -> TracerConfig
fn default() -> TracerConfig
Source§impl<'de> Deserialize<'de> for TracerConfig
Deserializes TracerConfig with serde-boundary detection for enabled:
an absent key means “not explicitly set” (enabled = false,
tracing_enabled_explicit = false), while any explicit enabled value
keeps the flag set so callers can honor it over implied enabling.
impl<'de> Deserialize<'de> for TracerConfig
Deserializes TracerConfig with serde-boundary detection for enabled:
an absent key means “not explicitly set” (enabled = false,
tracing_enabled_explicit = false), while any explicit enabled value
keeps the flag set so callers can honor it over implied enabling.
The intermediate Raw struct mirrors the public field set and its serde
attributes (#[serde(default)] behavior on other fields is unchanged).