Skip to content

Commit 483f429

Browse files
committed
Only add utc flag with telemetry.internalTesting enabled
1 parent b8143e0 commit 483f429

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

src/browser/telemetryReporter.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ export default class TelemetryReporter extends BaseTelemetryReporter {
7575
let clientFactory = (key: string) => webAppInsightsClientFactory(key, replacementOptions);
7676
// If key is usable by 1DS use the 1DS SDk
7777
if (TelemetryUtil.shouldUseOneDataSystemSDK(key)) {
78-
clientFactory = (key: string) => oneDataSystemClientFactory(key);
78+
clientFactory = (key: string) => oneDataSystemClientFactory(key, vscode);
7979
}
8080

8181
const appender = new BaseTelemetryAppender(key, clientFactory);

src/common/1dsClientFactory.ts

+10-3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import type { AppInsightsCore, IExtendedConfiguration } from "@microsoft/1ds-core-js";
77
import type { IChannelConfiguration, IXHROverride, PostChannel } from "@microsoft/1ds-post-js";
8+
import type * as vscode from "vscode";
89
import type { BaseTelemetryClient } from "./baseTelemetryAppender";
910
import { AppenderData } from "./baseTelemetryReporter";
1011

@@ -14,7 +15,7 @@ import { AppenderData } from "./baseTelemetryReporter";
1415
* @param xhrOverride An optional override to use for requests instead of the XHTMLRequest object. Useful for node environments
1516
* @returns The AI core object
1617
*/
17-
const getAICore = async (key: string, xhrOverride?: IXHROverride): Promise<AppInsightsCore> => {
18+
const getAICore = async (key: string, vscodeAPI: typeof vscode, xhrOverride?: IXHROverride): Promise<AppInsightsCore> => {
1819
const oneDs = await import("@microsoft/1ds-core-js");
1920
const postPlugin = await import("@microsoft/1ds-post-js");
2021
const appInsightsCore = new oneDs.AppInsightsCore();
@@ -46,6 +47,12 @@ const getAICore = async (key: string, xhrOverride?: IXHROverride): Promise<AppIn
4647
appInsightsCore.initialize(coreConfig, []);
4748

4849
appInsightsCore.addTelemetryInitializer((envelope) => {
50+
const config = vscodeAPI.workspace.getConfiguration("telemetry");
51+
const internalTesting = config.get<boolean>("internalTesting");
52+
// Only add this flag when `telemetry.internalTesting` is enabled
53+
if (!internalTesting) {
54+
return;
55+
}
4956
envelope["ext"] = envelope["ext"] ?? {};
5057
envelope["ext"]["utc"] = envelope["ext"]["utc"] ?? {};
5158
// Sets it to be internal only based on Windows UTC flagging
@@ -60,8 +67,8 @@ const getAICore = async (key: string, xhrOverride?: IXHROverride): Promise<AppIn
6067
* @param key The ingestion key
6168
* @param xhrOverride An optional override to use for requests instead of the XHTMLRequest object. Useful for node environments
6269
*/
63-
export const oneDataSystemClientFactory = async (key: string, xhrOverride?: IXHROverride): Promise<BaseTelemetryClient> => {
64-
const appInsightsCore = await getAICore(key, xhrOverride);
70+
export const oneDataSystemClientFactory = async (key: string, vscodeAPI: typeof vscode, xhrOverride?: IXHROverride): Promise<BaseTelemetryClient> => {
71+
const appInsightsCore = await getAICore(key, vscodeAPI, xhrOverride);
6572
// Shape the app insights core from 1DS into a standard format
6673
const telemetryClient: BaseTelemetryClient = {
6774
logEvent: (eventName: string, data?: AppenderData) => {

src/node/telemetryReporter.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ export default class TelemetryReporter extends BaseTelemetryReporter {
163163
let clientFactory = (key: string) => appInsightsClientFactory(key, replacementOptions);
164164
// If key is usable by 1DS use the 1DS SDk
165165
if (TelemetryUtil.shouldUseOneDataSystemSDK(key)) {
166-
clientFactory = (key: string) => oneDataSystemClientFactory(key, getXHROverride());
166+
clientFactory = (key: string) => oneDataSystemClientFactory(key, vscode, getXHROverride());
167167
}
168168

169169
const appender = new BaseTelemetryAppender(key, clientFactory);

0 commit comments

Comments
 (0)