You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Removes the per-event eventType override from UwtBITelemetryService.track(). Every BI event is now recorded under the single {ns}.bi type, with eventName as a field.
The override existed so dashboards built on older event types could keep working during migration. We don't need that. It also let an event leave the one-type model, and a custom type ending in .bi couldn't be told apart from a standard BI event.
Changes
API (breaking):UwtBIEventDetail no longer has eventType, only scenarioId and feature. It's now the single interface for these fields; the unexported UwtBIEventCorrelation it aliased is removed, and UwtBIEvent extends UwtBIEventDetail.
BI service: always records {ns}.bi. The event type is no longer part of the duplicate-detection key.
Docs: DESIGN.md's "One event type" section loses the override example, and the duplicate-detection rule, exports table and classifier docs are updated. The classifier's unknown kind is now described as "any other event type".
Tests: the override tests are replaced with one checking that BI events always use {ns}.bi. The delimiter-collision test now uses scenarioId instead of eventType.
Breaking change
Callers passing eventType in track()'s third argument get a TypeScript error and must remove it. Those events are then recorded as {ns}.bi.
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
One or more issues must be addressed before approval.
0 open findings
What changed in this PR
Removes per-event BI event-type overrides so all BI events use {namespace}.bi, updates deduplication and public models, and aligns documentation/tests.
Changes:
Simplifies UwtBIEventDetail and UwtBIEvent.
Always emits BI events under the namespace BI type.
The production key no longer includes eventType, but the replacement test only verifies the emitted type for a single legacy-shaped call. It does not protect the changed deduplication contract: two otherwise identical events carrying different legacy eventType values must now collapse to one. Please add a second track call with a different override and assert that only one event is recorded.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removes the per-event
eventTypeoverride fromUwtBITelemetryService.track(). Every BI event is now recorded under the single{ns}.bitype, witheventNameas a field.The override existed so dashboards built on older event types could keep working during migration. We don't need that. It also let an event leave the one-type model, and a custom type ending in
.bicouldn't be told apart from a standard BI event.Changes
UwtBIEventDetailno longer haseventType, onlyscenarioIdandfeature. It's now the single interface for these fields; the unexportedUwtBIEventCorrelationit aliased is removed, andUwtBIEventextendsUwtBIEventDetail.{ns}.bi. The event type is no longer part of the duplicate-detection key.unknownkind is now described as "any other event type".{ns}.bi. The delimiter-collision test now usesscenarioIdinstead ofeventType.Breaking change
Callers passing
eventTypeintrack()'s third argument get a TypeScript error and must remove it. Those events are then recorded as{ns}.bi.Closes #13