@@ -97,6 +97,7 @@ import { ISortImportsEditingProvider } from './providers/types';
9797import { activateUpdateSparkLibraryProvider } from './providers/updateSparkLibraryProvider' ;
9898import { sendTelemetryEvent } from './telemetry' ;
9999import { EventName } from './telemetry/constants' ;
100+ import { EditorLoadTelemetry } from './telemetry/types' ;
100101import { registerTypes as commonRegisterTerminalTypes } from './terminals/serviceRegistry' ;
101102import { ICodeExecutionManager , ITerminalAutoActivation } from './terminals/types' ;
102103import { TEST_OUTPUT_CHANNEL } from './unittests/common/constants' ;
@@ -296,6 +297,7 @@ function initializeServices(context: ExtensionContext, serviceManager: ServiceMa
296297async 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
313315function 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
321323function 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
0 commit comments