equinor / equinor/fusion-framework

Allow BaseTelemetryAdapter.initialize() to surface init-time telemetry items

Open
#5,112 0 comments 0 reactions 0 assignees View on GitHub
module:telemetry tech-debt
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.