equinor / equinor/fusion-framework
Allow BaseTelemetryAdapter.initialize() to surface init-time telemetry items
- Dominant language
- TypeScript
- Stars
- 10
- Forks
- 10
- Avg merge
- 19h 40m
- Merged PRs (30d)
- 150
Description
## Context
`BaseTelemetryAdapter.initialize()` in [packages/modules/telemetry/src/TelemetryAdapter.ts](https://github.com/equinor/fusion-framework/blob/main/packages/modules/telemetry/src/TelemetryAdapter.ts) currently returns `Promise`.
## Problem
There's a chicken-and-egg problem: if an adapter fails or encounters warnings during initialization, there's no way to report those as telemetry items, since the telemetry pipeline isn't ready yet.
## Proposed change
Consider changing the return type from `Promise` to `Promise`, allowing adapters to return telemetry items (errors/warnings) that occurred during initialization.
## Labels
`module:telemetry`, `tech-debt`
Contributor guide
Research direction
Start with packages/modules/telemetry/src/TelemetryAdapter.ts and inspect BaseTelemetryAdapter.initialize(), then trace its callers and adapter implementations to understand how initialization results enter the telemetry pipeline. Done means initialization can expose warning or error telemetry items without breaking existing adapters or consumers; the issue does not name a test file to run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- observability-sre
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100