Skip to content

Commit beb928a

Browse files
amitjoshi438Amit Joshiclaude
authored
Fix missing telemetry context fields for web extension events (#1554)
PR #1490 removed tenantId, websiteId, dataSource, and schema from the WEB_EXTENSION_INIT_QUERY_PARAMETERS telemetry event but oneDSLogger still reads them to populate global context. This caused these fields to be empty for all web extension events. Restore them sourced from WebExtensionContext which is already populated by initializeWebsiteDetails(). Co-authored-by: Amit Joshi <amitjoshi@microsoft.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 304d8e8 commit beb928a

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

src/web/client/telemetry/webExtensionTelemetry.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { webExtensionTelemetryEventNames } from "../../../common/OneDSLoggerTele
99
import { IPortalWebExtensionInitQueryParametersTelemetryData, IWebExtensionAPITelemetryData, IWebExtensionExceptionTelemetryData, IWebExtensionInitPathTelemetryData, IWebExtensionPerfTelemetryData } from "../../../common/OneDSLoggerTelemetry/web/client/webExtensionTelemetryInterface";
1010
import { getEnvironmentIdFromUrl, isNullOrUndefined } from '../utilities/commonUtil';
1111
import { oneDSLoggerWrapper } from "../../../common/OneDSLoggerTelemetry/oneDSLoggerWrapper";
12+
import WebExtensionContext from "../WebExtensionContext";
1213

1314
export class WebExtensionTelemetry {
1415

@@ -33,7 +34,10 @@ export class WebExtensionTelemetry {
3334
eventName: webExtensionTelemetryEventNames.WEB_EXTENSION_INIT_QUERY_PARAMETERS,
3435
properties: {
3536
orgId: queryParamsMap.get(queryParameters.ORG_ID),
37+
tenantId: WebExtensionContext.tenantId,
38+
websiteId: WebExtensionContext.websiteId,
3639
portalId: queryParamsMap.get(queryParameters.PORTAL_ID),
40+
schema: WebExtensionContext.schema,
3741
referrerSessionId: queryParamsMap.get(queryParameters.REFERRER_SESSION_ID),
3842
referrer: queryParamsMap.get(queryParameters.REFERRER),
3943
geo: queryParamsMap.get(queryParameters.GEO),

src/web/client/test/integration/webExtensionTelemetry.test.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@
44
*/
55

66
import sinon, { stub, assert } from "sinon";
7-
import { queryParameters } from "../../common/constants";
7+
import { portalSchemaVersion, queryParameters } from "../../common/constants";
88
import { sanitizeURL } from "../../utilities/urlBuilderUtil";
99
import { webExtensionTelemetryEventNames } from "../../../../common/OneDSLoggerTelemetry/web/client/webExtensionTelemetryEvents";
1010
import { WebExtensionTelemetry } from "../../telemetry/webExtensionTelemetry";
1111
import * as commonUtil from "../../utilities/commonUtil";
1212
import { expect } from "chai";
1313
import { oneDSLoggerWrapper } from "../../../../common/OneDSLoggerTelemetry/oneDSLoggerWrapper";
14+
import WebExtensionContext from "../../WebExtensionContext";
1415

1516
describe("webExtensionTelemetry", () => {
1617
let traceInfoStub: sinon.SinonStub;
@@ -86,6 +87,10 @@ describe("webExtensionTelemetry", () => {
8687

8788
it("sendExtensionInitQueryParametersTelemetry_whenQueryParamHaveAllTheKey_shouldCallSendTelemetryEventWithValidData", () => {
8889
//Act
90+
WebExtensionContext.tenantId = "a1103406-182b-4498-80f0-e1a5d92e9f82";
91+
WebExtensionContext.websiteId = "783ee9d0-4199-4e5a-aece-ea87b9d83f77";
92+
WebExtensionContext.schema = portalSchemaVersion.V2;
93+
8994
const queryParamsMap = new Map<string, string>([
9095
[queryParameters.ORG_ID, "e5dce21c-f85f-4849-b699-920c0fad5fbf"],
9196
[queryParameters.PORTAL_ID, "36429b2e-8b29-4020-8493-bd5e277444d8"],
@@ -106,7 +111,10 @@ describe("webExtensionTelemetry", () => {
106111

107112
const properties = {
108113
orgId: queryParamsMap.get(queryParameters.ORG_ID),
114+
tenantId: "a1103406-182b-4498-80f0-e1a5d92e9f82",
115+
websiteId: "783ee9d0-4199-4e5a-aece-ea87b9d83f77",
109116
portalId: queryParamsMap.get(queryParameters.PORTAL_ID),
117+
schema: portalSchemaVersion.V2,
110118
referrerSessionId: queryParamsMap.get(
111119
queryParameters.REFERRER_SESSION_ID
112120
),
@@ -139,11 +147,18 @@ describe("webExtensionTelemetry", () => {
139147

140148
it("sendExtensionInitQueryParametersTelemetry_whenQueryParamsMapIsEmpty_shouldNotThrowException", () => {
141149
//Act
150+
WebExtensionContext.tenantId = "";
151+
WebExtensionContext.websiteId = "";
152+
WebExtensionContext.schema = undefined;
153+
142154
const queryParamsMap = new Map<string, string>([]);
143155

144156
const properties = {
145157
orgId: queryParamsMap.get(queryParameters.ORG_ID),
158+
tenantId: "",
159+
websiteId: "",
146160
portalId: queryParamsMap.get(queryParameters.PORTAL_ID),
161+
schema: undefined,
147162
referrerSessionId: queryParamsMap.get(
148163
queryParameters.REFERRER_SESSION_ID
149164
),

0 commit comments

Comments
 (0)