[Observability] Backend metrics and tracing emission primitives
- Dominant language
- Scala
- Stars
- 314
- Forks
- 187
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 214
Description
### Feature Summary
Services have no shared way to emit workflow metrics or distributed traces, so there is no consistent signal source for the observability dashboard to query. This adds the emission primitives services use, which stay dormant until the SDK is enabled.
### Proposed Solution or Design
- `TexeraMetrics`: metric instruments for workflow lifecycle and throughput. Active executions are modeled as an observable gauge read from the live registry, which avoids the phantom-active count a manual up/down counter produces.
- `TexeraTracer` and `SpanAttrs`: helpers for creating spans and attaching standardized attributes.
- `TraceparentValidator`: parses and validates W3C `traceparent` headers for context propagation.
- Unit specs for each. Pure additions to the `Config` module with no behavior change when telemetry is disabled.
### Affected Area
Workflow Engine (Amber), Other
### Related
Part of #4070. Depends on #5367.
Contributor guide
Assessment
This issue has not been assessed yet.