Skip to content

Breaking Change: @fluidframework/telemetry-utils — Type-erase ITelemetryLoggerExt #26910

@jason-ha

Description

@jason-ha

Deprecated API

The external-facing ITelemetryLoggerExt interface's methods and its associated telemetry event types are deprecated. The ITelemetryLoggerExt interface will continue to exist such that it can be passed across FF API surface as needed.

The following types and methods from @fluidframework/telemetry-utils are deprecated:

API Kind Package Export
TelemetryEventCategory Type alias @legacy @beta
ITelemetryGenericEventExt Interface @legacy @beta
ITelemetryErrorEventExt Interface @legacy @beta
ITelemetryPerformanceEventExt Interface @legacy @beta
ITelemetryLoggerExt.sendTelemetryEvent() Method @legacy @beta
ITelemetryLoggerExt.sendErrorEvent() Method @legacy @beta
ITelemetryLoggerExt.sendPerformanceEvent() Method @legacy @beta

Context

ITelemetryLoggerExt was an internal interface that leaked into the public API surface. While method access continues the internal implementation cannot safely evolve.

Approach

The type will be "erased" so that internals can evolve. The erased type will continue to inherit from ITelemetryBaseLogger and its send method will remain usable.

Dependencies

None.

Compatibility Concerns

There are no runtime changes at this time.
If, externally, ITelemetryLoggerExt interface has been implemented to pass to FF, instead implement ITelemetryBaseLogger from @fluidframework/core-interfaces (simple send method) and call @fluidframework/telemetry-utils's createChildLogger({ logger: your_logger_impl }) to safely create the expected ITelemetryLoggerExt.

Expected Timeline

Removal of methods and related interfaces are expected in v2.110.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions