Parent: #3377
What
Add OpenTelemetry foundation for distributed tracing in Numaflow: dependencies, context propagation helpers (otel.rs), OTLP gRPC exporter setup, and tracer lifecycle management. No behavioral change unless OTEL_EXPORTER_OTLP_ENDPOINT env var is set.
When enabled, only tracing spans (not log events) are exported to the OTel backend — preventing batch exporter queue overflow at high throughput. Users can configure head-based sampling via standard OTel env vars (OTEL_TRACES_SAMPLER, OTEL_TRACES_SAMPLER_ARG) to control trace volume (e.g., traceidratio with 0.1 for 10% sampling). Default sampler is parentbased_always_on.
Testing
cargo check / cargo test pass
- No behavioral change without env var — safe to merge
- With
OTEL_EXPORTER_OTLP_ENDPOINT set: exporter connects, no queue-full warnings
- With sampling configured: only sampled fraction of traces exported
Parent: #3377
What
Add OpenTelemetry foundation for distributed tracing in Numaflow: dependencies, context propagation helpers (
otel.rs), OTLP gRPC exporter setup, and tracer lifecycle management. No behavioral change unlessOTEL_EXPORTER_OTLP_ENDPOINTenv var is set.When enabled, only tracing spans (not log events) are exported to the OTel backend — preventing batch exporter queue overflow at high throughput. Users can configure head-based sampling via standard OTel env vars (
OTEL_TRACES_SAMPLER,OTEL_TRACES_SAMPLER_ARG) to control trace volume (e.g.,traceidratiowith0.1for 10% sampling). Default sampler isparentbased_always_on.Testing
cargo check/cargo testpassOTEL_EXPORTER_OTLP_ENDPOINTset: exporter connects, no queue-full warnings