Add telemetry for deployment type being selected (#14410)

* Add telemetry for deployment type being selected

* Fix build
This commit is contained in:
Charles Gagnon
2021-02-24 15:47:17 -08:00
committed by GitHub
parent 71cbe3fbf0
commit 00feb955d9
11 changed files with 151 additions and 6 deletions

View File

@@ -146,6 +146,7 @@ export function instanceOfAzureSQLDBDeploymentProvider(obj: any): obj is AzureSQ
}
export interface DeploymentProviderBase {
name: string;
requiredTools: ToolRequirementInfo[];
when: string;
}

View File

@@ -0,0 +1,20 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as vscode from 'vscode';
import AdsTelemetryReporter from '@microsoft/ads-extension-telemetry';
const packageJson = vscode.extensions.getExtension('Microsoft.resource-deployment')!.packageJSON;
export const TelemetryReporter = new AdsTelemetryReporter(packageJson.name, packageJson.version, packageJson.aiKey);
export enum TelemetryView {
ResourceTypeWizard = 'ResourceTypeWizard'
}
export enum TelemetryAction {
SelectedDeploymentType = 'SelectedDeploymentType'
}

View File

@@ -14,6 +14,7 @@ import { getErrorMessage } from '../common/utils';
import { ResourceTypePage } from './resourceTypePage';
import { ResourceTypeWizard } from './resourceTypeWizard';
import { OptionValuesFilter as OptionValuesFilter } from '../services/resourceTypeService';
import { TelemetryAction, TelemetryReporter, TelemetryView } from '../services/telemetryService';
const localize = nls.loadMessageBundle();
@@ -77,6 +78,11 @@ export class ToolsAndEulaPage extends ResourceTypePage {
this.wizard.wizardObject.message = {
text: ''
};
TelemetryReporter.createActionEvent(TelemetryView.ResourceTypeWizard, TelemetryAction.SelectedDeploymentType)
.withAdditionalProperties({
'resourceType': this._resourceType.name,
'provider': this.getCurrentProvider().name
}).send();
return true;
});
}