Observability: Initial instrumentation
- Dominant language
- TypeScript
- Stars
- 62
- Forks
- 59
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 5
Description
## Description
Add OTel instrumentation to the tenant-ui (Node.js/Express) component. The ACA-Py plugin (`traction_innkeeper`) requires no separate code changes — it runs inside the same ACA-Py process and inherits all instrumentation from the acapy-agent OTel work.
## Requirements
- Add `@opentelemetry/sdk-node`, `@opentelemetry/auto-instrumentations-node`, `@opentelemetry/sdk-metrics`, `@opentelemetry/exporter-trace-otlp-http`, `@opentelemetry/exporter-metrics-otlp-http` to `tenant-ui` dependencies
- Create `src/tracing.ts` with `NodeSDK` configured with both trace and metric exporters using the HTTP/protobuf exporters (port 4318) — do **not** use gRPC exporters
- Import as the first line of `src/index.ts` before Express initializes
## Acceptance Criteria
- [ ] tenant-ui HTTP spans visible in Tempo
- [ ] HTTP RED metrics from tenant-ui appear in Mimir
- [ ] No regression in existing test suite
Contributor guide
Research direction
Start by reviewing the tenant-ui dependency manifest and the startup flow in src/index.ts, then inspect the requested src/tracing.ts entry point and HTTP/protobuf exporter requirements. Run the existing test suite and verify that tenant-ui spans reach Tempo and RED metrics appear in Mimir without regressions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- express, node.js, typescript
- Domain
- backend, observability
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100