File tree Expand file tree Collapse file tree 3 files changed +51
-0
lines changed Expand file tree Collapse file tree 3 files changed +51
-0
lines changed Original file line number Diff line number Diff line change @@ -4,6 +4,8 @@ export enum EventNames {
4
4
5
5
ENVIRONMENT_MANAGER_REGISTERED = 'ENVIRONMENT_MANAGER.REGISTERED' ,
6
6
PACKAGE_MANAGER_REGISTERED = 'PACKAGE_MANAGER.REGISTERED' ,
7
+ ENVIRONMENT_MANAGER_SELECTED = 'ENVIRONMENT_MANAGER.SELECTED' ,
8
+ PACKAGE_MANAGER_SELECTED = 'PACKAGE_MANAGER.SELECTED' ,
7
9
8
10
VENV_USING_UV = 'VENV.USING_UV' ,
9
11
VENV_CREATION = 'VENV.CREATION' ,
@@ -44,6 +46,24 @@ export interface IEventNamePropertyMapping {
44
46
managerId : string ;
45
47
} ;
46
48
49
+ /* __GDPR__
50
+ "environment_manager.selected": {
51
+ "managerId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "owner": "karthiknadig" }
52
+ }
53
+ */
54
+ [ EventNames . ENVIRONMENT_MANAGER_SELECTED ] : {
55
+ managerId : string ;
56
+ } ;
57
+
58
+ /* __GDPR__
59
+ "package_manager.selected": {
60
+ "managerId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "owner": "karthiknadig" }
61
+ }
62
+ */
63
+ [ EventNames . PACKAGE_MANAGER_SELECTED ] : {
64
+ managerId : string ;
65
+ } ;
66
+
47
67
/* __GDPR__
48
68
"venv.using_uv": {"owner": "karthiknadig" }
49
69
*/
Original file line number Diff line number Diff line change
1
+ import { getDefaultEnvManagerSetting , getDefaultPkgManagerSetting } from '../../features/settings/settingHelpers' ;
2
+ import { PythonProjectManager } from '../../internal.api' ;
3
+ import { EventNames } from './constants' ;
4
+ import { sendTelemetryEvent } from './sender' ;
5
+
6
+ export function sendManagerSelectionTelemetry ( pm : PythonProjectManager ) {
7
+ const ems : Set < string > = new Set ( ) ;
8
+ const ps : Set < string > = new Set ( ) ;
9
+ pm . getProjects ( ) . forEach ( ( project ) => {
10
+ const m = getDefaultEnvManagerSetting ( pm , project . uri ) ;
11
+ if ( m ) {
12
+ ems . add ( m ) ;
13
+ }
14
+
15
+ const p = getDefaultPkgManagerSetting ( pm , project . uri ) ;
16
+ if ( p ) {
17
+ ps . add ( p ) ;
18
+ }
19
+ } ) ;
20
+
21
+ ems . forEach ( ( em ) => {
22
+ sendTelemetryEvent ( EventNames . ENVIRONMENT_MANAGER_SELECTED , undefined , { managerId : em } ) ;
23
+ } ) ;
24
+
25
+ ps . forEach ( ( pkg ) => {
26
+ sendTelemetryEvent ( EventNames . PACKAGE_MANAGER_SELECTED , undefined , { managerId : pkg } ) ;
27
+ } ) ;
28
+ }
Original file line number Diff line number Diff line change @@ -56,6 +56,7 @@ import { registerTools } from './common/lm.apis';
56
56
import { GetEnvironmentInfoTool , InstallPackageTool } from './features/copilotTools' ;
57
57
import { TerminalActivationImpl } from './features/terminal/terminalActivationState' ;
58
58
import { getEnvironmentForTerminal } from './features/terminal/utils' ;
59
+ import { sendManagerSelectionTelemetry } from './common/telemetry/helpers' ;
59
60
60
61
export async function activate ( context : ExtensionContext ) : Promise < PythonEnvironmentApi > {
61
62
const start = new StopWatch ( ) ;
@@ -267,8 +268,10 @@ export async function activate(context: ExtensionContext): Promise<PythonEnviron
267
268
registerSystemPythonFeatures ( nativeFinder , context . subscriptions , outputChannel ) ,
268
269
registerCondaFeatures ( nativeFinder , context . subscriptions , outputChannel ) ,
269
270
] ) ;
271
+
270
272
sendTelemetryEvent ( EventNames . EXTENSION_MANAGER_REGISTRATION_DURATION , start . elapsedTime ) ;
271
273
await terminalManager . initialize ( api ) ;
274
+ sendManagerSelectionTelemetry ( projectManager ) ;
272
275
} ) ;
273
276
274
277
sendTelemetryEvent ( EventNames . EXTENSION_ACTIVATION_DURATION , start . elapsedTime ) ;
You can’t perform that action at this time.
0 commit comments