Skip to content

Commit

Permalink
Update Ansible metadata event (#853)
Browse files Browse the repository at this point in the history
* Update Ansible metadata event

*  Add telemetry to identify if Ansible Lightspeed and
   code assist is enabled or disabled
*  Read EE enabled from VSCode Ansible settings

* fix typo
  • Loading branch information
ganeshrn authored Apr 15, 2023
1 parent 9a8aa05 commit 1857c62
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 4 deletions.
3 changes: 3 additions & 0 deletions USAGE_DATA.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ export async function activate(context: ExtensionContext): Promise<void> {
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
Expand Down
18 changes: 16 additions & 2 deletions src/features/ansibleMetaData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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();
}
Expand Down Expand Up @@ -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"] =
Expand Down
1 change: 0 additions & 1 deletion src/features/utils/formatAnsibleMetaData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ export function formatAnsibleMetaData(ansibleMetaData: any) {
markdown,
ansiblePresent,
ansibleLintPresent,
eeEnabled,
};
}

Expand Down

0 comments on commit 1857c62

Please sign in to comment.