Adding Assessment Telemetry in SQL Migration (#15935)

* Adding telemetry for assessment

* Removing dms loading fix

* Fixing PR

* removing collection of account id

* moving database warning count to the server assessment event

* Removing individual warning and issue events

* Adding aggregates for database issues and warnings

* removing extra line

* Adding other telemetry events in sql migration

* Fixed changes made in the PR

* Fixing attribute names

* Consolidating issues and errors in 1 event

* Converting dependencies to dev depenedencies

* Adding a catch for the telemetry function

* moving the non type uuid to non dev

* Made hashmap code cleaner

* Fixing cutover start time

* Fixing object creation

* Reverting back to old method.

* Modifying the date time to js objects

* Converting issues and warnings to json object
This commit is contained in:
Aasim Khan
2021-07-26 12:26:37 -07:00
committed by GitHub
parent c60bcc0d0d
commit 70fc6bd43d
9 changed files with 258 additions and 28 deletions

View File

@@ -6,22 +6,36 @@
import AdsTelemetryReporter, { TelemetryEventMeasures, TelemetryEventProperties } from '@microsoft/ads-extension-telemetry';
import { getPackageInfo } from './api/utils';
const packageJson = require('../package.json');
let packageInfo = getPackageInfo(packageJson)!;
export const TelemetryReporter = new AdsTelemetryReporter(packageInfo.name, packageInfo.version, packageInfo.aiKey);
export enum TelemetryViews {
SqlServerDashboard = 'SqlServerDashboard',
MigrationWizard = 'MigrationWizard',
CreateDataMigrationServiceDialog = 'CreateDataMigrationServiceDialog',
AssessmentsDialog = 'AssessmentsDialog',
MigrationCutoverDialog = 'MigrationCutoverDialog',
MigrationStatusDialog = 'MigrationStatusDialog',
AssessmentsPage = 'AssessmentsPage'
MigrationWizardAccountSelectionPage = 'MigrationWizardAccountSelectionPage',
MigrationWizardTargetSelectionPage = 'MigrationWizardTargetSelectionPage',
MigrationWizardSummaryPage = 'MigrationWizardSummaryPage',
StartMigrationService = 'StartMigrationSerivce'
}
export function sendSqlMigrationActionEvent(telemetryView: string, telemetryAction: string, additionalProps: TelemetryEventProperties, additionalMeasurements: TelemetryEventMeasures): void {
export enum TelemetryAction {
ServerAssessment = 'ServerAssessment',
ServerAssessmentIssues = 'ServerAssessmentIssues',
ServerAssessmentError = 'ServerAssessmentError',
DatabaseAssessment = 'DatabaseAsssessment',
DatabaseAssessmentWarning = 'DatabaseAssessmentWarning',
DatabaseAssessmentError = 'DatabaseAssessmentError',
StartMigration = 'StartMigration',
CutoverMigration = 'CutoverMigration',
CancelMigration = 'CancelMigration',
MigrationStatus = 'MigrationStatus'
}
export function sendSqlMigrationActionEvent(telemetryView: TelemetryViews, telemetryAction: TelemetryAction, additionalProps: TelemetryEventProperties, additionalMeasurements: TelemetryEventMeasures): void {
TelemetryReporter.createActionEvent(telemetryView, telemetryAction)
.withAdditionalProperties(additionalProps)
.withAdditionalMeasurements(additionalMeasurements)