Expand description
Span processor for validation
Custom OpenTelemetry span processor that stores spans in memory for runtime validation against test expectations.
§Architecture
- Dual Export: Spans are both exported to OTLP/stdout AND stored in memory
- Non-Blocking: Uses simple span processor (no batching) for immediate storage
- Zero Overhead: No-op when span expectations not configured
§Integration
Added to the OTEL tracer provider pipeline alongside batch span processor:
use clnrm_core::telemetry::validation_processor::ValidationSpanProcessor;
let tracer_provider = TracerProvider::builder()
.with_span_processor(BatchSpanProcessor::builder(exporter, runtime).build())
.with_span_processor(ValidationSpanProcessor::new())
.build();Structs§
- Validation
Span Processor - Span processor that stores spans for validation