Skip to content

Commit d6fc846

Browse files
authored
feat: telemetry when using quick create (#269)
closes #268
1 parent 8b61569 commit d6fc846

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

src/common/telemetry/constants.ts

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
export enum EventNames {
2-
EXTENSION_ACTIVATION_DURATION = "EXTENSION.ACTIVATION_DURATION",
3-
EXTENSION_MANAGER_REGISTRATION_DURATION = "EXTENSION.MANAGER_REGISTRATION_DURATION",
2+
EXTENSION_ACTIVATION_DURATION = 'EXTENSION.ACTIVATION_DURATION',
3+
EXTENSION_MANAGER_REGISTRATION_DURATION = 'EXTENSION.MANAGER_REGISTRATION_DURATION',
44

5-
ENVIRONMENT_MANAGER_REGISTERED = "ENVIRONMENT_MANAGER.REGISTERED",
6-
PACKAGE_MANAGER_REGISTERED = "PACKAGE_MANAGER.REGISTERED",
5+
ENVIRONMENT_MANAGER_REGISTERED = 'ENVIRONMENT_MANAGER.REGISTERED',
6+
PACKAGE_MANAGER_REGISTERED = 'PACKAGE_MANAGER.REGISTERED',
77

8-
VENV_USING_UV = "VENV.USING_UV",
8+
VENV_USING_UV = 'VENV.USING_UV',
9+
VENV_CREATION = 'VENV.CREATION',
910
}
1011

1112
// Map all events to their properties
@@ -45,4 +46,13 @@ export interface IEventNamePropertyMapping {
4546
"venv.using_uv": {"owner": "karthiknadig" }
4647
*/
4748
[EventNames.VENV_USING_UV]: never | undefined;
49+
50+
/* __GDPR__
51+
"venv.creation": {
52+
"creationType": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "owner": "karthiknadig" }
53+
}
54+
*/
55+
[EventNames.VENV_CREATION]: {
56+
creationType: 'quick' | 'custom';
57+
};
4858
}

src/managers/builtin/venvUtils.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ import { showErrorMessage } from '../../common/errors/utils';
3232
import { Common, VenvManagerStrings } from '../../common/localize';
3333
import { isUvInstalled, runUV, runPython } from './helpers';
3434
import { getProjectInstallable, getWorkspacePackagesToInstall } from './pipUtils';
35+
import { sendTelemetryEvent } from '../../common/telemetry/sender';
36+
import { EventNames } from '../../common/telemetry/constants';
3537

3638
export const VENV_WORKSPACE_KEY = `${ENVS_EXTENSION_ID}:venv:WORKSPACE_SELECTED`;
3739
export const VENV_GLOBAL_KEY = `${ENVS_EXTENSION_ID}:venv:GLOBAL_SELECTED`;
@@ -462,6 +464,7 @@ export async function createPythonVenv(
462464
if (customize === undefined) {
463465
return;
464466
} else if (customize === false) {
467+
sendTelemetryEvent(EventNames.VENV_CREATION, undefined, { creationType: 'quick' });
465468
const installables = await getProjectInstallable(api, project ? [project] : undefined);
466469
return await createWithProgress(
467470
nativeFinder,
@@ -473,6 +476,8 @@ export async function createPythonVenv(
473476
path.join(venvRoot.fsPath, '.venv'),
474477
installables?.flatMap((i) => i.args ?? []),
475478
);
479+
} else {
480+
sendTelemetryEvent(EventNames.VENV_CREATION, undefined, { creationType: 'custom' });
476481
}
477482

478483
const basePython = await pickEnvironmentFrom(sortedEnvs);

0 commit comments

Comments
 (0)