diff --git a/src/sql/platform/backup/common/backupServiceImp.ts b/src/sql/platform/backup/common/backupServiceImp.ts index 2d74ec1b66..7df4f9aa00 100644 --- a/src/sql/platform/backup/common/backupServiceImp.ts +++ b/src/sql/platform/backup/common/backupServiceImp.ts @@ -42,7 +42,7 @@ export class BackupService implements IBackupService { return new Promise((resolve, reject) => { const providerResult = this.getProvider(connectionUri); if (providerResult) { - this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.BackupCreated) + this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.BackupCreated) .withAdditionalProperties({ providerId: providerResult.providerName }) .send(); providerResult.provider.backup(connectionUri, backupInfo, taskExecutionMode).then(result => { diff --git a/src/sql/platform/telemetry/common/telemetryKeys.ts b/src/sql/platform/telemetry/common/telemetryKeys.ts index 70cfbcd02d..b8431afa67 100644 --- a/src/sql/platform/telemetry/common/telemetryKeys.ts +++ b/src/sql/platform/telemetry/common/telemetryKeys.ts @@ -3,49 +3,24 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -// Telemetry Event Names - -export const DatabaseConnected = 'DatabaseConnected'; -export const DatabaseConnectionError = 'DatabaseConnectionError'; -export const DatabaseDisconnected = 'DatabaseDisconnected'; -export const DeleteConnection = 'DeleteConnection'; -export const AddServerGroup = 'AddServerGroup'; -export const MoveServerGroup = 'MoveServerGroup'; -export const MoveServerConnection = 'MoveServerConnection'; -export const DeleteServerGroup = 'DeleteServerGroup'; -export const BackupCreated = 'BackupCreated'; -export const RestoreRequested = 'RestoreRequested'; -export const ChartCreated = 'ChartCreated'; -export const ObjectExplorerExpand = 'ObjectExplorerExpand'; -export const RunQuery = 'RunQuery'; -export const RunQueryStatement = 'RunQueryStatement'; -export const RunQueryString = 'RunQueryString'; -export const CancelQuery = 'CancelQuery'; -export const NewQuery = 'NewQuery'; -export const FirewallRuleRequested = 'FirewallRuleCreated'; -export const DashboardNavigated = 'DashboardNavigated'; -export const GetDataGridItems = 'GetDataGridItems'; -export const GetDataGridColumns = 'GetDataGridColumns'; - -// Telemetry Properties - -// Modal Dialogs: -export const ErrorMessage = 'ErrorMessage'; -export const WebView = 'WebView'; -export const ConnectionAdvancedProperties = 'ConnectionAdvancedProperties'; -export const Connection = 'Connection'; -export const Backup = 'Backup'; -export const Restore = 'Restore'; -export const Insights = 'Insights'; -export const Profiler = 'Profiler'; -export const ServerGroups = 'ServerGroups'; -export const Accounts = 'Accounts'; -export const FireWallRule = 'FirewallRule'; -export const AutoOAuth = 'AutoOAuth'; -export const AddNewDashboardTab = 'AddNewDashboardTab'; -export const ProfilerFilter = 'ProfilerFilter'; -export const CalloutDialog = 'CalloutDialog'; - +export enum ModalDialogName { + ErrorMessage = 'ErrorMessage', + WebView = 'WebView', + ConnectionAdvancedProperties = 'ConnectionAdvancedProperties', + Connection = 'Connection', + Backup = 'Backup', + FileBrowser = 'FileBrowser', + Restore = 'Restore', + Insights = 'Insights', + Profiler = 'Profiler', + ServerGroups = 'ServerGroups', + Accounts = 'Accounts', + FireWallRule = 'FirewallRule', + AutoOAuth = 'AutoOAuth', + AddNewDashboardTab = 'AddNewDashboardTab', + ProfilerFilter = 'ProfilerFilter', + CalloutDialog = 'CalloutDialog' +} export enum TelemetryView { Agent = 'Agent', @@ -61,20 +36,44 @@ export enum TelemetryView { SqlAssessment = 'SqlAssessment' } +export enum TelemetryError { + DatabaseConnectionError = 'DatabaseConnectionError' +} + export enum TelemetryAction { + AddServerGroup = 'AddServerGroup', adsCommandExecuted = 'adsCommandExecuted', - Click = 'Click', - Open = 'Open', - ModelViewDashboardOpened = 'ModelViewDashboardOpened', - ModalDialogClosed = 'ModalDialogClosed', - ModalDialogOpened = 'ModalDialogOpened', - RunAgentJob = 'RunAgentJob', - StopAgentJob = 'StopAgentJob', + BackupCreated = 'BackupCreated', + DashboardNavigated = 'DashboardNavigated', + DatabaseConnected = 'DatabaseConnected', + DatabaseDisconnected = 'DatabaseDisconnected', DeleteAgentJob = 'DeleteAgentJob', DeleteAgentJobStep = 'DeleteAgentJobStep', DeleteAgentAlert = 'DeleteAgentAlert', DeleteAgentOperator = 'DeleteAgentOperator', DeleteAgentProxy = 'DeleteAgentProxy', + DeleteConnection = 'DeleteConnection', + DeleteServerGroup = 'DeleteServerGroup', + CancelQuery = 'CancelQuery', + ChartCreated = 'ChartCreated', + Click = 'Click', + FirewallRuleRequested = 'FirewallRuleCreated', + GetDataGridItems = 'GetDataGridItems', + GetDataGridColumns = 'GetDataGridColumns', + ModelViewDashboardOpened = 'ModelViewDashboardOpened', + ModalDialogClosed = 'ModalDialogClosed', + ModalDialogOpened = 'ModalDialogOpened', + MoveServerConnection = 'MoveServerConnection', + MoveServerGroup = 'MoveServerGroup', + NewQuery = 'NewQuery', + ObjectExplorerExpand = 'ObjectExplorerExpand', + Open = 'Open', + RestoreRequested = 'RestoreRequested', + RunAgentJob = 'RunAgentJob', + RunQuery = 'RunQuery', + RunQueryStatement = 'RunQueryStatement', + RunQueryString = 'RunQueryString', + StopAgentJob = 'StopAgentJob', WizardPagesNavigation = 'WizardPagesNavigation' } diff --git a/src/sql/workbench/api/browser/mainThreadDataProtocol.ts b/src/sql/workbench/api/browser/mainThreadDataProtocol.ts index fa35b43b91..13e8dab989 100644 --- a/src/sql/workbench/api/browser/mainThreadDataProtocol.ts +++ b/src/sql/workbench/api/browser/mainThreadDataProtocol.ts @@ -478,14 +478,14 @@ export class MainThreadDataProtocol extends Disposable implements MainThreadData providerId: providerId, title: title, getDataGridItems(): Thenable { - self._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.GetDataGridItems) + self._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.GetDataGridItems) .withAdditionalProperties({ provider: providerId }).send(); return self._proxy.$getDataGridItems(handle); }, getDataGridColumns(): Thenable { - self._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.GetDataGridColumns) + self._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.GetDataGridColumns) .withAdditionalProperties({ provider: providerId }).send(); diff --git a/src/sql/workbench/browser/modal/calloutDialog.ts b/src/sql/workbench/browser/modal/calloutDialog.ts index 57331884a4..62238dcac1 100644 --- a/src/sql/workbench/browser/modal/calloutDialog.ts +++ b/src/sql/workbench/browser/modal/calloutDialog.ts @@ -31,7 +31,7 @@ export abstract class CalloutDialog extends Modal { ) { super( title, - TelemetryKeys.CalloutDialog, + TelemetryKeys.ModalDialogName.CalloutDialog, telemetryService, layoutService, clipboardService, diff --git a/src/sql/workbench/contrib/backup/browser/backupDialog.ts b/src/sql/workbench/contrib/backup/browser/backupDialog.ts index eb961ee922..14d12b896b 100644 --- a/src/sql/workbench/contrib/backup/browser/backupDialog.ts +++ b/src/sql/workbench/contrib/backup/browser/backupDialog.ts @@ -37,7 +37,7 @@ export class BackupDialog extends Modal { @ILogService logService: ILogService, @ITextResourcePropertiesService textResourcePropertiesService: ITextResourcePropertiesService ) { - super('', TelemetryKeys.Backup, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService, { isAngular: true, hasErrors: true }); + super('', TelemetryKeys.ModalDialogName.Backup, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService, { isAngular: true, hasErrors: true }); } protected renderBody(container: HTMLElement) { diff --git a/src/sql/workbench/contrib/dashboard/browser/dashboard.module.ts b/src/sql/workbench/contrib/dashboard/browser/dashboard.module.ts index ba15cb9327..5290fd0ba3 100644 --- a/src/sql/workbench/contrib/dashboard/browser/dashboard.module.ts +++ b/src/sql/workbench/contrib/dashboard/browser/dashboard.module.ts @@ -175,7 +175,7 @@ export const DashboardModule = (params, selector: string, instantiationService: this._router.events.subscribe(e => { if (e instanceof NavigationEnd) { this.navigations++; - this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.DashboardNavigated) + this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.DashboardNavigated) .withAdditionalProperties({ numberOfNavigations: this.navigations }) .send(); } diff --git a/src/sql/workbench/contrib/dashboard/browser/widgets/insights/views/charts/chartInsight.component.ts b/src/sql/workbench/contrib/dashboard/browser/widgets/insights/views/charts/chartInsight.component.ts index 081afbc951..624fffec3c 100644 --- a/src/sql/workbench/contrib/dashboard/browser/widgets/insights/views/charts/chartInsight.component.ts +++ b/src/sql/workbench/contrib/dashboard/browser/widgets/insights/views/charts/chartInsight.component.ts @@ -76,7 +76,7 @@ export abstract class ChartInsight extends Disposable implements IInsightsView { this._hasError = true; this._changeRef.detectChanges(); } - this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.ChartCreated) + this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.ChartCreated) .withAdditionalProperties({ type: this.chartType }) .send(); } diff --git a/src/sql/workbench/contrib/notebook/browser/calloutDialog/imageCalloutDialog.ts b/src/sql/workbench/contrib/notebook/browser/calloutDialog/imageCalloutDialog.ts index a1149d60a9..fe6ae17f42 100644 --- a/src/sql/workbench/contrib/notebook/browser/calloutDialog/imageCalloutDialog.ts +++ b/src/sql/workbench/contrib/notebook/browser/calloutDialog/imageCalloutDialog.ts @@ -66,7 +66,7 @@ export class ImageCalloutDialog extends Modal { ) { super( title, - TelemetryKeys.CalloutDialog, + TelemetryKeys.ModalDialogName.CalloutDialog, telemetryService, layoutService, clipboardService, diff --git a/src/sql/workbench/contrib/notebook/browser/calloutDialog/linkCalloutDialog.ts b/src/sql/workbench/contrib/notebook/browser/calloutDialog/linkCalloutDialog.ts index c73196bbe2..e3e4e486da 100644 --- a/src/sql/workbench/contrib/notebook/browser/calloutDialog/linkCalloutDialog.ts +++ b/src/sql/workbench/contrib/notebook/browser/calloutDialog/linkCalloutDialog.ts @@ -56,7 +56,7 @@ export class LinkCalloutDialog extends Modal { ) { super( title, - TelemetryKeys.CalloutDialog, + TelemetryKeys.ModalDialogName.CalloutDialog, telemetryService, layoutService, clipboardService, diff --git a/src/sql/workbench/contrib/webview/browser/webViewDialog.ts b/src/sql/workbench/contrib/webview/browser/webViewDialog.ts index 518ad68680..8d1b3d6673 100644 --- a/src/sql/workbench/contrib/webview/browser/webViewDialog.ts +++ b/src/sql/workbench/contrib/webview/browser/webViewDialog.ts @@ -49,7 +49,7 @@ export class WebViewDialog extends Modal { @IWebviewService private readonly webviewService: IWebviewService, @ITextResourcePropertiesService textResourcePropertiesService: ITextResourcePropertiesService ) { - super('', TelemetryKeys.WebView, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService, { dialogStyle: 'normal', hasTitleIcon: true }); + super('', TelemetryKeys.ModalDialogName.WebView, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService, { dialogStyle: 'normal', hasTitleIcon: true }); this._okLabel = localize('webViewDialog.ok', "OK"); this._closeLabel = localize('webViewDialog.close', "Close"); } diff --git a/src/sql/workbench/services/accountManagement/browser/accountDialog.ts b/src/sql/workbench/services/accountManagement/browser/accountDialog.ts index 07b0657395..30fafcbe67 100644 --- a/src/sql/workbench/services/accountManagement/browser/accountDialog.ts +++ b/src/sql/workbench/services/accountManagement/browser/accountDialog.ts @@ -167,7 +167,7 @@ export class AccountDialog extends Modal { ) { super( localize('linkedAccounts', "Linked accounts"), - TelemetryKeys.Accounts, + TelemetryKeys.ModalDialogName.Accounts, telemetryService, layoutService, clipboardService, diff --git a/src/sql/workbench/services/accountManagement/browser/autoOAuthDialog.ts b/src/sql/workbench/services/accountManagement/browser/autoOAuthDialog.ts index 69b8deab92..d545479c8a 100644 --- a/src/sql/workbench/services/accountManagement/browser/autoOAuthDialog.ts +++ b/src/sql/workbench/services/accountManagement/browser/autoOAuthDialog.ts @@ -55,7 +55,7 @@ export class AutoOAuthDialog extends Modal { ) { super( '', - TelemetryKeys.AutoOAuth, + TelemetryKeys.ModalDialogName.AutoOAuth, telemetryService, layoutService, clipboardService, diff --git a/src/sql/workbench/services/connection/browser/advancedPropertiesController.ts b/src/sql/workbench/services/connection/browser/advancedPropertiesController.ts index 4e7cef9764..6beaca4621 100644 --- a/src/sql/workbench/services/connection/browser/advancedPropertiesController.ts +++ b/src/sql/workbench/services/connection/browser/advancedPropertiesController.ts @@ -32,7 +32,7 @@ export class AdvancedPropertiesController { public get advancedDialog() { if (!this._advancedDialog) { this._advancedDialog = this._instantiationService.createInstance( - OptionsDialog, localize('connectionAdvancedProperties', "Advanced Properties"), TelemetryKeys.ConnectionAdvancedProperties, { hasBackButton: true, cancelLabel: localize('advancedProperties.discard', "Discard") }); + OptionsDialog, localize('connectionAdvancedProperties', "Advanced Properties"), TelemetryKeys.ModalDialogName.ConnectionAdvancedProperties, { hasBackButton: true, cancelLabel: localize('advancedProperties.discard', "Discard") }); this._advancedDialog.onCloseEvent(() => this._onCloseAdvancedProperties()); this._advancedDialog.onOk(() => this.handleOnOk()); this._advancedDialog.render(); diff --git a/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts b/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts index c4ad338e05..fe2d2c243c 100644 --- a/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts +++ b/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts @@ -113,7 +113,7 @@ export class ConnectionDialogWidget extends Modal { ) { super( localize('connection', "Connection"), - TelemetryKeys.Connection, + TelemetryKeys.ModalDialogName.Connection, telemetryService, layoutService, clipboardService, diff --git a/src/sql/workbench/services/connection/browser/connectionManagementService.ts b/src/sql/workbench/services/connection/browser/connectionManagementService.ts index 89ddcd6b83..9c9a47afcf 100644 --- a/src/sql/workbench/services/connection/browser/connectionManagementService.ts +++ b/src/sql/workbench/services/connection/browser/connectionManagementService.ts @@ -669,7 +669,7 @@ export class ConnectionManagementService extends Disposable implements IConnecti } public saveProfileGroup(profile: IConnectionProfileGroup): Promise { - this._telemetryService.sendActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.AddServerGroup); + this._telemetryService.sendActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.AddServerGroup); return this._connectionStore.saveProfileGroup(profile).then(groupId => { this._onAddConnectionProfile.fire(undefined); return groupId; @@ -954,7 +954,7 @@ export class ConnectionManagementService extends Disposable implements IConnecti connection.extensionTimer.stop(); connection.connectHandler(true); - this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.DatabaseConnected) + this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.DatabaseConnected) .withConnectionInfo(connection.connectionProfile) .withServerInfo(connection.serverInfo) .withAdditionalMeasurements({ @@ -968,7 +968,7 @@ export class ConnectionManagementService extends Disposable implements IConnecti } } else { connection.connectHandler(false, info.errorMessage, info.errorNumber, info.messages); - this._telemetryService.createErrorEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.DatabaseConnectionError, info.errorNumber.toString()) + this._telemetryService.createErrorEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryError.DatabaseConnectionError, info.errorNumber.toString()) .withConnectionInfo(connection.connectionProfile) .withAdditionalMeasurements({ extensionConnectionTimeMs: connection.extensionTimer.elapsed() - connection.serviceTimer.elapsed(), @@ -996,13 +996,13 @@ export class ConnectionManagementService extends Disposable implements IConnecti } public changeGroupIdForConnectionGroup(source: ConnectionProfileGroup, target: ConnectionProfileGroup): Promise { - this._telemetryService.sendActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.MoveServerConnection); + this._telemetryService.sendActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.MoveServerConnection); return this._connectionStore.changeGroupIdForConnectionGroup(source, target); } public changeGroupIdForConnection(source: ConnectionProfile, targetGroupId: string): Promise { let id = Utils.generateUri(source); - this._telemetryService.sendActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.MoveServerGroup); + this._telemetryService.sendActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.MoveServerGroup); return this._connectionStore.changeGroupIdForConnection(source, targetGroupId).then(result => { this._onAddConnectionProfile.fire(source); if (id && targetGroupId) { @@ -1147,7 +1147,7 @@ export class ConnectionManagementService extends Disposable implements IConnecti } return this.doDisconnect(uri, profile).then(result => { if (result) { - this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.DatabaseDisconnected) + this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.DatabaseDisconnected) .withConnectionInfo(profile) .withServerInfo(info?.serverInfo) .send(); @@ -1264,7 +1264,7 @@ export class ConnectionManagementService extends Disposable implements IConnecti * Disconnects a connection before removing from settings. */ public deleteConnection(connection: ConnectionProfile): Promise { - this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.DeleteConnection) + this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.DeleteConnection) .withAdditionalProperties({ provider: connection.providerName }).send(); @@ -1297,7 +1297,7 @@ export class ConnectionManagementService extends Disposable implements IConnecti * Disconnects a connection before removing from config. If disconnect fails, settings is not modified. */ public deleteConnectionGroup(group: ConnectionProfileGroup): Promise { - this._telemetryService.sendActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.DeleteServerGroup); + this._telemetryService.sendActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.DeleteServerGroup); // Get all connections for this group let connections = ConnectionProfileGroup.getConnectionsInGroup(group); diff --git a/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogImpl.ts b/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogImpl.ts index ff58d6e022..f0f87c2b87 100644 --- a/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogImpl.ts +++ b/src/sql/workbench/services/dashboard/browser/newDashboardTabDialogImpl.ts @@ -117,7 +117,7 @@ export class NewDashboardTabDialog extends Modal { ) { super( localize('newDashboardTab.openDashboardExtensions', "Open dashboard extensions"), - TelemetryKeys.AddNewDashboardTab, + TelemetryKeys.ModalDialogName.AddNewDashboardTab, telemetryService, layoutService, clipboardService, diff --git a/src/sql/workbench/services/errorMessage/browser/errorMessageDialog.ts b/src/sql/workbench/services/errorMessage/browser/errorMessageDialog.ts index fcd9fc418e..325b6eb5b5 100644 --- a/src/sql/workbench/services/errorMessage/browser/errorMessageDialog.ts +++ b/src/sql/workbench/services/errorMessage/browser/errorMessageDialog.ts @@ -52,7 +52,7 @@ export class ErrorMessageDialog extends Modal { @ILogService logService: ILogService, @ITextResourcePropertiesService textResourcePropertiesService: ITextResourcePropertiesService ) { - super('', TelemetryKeys.ErrorMessage, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService, { dialogStyle: 'normal', hasTitleIcon: true }); + super('', TelemetryKeys.ModalDialogName.ErrorMessage, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService, { dialogStyle: 'normal', hasTitleIcon: true }); this._okLabel = localize('errorMessageDialog.ok', "OK"); this._closeLabel = localize('errorMessageDialog.close', "Close"); } diff --git a/src/sql/workbench/services/fileBrowser/browser/fileBrowserDialog.ts b/src/sql/workbench/services/fileBrowser/browser/fileBrowserDialog.ts index 8d62c39afd..fee600d217 100644 --- a/src/sql/workbench/services/fileBrowser/browser/fileBrowserDialog.ts +++ b/src/sql/workbench/services/fileBrowser/browser/fileBrowserDialog.ts @@ -59,7 +59,7 @@ export class FileBrowserDialog extends Modal { @ILogService logService: ILogService, @ITextResourcePropertiesService textResourcePropertiesService: ITextResourcePropertiesService ) { - super(title, TelemetryKeys.Backup, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService, { dialogStyle: 'flyout', hasTitleIcon: false, hasBackButton: true, hasSpinner: true }); + super(title, TelemetryKeys.ModalDialogName.FileBrowser, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService, { dialogStyle: 'flyout', hasTitleIcon: false, hasBackButton: true, hasSpinner: true }); this._viewModel = this._instantiationService.createInstance(FileBrowserViewModel); this._viewModel.onAddFileTree(args => this.handleOnAddFileTree(args.rootNode, args.selectedNode, args.expandedNodes).catch(err => onUnexpectedError(err))); this._viewModel.onPathValidate(args => this.handleOnValidate(args.succeeded, args.message)); diff --git a/src/sql/workbench/services/insights/browser/insightsDialogView.ts b/src/sql/workbench/services/insights/browser/insightsDialogView.ts index ebf408d5e9..f000b063f2 100644 --- a/src/sql/workbench/services/insights/browser/insightsDialogView.ts +++ b/src/sql/workbench/services/insights/browser/insightsDialogView.ts @@ -195,7 +195,7 @@ export class InsightsDialogView extends Modal { @ICapabilitiesService private readonly _capabilitiesService: ICapabilitiesService, @ITextResourcePropertiesService textResourcePropertiesService: ITextResourcePropertiesService ) { - super(nls.localize("InsightsDialogTitle", "Insights"), TelemetryKeys.Insights, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService); + super(nls.localize("InsightsDialogTitle", "Insights"), TelemetryKeys.ModalDialogName.Insights, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService); this._model.onDataChange(e => this.build()); } diff --git a/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts b/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts index 5eed28dfb4..176d2a463e 100644 --- a/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts +++ b/src/sql/workbench/services/objectExplorer/browser/objectExplorerService.ts @@ -357,7 +357,7 @@ export class ObjectExplorerService implements IObjectExplorerService { public async expandNode(providerId: string, session: azdata.ObjectExplorerSession, nodePath: string): Promise { const provider = this._providers[providerId]; if (provider) { - this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.ObjectExplorerExpand) + this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.ObjectExplorerExpand) .withAdditionalProperties({ refresh: false, provider: providerId @@ -494,7 +494,7 @@ export class ObjectExplorerService implements IObjectExplorerService { public refreshNode(providerId: string, session: azdata.ObjectExplorerSession, nodePath: string): Promise { let provider = this._providers[providerId]; if (provider) { - this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.ObjectExplorerExpand) + this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.ObjectExplorerExpand) .withAdditionalProperties({ refresh: true, provider: providerId diff --git a/src/sql/workbench/services/profiler/browser/profilerColumnEditorDialog.ts b/src/sql/workbench/services/profiler/browser/profilerColumnEditorDialog.ts index b958cba41f..b6ca14ace3 100644 --- a/src/sql/workbench/services/profiler/browser/profilerColumnEditorDialog.ts +++ b/src/sql/workbench/services/profiler/browser/profilerColumnEditorDialog.ts @@ -307,7 +307,7 @@ export class ProfilerColumnEditorDialog extends Modal { @ILogService logService: ILogService, @ITextResourcePropertiesService textResourcePropertiesService: ITextResourcePropertiesService ) { - super(nls.localize('profilerColumnDialog.profiler', "Profiler"), TelemetryKeys.Profiler, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService); + super(nls.localize('profilerColumnDialog.profiler', "Profiler"), TelemetryKeys.ModalDialogName.Profiler, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService); } public render(): void { diff --git a/src/sql/workbench/services/profiler/browser/profilerFilterDialog.ts b/src/sql/workbench/services/profiler/browser/profilerFilterDialog.ts index 3b9f9691fa..d61fd3fad0 100644 --- a/src/sql/workbench/services/profiler/browser/profilerFilterDialog.ts +++ b/src/sql/workbench/services/profiler/browser/profilerFilterDialog.ts @@ -83,7 +83,7 @@ export class ProfilerFilterDialog extends Modal { @IProfilerService private profilerService: IProfilerService, @ITextResourcePropertiesService textResourcePropertiesService: ITextResourcePropertiesService ) { - super('', TelemetryKeys.ProfilerFilter, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService, { dialogStyle: 'normal', hasTitleIcon: true }); + super('', TelemetryKeys.ModalDialogName.ProfilerFilter, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService, { dialogStyle: 'normal', hasTitleIcon: true }); } public open(input: ProfilerInput) { diff --git a/src/sql/workbench/services/query/common/queryManagement.ts b/src/sql/workbench/services/query/common/queryManagement.ts index 46c12c4cb8..4aa095ec75 100644 --- a/src/sql/workbench/services/query/common/queryManagement.ts +++ b/src/sql/workbench/services/query/common/queryManagement.ts @@ -215,28 +215,28 @@ export class QueryManagementService implements IQueryManagementService { } public cancelQuery(ownerUri: string): Promise { - this.addTelemetry(TelemetryKeys.CancelQuery, ownerUri); + this.addTelemetry(TelemetryKeys.TelemetryAction.CancelQuery, ownerUri); return this._runAction(ownerUri, (runner) => { return runner.cancelQuery(ownerUri); }); } public runQuery(ownerUri: string, range?: IRange, runOptions?: ExecutionPlanOptions): Promise { - this.addTelemetry(TelemetryKeys.RunQuery, ownerUri, runOptions); + this.addTelemetry(TelemetryKeys.TelemetryAction.RunQuery, ownerUri, runOptions); return this._runAction(ownerUri, (runner) => { return runner.runQuery(ownerUri, rangeToSelectionData(range), runOptions); }); } public runQueryStatement(ownerUri: string, line: number, column: number): Promise { - this.addTelemetry(TelemetryKeys.RunQueryStatement, ownerUri); + this.addTelemetry(TelemetryKeys.TelemetryAction.RunQueryStatement, ownerUri); return this._runAction(ownerUri, (runner) => { return runner.runQueryStatement(ownerUri, line - 1, column - 1); // we are taking in a vscode IRange which is 1 indexed, but our api expected a 0 index }); } public runQueryString(ownerUri: string, queryString: string): Promise { - this.addTelemetry(TelemetryKeys.RunQueryString, ownerUri); + this.addTelemetry(TelemetryKeys.TelemetryAction.RunQueryString, ownerUri); return this._runAction(ownerUri, (runner) => { return runner.runQueryString(ownerUri, queryString); }); diff --git a/src/sql/workbench/services/resourceProvider/browser/firewallRuleDialog.ts b/src/sql/workbench/services/resourceProvider/browser/firewallRuleDialog.ts index 0eb4614ff6..d1d3d5ead6 100644 --- a/src/sql/workbench/services/resourceProvider/browser/firewallRuleDialog.ts +++ b/src/sql/workbench/services/resourceProvider/browser/firewallRuleDialog.ts @@ -78,7 +78,7 @@ export class FirewallRuleDialog extends Modal { ) { super( localize('createNewFirewallRule', "Create new firewall rule"), - TelemetryKeys.FireWallRule, + TelemetryKeys.ModalDialogName.FireWallRule, telemetryService, layoutService, clipboardService, diff --git a/src/sql/workbench/services/resourceProvider/browser/resourceProviderService.ts b/src/sql/workbench/services/resourceProvider/browser/resourceProviderService.ts index 5289b4074f..3d0f3941c0 100644 --- a/src/sql/workbench/services/resourceProvider/browser/resourceProviderService.ts +++ b/src/sql/workbench/services/resourceProvider/browser/resourceProviderService.ts @@ -46,7 +46,7 @@ export class ResourceProviderService implements IResourceProviderService { return new Promise((resolve, reject) => { const provider = this._providers[resourceProviderId]; if (provider) { - this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.FirewallRuleRequested) + this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.FirewallRuleRequested) .withAdditionalProperties({ provider: resourceProviderId }).send(); diff --git a/src/sql/workbench/services/restore/browser/restoreDialog.ts b/src/sql/workbench/services/restore/browser/restoreDialog.ts index 88ac69db62..cbfe87a596 100644 --- a/src/sql/workbench/services/restore/browser/restoreDialog.ts +++ b/src/sql/workbench/services/restore/browser/restoreDialog.ts @@ -142,7 +142,7 @@ export class RestoreDialog extends Modal { @ILogService logService: ILogService, @ITextResourcePropertiesService textResourcePropertiesService: ITextResourcePropertiesService ) { - super(localize('RestoreDialogTitle', "Restore database"), TelemetryKeys.Restore, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService, { hasErrors: true, width: 'wide', hasSpinner: true }); + super(localize('RestoreDialogTitle', "Restore database"), TelemetryKeys.ModalDialogName.Restore, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService, { hasErrors: true, width: 'wide', hasSpinner: true }); // view model this.viewModel = new RestoreViewModel(optionsMetadata); diff --git a/src/sql/workbench/services/restore/browser/restoreServiceImpl.ts b/src/sql/workbench/services/restore/browser/restoreServiceImpl.ts index 9e6e057cae..f100c995a3 100644 --- a/src/sql/workbench/services/restore/browser/restoreServiceImpl.ts +++ b/src/sql/workbench/services/restore/browser/restoreServiceImpl.ts @@ -60,7 +60,7 @@ export class RestoreService implements IRestoreService { return new Promise((resolve, reject) => { const providerResult = this.getProvider(connectionUri); if (providerResult) { - this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.RestoreRequested) + this._telemetryService.createActionEvent(TelemetryKeys.TelemetryView.Shell, TelemetryKeys.TelemetryAction.RestoreRequested) .withAdditionalProperties({ provider: providerResult.providerName }).send(); diff --git a/src/sql/workbench/services/serverGroup/browser/serverGroupDialog.ts b/src/sql/workbench/services/serverGroup/browser/serverGroupDialog.ts index 1c8e2bc11a..ee41008c68 100644 --- a/src/sql/workbench/services/serverGroup/browser/serverGroupDialog.ts +++ b/src/sql/workbench/services/serverGroup/browser/serverGroupDialog.ts @@ -72,7 +72,7 @@ export class ServerGroupDialog extends Modal { @ILogService logService: ILogService, @ITextResourcePropertiesService textResourcePropertiesService: ITextResourcePropertiesService ) { - super(localize('ServerGroupsDialogTitle', "Server Groups"), TelemetryKeys.ServerGroups, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService); + super(localize('ServerGroupsDialogTitle', "Server Groups"), TelemetryKeys.ModalDialogName.ServerGroups, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService); } public render() {