Skip to content

OpenTelemetry observer implementation #8

@JaimeStill

Description

@JaimeStill

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew functionalityorchestrateorchestrate subsystem

    Type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions