ChainSafe / ChainSafe/canton-middleware
Add distributed tracing (OpenTelemetry)
- Dominant language
- Go
- Stars
- 1
- Forks
- 1
- Avg merge
- 40m
- Merged PRs (30d)
- 1
Description
## Description
The middleware has no distributed tracing. For a multi-service system (Relayer ↔ Canton ↔ Ethereum ↔ API Server ↔ Indexer), traces would significantly improve debugging of cross-service latency and failures.
Scope:
- Add go.opentelemetry.io/otel dependency
- Instrument outgoing HTTP calls (Canton Ledger API, Ethereum RPC) with trace propagation
- Instrument incoming HTTP handlers with OTEL middleware
- Add a Jaeger or OTEL Collector service to docker-compose (under the monitoring profile)
- Export traces via OTLP
Acceptance Criteria:
- [ ] Trace spans are created for bridge transfer lifecycle (receive event → submit tx → confirm)
- [ ] Trace context propagated across HTTP calls
- [ ] Jaeger UI accessible locally to view traces
- [ ] Config toggle to enable/disable tracing (tracing.enabled)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.