diff --git a/USAGE_DATA.md b/USAGE_DATA.md index f765f465e..4c6d0cd90 100644 --- a/USAGE_DATA.md +++ b/USAGE_DATA.md @@ -14,6 +14,9 @@ vscode-ansible has opt-in telemetry collection, provided by - ansible-navigator run command runs successfully or fails. - Ansible vault (ansible-vault) command run in case it fails. - Resync Ansible inventory (ansible-inventory) command run in case it fails. +- Execution environment enabled or disabled +- Ansible Lightspeed enabled or disabled +- Ansible Lightspeed code assist enabled or disabled ## What's included in the general telemetry data diff --git a/src/extension.ts b/src/extension.ts index e99cb209f..fe9d6b13e 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -97,7 +97,7 @@ export async function activate(context: ExtensionContext): Promise { new AnsiblePlaybookRunProvider(context, extSettings.settings, telemetry); // handle metadata status bar - const metaData = new MetadataManager(context, client, telemetry); + const metaData = new MetadataManager(context, client, telemetry, extSettings); metaData.updateAnsibleInfoInStatusbar(); // handle Ansible Lightspeed diff --git a/src/features/ansibleMetaData.ts b/src/features/ansibleMetaData.ts index c1f1ee62c..3f9cd8d50 100644 --- a/src/features/ansibleMetaData.ts +++ b/src/features/ansibleMetaData.ts @@ -12,16 +12,21 @@ import { LanguageClient } from "vscode-languageclient/node"; import { TelemetryManager } from "../utils/telemetryUtils"; import { formatAnsibleMetaData } from "./utils/formatAnsibleMetaData"; import { compareObjects } from "./utils/data"; +import { SettingsManager } from "../settings"; interface ansibleMetadataEvent { ansibleVersion: string; ansibleLintVersion?: string; eeEnabled: boolean; + lightSpeedEnabled: boolean; + lightSpeedCodeAssistEnabled: boolean; } let prevEventData: ansibleMetadataEvent = { ansibleVersion: "", eeEnabled: false, + lightSpeedEnabled: false, + lightSpeedCodeAssistEnabled: false, }; export class MetadataManager { @@ -30,15 +35,18 @@ export class MetadataManager { private cachedAnsibleVersion = ""; private metadataStatusBarItem: StatusBarItem; private telemetry: TelemetryManager; + private extensionSettings: SettingsManager; constructor( context: ExtensionContext, client: LanguageClient, - telemetry: TelemetryManager + telemetry: TelemetryManager, + extensionSettings: SettingsManager ) { this.context = context; this.client = client; this.telemetry = telemetry; + this.extensionSettings = extensionSettings; this.metadataStatusBarItem = this.initialiseStatusBar(); } @@ -105,7 +113,13 @@ export class MetadataManager { const eventData: ansibleMetadataEvent = { ansibleVersion: ansibleMetaData.metaData["ansible information"]["core version"], - eeEnabled: ansibleMetaData.eeEnabled, + eeEnabled: + this.extensionSettings.settings.executionEnvironment.enabled, + lightSpeedEnabled: + this.extensionSettings.settings.lightSpeedService.enabled, + lightSpeedCodeAssistEnabled: + this.extensionSettings.settings.lightSpeedService.suggestions + .enabled, }; if (ansibleMetaData.ansibleLintPresent) { eventData["ansibleLintVersion"] = diff --git a/src/features/utils/formatAnsibleMetaData.ts b/src/features/utils/formatAnsibleMetaData.ts index 5cd42bd4f..89074dac1 100644 --- a/src/features/utils/formatAnsibleMetaData.ts +++ b/src/features/utils/formatAnsibleMetaData.ts @@ -32,7 +32,6 @@ export function formatAnsibleMetaData(ansibleMetaData: any) { markdown, ansiblePresent, ansibleLintPresent, - eeEnabled, }; }