diff --git a/extensions/telemetry/src/tracker.ts b/extensions/telemetry/src/tracker.ts index f2d3c6c918..a4312ac07d 100644 --- a/extensions/telemetry/src/tracker.ts +++ b/extensions/telemetry/src/tracker.ts @@ -74,12 +74,12 @@ export class Tracker extends Util.Singleton { protected reportData() { const clustersList = Store.clusterStore.enabledClustersList - this.event("generic-data", "report", { appVersion: App.version, os: this.os, clustersCount: clustersList.length, - workspacesCount: Store.workspaceStore.enabledWorkspacesList.length + workspacesCount: Store.workspaceStore.enabledWorkspacesList.length, + extensions: App.getEnabledExtensions() }) clustersList.forEach((cluster) => { diff --git a/src/extensions/core-api/app.ts b/src/extensions/core-api/app.ts index f3e44ed001..46657459d4 100644 --- a/src/extensions/core-api/app.ts +++ b/src/extensions/core-api/app.ts @@ -1,4 +1,8 @@ import { getAppVersion } from "../../common/utils"; +import { extensionsStore } from "../extensions-store"; export const version = getAppVersion() -export { isSnap, isWindows, isMac, isLinux, appName, slackUrl, issuesTrackerUrl } from "../../common/vars" \ No newline at end of file +export { isSnap, isWindows, isMac, isLinux, appName, slackUrl, issuesTrackerUrl } from "../../common/vars" +export function getEnabledExtensions(): string[] { + return extensionsStore.enabledExtensions +} diff --git a/src/extensions/extensions-store.ts b/src/extensions/extensions-store.ts index ba942c41d9..e2cc8fe3a2 100644 --- a/src/extensions/extensions-store.ts +++ b/src/extensions/extensions-store.ts @@ -9,6 +9,7 @@ export interface LensExtensionsStoreModel { export interface LensExtensionState { enabled?: boolean; + name: string; } export class ExtensionsStore extends BaseStore { @@ -20,11 +21,16 @@ export class ExtensionsStore extends BaseStore { protected state = observable.map(); + get enabledExtensions(): string[] { + return Array.from(this.state.toJS().values()).filter(ext => ext.enabled).map(ext => ext.name ) + } + protected getState(extensionLoader: ExtensionLoader) { const state: Record = {}; return Array.from(extensionLoader.userExtensions).reduce((state, [extId, ext]) => { state[extId] = { enabled: ext.isEnabled, + name: ext.manifest.name, } return state; }, state)