-
Notifications
You must be signed in to change notification settings - Fork 568
Breaking Change: @fluidframework/telemetry-utils — Type-erase ITelemetryLoggerExt #26910
Description
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.