Migrated from tailored-agentic-units/tau-orchestrate#4
Summary
Provide an Observer implementation that exports events as OpenTelemetry spans and metrics, enabling integration with standard observability platforms (Jaeger, Grafana, Datadog).
Requirements
- Map workflow execution to OTel spans (graph → parent span, nodes → child spans)
- Map EventType to span events/attributes
- Export metrics (counters, histograms) for execution statistics
- Context propagation compatible with OTel trace context
- Optional dependency (separate package to avoid mandatory OTel dependency)
Design Constraints
- No core package coupling: consider
orchestrate/otel to avoid adding OTel as a transitive dependency for the entire module
- Registry compatible: must integrate with the existing string-based registry pattern
- Backward compatible: existing Observer interface must not change
Acceptance Criteria
- OpenTelemetry observer produces valid spans and metrics consumable by standard OTel backends
- All new observer implementations pass through the existing registry pattern
- No performance regression for existing NoOpObserver and SlogObserver usage
- Extensibility demonstrated through at least one custom observer implementation
Summary
Provide an Observer implementation that exports events as OpenTelemetry spans and metrics, enabling integration with standard observability platforms (Jaeger, Grafana, Datadog).
Requirements
Design Constraints
orchestrate/otelto avoid adding OTel as a transitive dependency for the entire moduleAcceptance Criteria