Skip to content

Commit 7921cac

Browse files
authored
Change names of telemetry properties captured during load of ext (microsoft#4113)
For microsoft#3901 Change names of telemetry properties, original properties seem to be have suppressed.
1 parent 2bd5043 commit 7921cac

File tree

2 files changed

+18
-11
lines changed

2 files changed

+18
-11
lines changed

src/client/extension.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ import { ISortImportsEditingProvider } from './providers/types';
9797
import { activateUpdateSparkLibraryProvider } from './providers/updateSparkLibraryProvider';
9898
import { sendTelemetryEvent } from './telemetry';
9999
import { EventName } from './telemetry/constants';
100+
import { EditorLoadTelemetry } from './telemetry/types';
100101
import { registerTypes as commonRegisterTerminalTypes } from './terminals/serviceRegistry';
101102
import { ICodeExecutionManager, ITerminalAutoActivation } from './terminals/types';
102103
import { TEST_OUTPUT_CHANNEL } from './unittests/common/constants';
@@ -296,6 +297,7 @@ function initializeServices(context: ExtensionContext, serviceManager: ServiceMa
296297
async function sendStartupTelemetry(activatedPromise: Promise<any>, serviceContainer: IServiceContainer) {
297298
try {
298299
await activatedPromise;
300+
durations.totalActivateTime = stopWatch.elapsedTime;
299301
const props = await getActivationTelemetryProps(serviceContainer);
300302
sendTelemetryEvent(EventName.EDITOR_LOAD, durations, props);
301303
} catch (ex) {
@@ -313,9 +315,9 @@ function isUsingGlobalInterpreterInWorkspace(currentPythonPath: string, serviceC
313315
function hasUserDefinedPythonPath(resource: Resource, serviceContainer: IServiceContainer) {
314316
const workspaceService = serviceContainer.get<IWorkspaceService>(IWorkspaceService);
315317
const settings = workspaceService.getConfiguration('python', resource)!.inspect<string>('pythonPath')!;
316-
return (settings.workspaceFolderValue && settings.workspaceFolderValue !== 'python') ||
318+
return ((settings.workspaceFolderValue && settings.workspaceFolderValue !== 'python') ||
317319
(settings.workspaceValue && settings.workspaceValue !== 'python') ||
318-
(settings.globalValue && settings.globalValue !== 'python');
320+
(settings.globalValue && settings.globalValue !== 'python')) ? true : false;
319321
}
320322

321323
function getPreferredWorkspaceInterpreter(resource: Resource, serviceContainer: IServiceContainer) {
@@ -328,7 +330,7 @@ function getPreferredWorkspaceInterpreter(resource: Resource, serviceContainer:
328330
// telemetry
329331

330332
// tslint:disable-next-line:no-any
331-
async function getActivationTelemetryProps(serviceContainer: IServiceContainer): Promise<any> {
333+
async function getActivationTelemetryProps(serviceContainer: IServiceContainer): Promise<EditorLoadTelemetry> {
332334
// tslint:disable-next-line:no-suspicious-comment
333335
// TODO: Not all of this data is showing up in the database...
334336
// tslint:disable-next-line:no-suspicious-comment
@@ -351,10 +353,10 @@ async function getActivationTelemetryProps(serviceContainer: IServiceContainer):
351353
const workspaceFolderCount = workspaceService.hasWorkspaceFolders ? workspaceService.workspaceFolders!.length : 0;
352354
const pythonVersion = interpreter && interpreter.version ? interpreter.version.raw : undefined;
353355
const interpreterType = interpreter ? interpreter.type : undefined;
354-
const hasUserDefinedInterpreter = hasUserDefinedPythonPath(mainWorkspaceUri, serviceContainer);
356+
const usingUserDefinedInterpreter = hasUserDefinedPythonPath(mainWorkspaceUri, serviceContainer);
355357
const preferredWorkspaceInterpreter = getPreferredWorkspaceInterpreter(mainWorkspaceUri, serviceContainer);
356-
const isUsingGlobalInterpreter = isUsingGlobalInterpreterInWorkspace(settings.pythonPath, serviceContainer);
357-
const isAutoSelectedWorkspaceInterpreterUsed = preferredWorkspaceInterpreter ? settings.pythonPath === getPreferredWorkspaceInterpreter(mainWorkspaceUri, serviceContainer) : undefined;
358+
const usingGlobalInterpreter = isUsingGlobalInterpreterInWorkspace(settings.pythonPath, serviceContainer);
359+
const usingAutoSelectedWorkspaceInterpreter = preferredWorkspaceInterpreter ? settings.pythonPath === getPreferredWorkspaceInterpreter(mainWorkspaceUri, serviceContainer) : false;
358360
const hasPython3 = interpreters
359361
.filter(item => item && item.version ? item.version.major === 3 : false)
360362
.length > 0;
@@ -366,9 +368,9 @@ async function getActivationTelemetryProps(serviceContainer: IServiceContainer):
366368
interpreterType,
367369
workspaceFolderCount,
368370
hasPython3,
369-
hasUserDefinedInterpreter,
370-
isAutoSelectedWorkspaceInterpreterUsed,
371-
isUsingGlobalInterpreter
371+
usingUserDefinedInterpreter,
372+
usingAutoSelectedWorkspaceInterpreter,
373+
usingGlobalInterpreter
372374
};
373375
}
374376

src/client/telemetry/types.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,14 @@ import { PlatformErrors } from './constants';
1212

1313
export type EditorLoadTelemetry = {
1414
condaVersion: string | undefined;
15+
pythonVersion: string | undefined;
16+
interpreterType: InterpreterType | undefined;
1517
terminal: TerminalShellType;
16-
hasUserDefinedInterpreter: boolean;
17-
isAutoSelectedWorkspaceInterpreterUsed: boolean;
18+
workspaceFolderCount: number;
19+
hasPython3: boolean;
20+
usingUserDefinedInterpreter: boolean;
21+
usingAutoSelectedWorkspaceInterpreter: boolean;
22+
usingGlobalInterpreter: boolean;
1823
};
1924
export type FormatTelemetry = {
2025
tool: 'autopep8' | 'black' | 'yapf';

0 commit comments

Comments
 (0)