Telemetry points for SQL Database Projects extension (#14088)

* Added publish and schema compare telemetry
* Adding telemetry points for add/exclude/delete
* telemetry for validation
* Adding telemetry from project roundtrip updates, editing sqlproj, and db refs
* Changed method for obtaining extension ID during registration
* Fixing test failures, updating ads telemetry package dependency
* replacing action strings with enums
* change database project string actions to enums
* Changed action name to better match dialog
* PR feedback
This commit is contained in:
Benjin Dubishar
2021-01-31 16:38:48 -08:00
committed by GitHub
parent 15fa03876d
commit 1c0259f4c5
19 changed files with 239 additions and 71 deletions

View File

@@ -5,11 +5,32 @@
import AdsTelemetryReporter from '@microsoft/ads-extension-telemetry';
import { GetPackageInfo } from './utils';
import { getPackageInfo } from './utils';
const packageInfo = GetPackageInfo()!;
const packageInfo = getPackageInfo()!;
export const TelemetryReporter = new AdsTelemetryReporter(packageInfo.name, packageInfo.version, packageInfo.aiKey);
export enum TelemetryViews {
ProjectController = 'ProjectController',
SqlProjectPublishDialog = 'SqlProjectPublishDialog',
ProjectTree = 'ProjectTree'
}
export enum TelemetryActions {
createNewProject = 'createNewProject',
addDatabaseReference = 'addDatabaseReference',
runStreamingJobValidation = 'runStreamingJobValidation',
generateScriptClicked = 'generateScriptClicked',
deleteObjectFromProject = 'deleteObjectFromProject',
editProjectFile = 'editProjectFile',
addItemFromTree = 'addItemFromTree',
excludeFromProject = 'excludeFromProject',
projectSchemaCompareCommandInvoked = 'projectSchemaCompareCommandInvoked',
publishProject = 'publishProject',
build = 'build',
updateProjectForRoundtrip = 'updateProjectForRoundtrip',
changePlatformType = 'changePlatformType',
updateSystemDatabaseReferencesInProjFile = 'updateSystemDatabaseReferencesInProjFile'
}

View File

@@ -261,7 +261,7 @@ export interface IPackageInfo {
aiKey: string;
}
export function GetPackageInfo(packageJson?: any): IPackageInfo | undefined {
export function getPackageInfo(packageJson?: any): IPackageInfo | undefined {
if (!packageJson) {
packageJson = require('../../package.json');
}