mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-19 09:35:36 -05:00
[SQL-Migration] Improve log migrations telemetry (#22927)
- Bucketized errors to track top errors - Created separate login migration specific error to improve monitoring --------- Co-authored-by: Akshay Mata <akma@microsoft.com>
This commit is contained in:
@@ -14,6 +14,7 @@ import { IconPathHelper } from '../constants/iconPathHelper';
|
||||
import { LoginMigrationStatusCodes } from '../constants/helper';
|
||||
import { MultiStepStatusDialog } from '../dialog/generic/multiStepStatusDialog';
|
||||
import { getTelemetryProps, logError, sendSqlMigrationActionEvent, TelemetryAction, TelemetryViews } from '../telemetry';
|
||||
import { InternalServerError } from '../models/loginMigrationModel';
|
||||
|
||||
export class LoginMigrationStatusPage extends MigrationWizardPage {
|
||||
private _view!: azdata.ModelView;
|
||||
@@ -93,7 +94,17 @@ export class LoginMigrationStatusPage extends MigrationWizardPage {
|
||||
};
|
||||
|
||||
this._progressLoader.loading = false;
|
||||
logError(TelemetryViews.LoginMigrationWizard, 'LoginMigrationFailed', 'Login Migrations Internal Server Error');
|
||||
logError(TelemetryViews.LoginMigrationWizard, 'LoginMigrationFailed', InternalServerError);
|
||||
|
||||
sendSqlMigrationActionEvent(
|
||||
TelemetryViews.LoginMigrationStatusPage,
|
||||
TelemetryAction.LoginMigrationError,
|
||||
{
|
||||
...getTelemetryProps(this.migrationStateModel),
|
||||
'errorMessage': InternalServerError,
|
||||
},
|
||||
{}
|
||||
);
|
||||
}
|
||||
|
||||
this._logMigrationResult();
|
||||
@@ -450,9 +461,10 @@ export class LoginMigrationStatusPage extends MigrationWizardPage {
|
||||
'numberLoginsFailingPerStep': JSON.stringify(Array.from(this.migrationStateModel._loginMigrationModel.errorCountMap)),
|
||||
'durationPerStepTimestamp': JSON.stringify(Array.from(this.migrationStateModel._loginMigrationModel.durationPerStep)),
|
||||
'hasSystemError': JSON.stringify(this.migrationStateModel._loginMigrationModel.hasSystemError),
|
||||
// AKMA TODO: add error code string count map
|
||||
},
|
||||
{}
|
||||
{
|
||||
'numberLogins': this.migrationStateModel._loginMigrationModel.loginsForMigration.length,
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import { AzureSqlDatabaseServer, getVMInstanceView, SqlVMServer } from '../api/a
|
||||
import { collectSourceLogins, collectTargetLogins, getSourceConnectionId, getSourceConnectionProfile, isSourceConnectionSysAdmin, LoginTableInfo } from '../api/sqlUtils';
|
||||
import { NetworkInterfaceModel } from '../api/dataModels/azure/networkInterfaceModel';
|
||||
import { getTelemetryProps, logError, sendSqlMigrationActionEvent, TelemetryAction, TelemetryViews } from '../telemetry';
|
||||
import { ConnectingToTargetFailed, } from '../models/loginMigrationModel';
|
||||
|
||||
export class LoginMigrationTargetSelectionPage extends MigrationWizardPage {
|
||||
private _view!: azdata.ModelView;
|
||||
@@ -636,7 +637,16 @@ export class LoginMigrationTargetSelectionPage extends MigrationWizardPage {
|
||||
loginsOnTarget,
|
||||
constants.AZURE_SQL_TARGET_CONNECTION_ERROR_TITLE);
|
||||
|
||||
logError(TelemetryViews.LoginMigrationTargetSelectionPage, 'ConnectingToTargetFailed', error);
|
||||
logError(TelemetryViews.LoginMigrationTargetSelectionPage, ConnectingToTargetFailed, error);
|
||||
sendSqlMigrationActionEvent(
|
||||
TelemetryViews.LoginMigrationTargetSelectionPage,
|
||||
TelemetryAction.LoginMigrationError,
|
||||
{
|
||||
...getTelemetryProps(this.migrationStateModel),
|
||||
'errorMessage': ConnectingToTargetFailed,
|
||||
},
|
||||
{}
|
||||
);
|
||||
connectionSuccessful = false;
|
||||
}
|
||||
finally {
|
||||
|
||||
@@ -13,7 +13,8 @@ import * as styles from '../constants/styles';
|
||||
import { collectSourceLogins, collectTargetLogins, getSourceConnectionId, LoginTableInfo } from '../api/sqlUtils';
|
||||
import { IconPathHelper } from '../constants/iconPathHelper';
|
||||
import * as utils from '../api/utils';
|
||||
import { logError, TelemetryViews } from '../telemetry';
|
||||
import { getTelemetryProps, logError, sendSqlMigrationActionEvent, TelemetryAction, TelemetryViews } from '../telemetry';
|
||||
import { CollectingSourceLoginsFailed, CollectingTargetLoginsFailed } from '../models/loginMigrationModel';
|
||||
|
||||
|
||||
export class LoginSelectorPage extends MigrationWizardPage {
|
||||
@@ -367,7 +368,17 @@ export class LoginSelectorPage extends MigrationWizardPage {
|
||||
description: constants.LOGIN_MIGRATIONS_GET_LOGINS_ERROR(error.message),
|
||||
};
|
||||
|
||||
logError(TelemetryViews.LoginMigrationWizard, 'CollectingSourceLoginsFailed', error);
|
||||
logError(TelemetryViews.LoginMigrationWizard, CollectingSourceLoginsFailed, error);
|
||||
|
||||
sendSqlMigrationActionEvent(
|
||||
TelemetryViews.LoginMigrationSelectorPage,
|
||||
TelemetryAction.LoginMigrationError,
|
||||
{
|
||||
...getTelemetryProps(this.migrationStateModel),
|
||||
'errorMessage': CollectingSourceLoginsFailed,
|
||||
},
|
||||
{}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -400,7 +411,17 @@ export class LoginSelectorPage extends MigrationWizardPage {
|
||||
description: constants.LOGIN_MIGRATIONS_GET_LOGINS_ERROR(error.message),
|
||||
};
|
||||
|
||||
logError(TelemetryViews.LoginMigrationWizard, 'CollectingTargetLoginsFailed', error);
|
||||
logError(TelemetryViews.LoginMigrationWizard, CollectingTargetLoginsFailed, error);
|
||||
|
||||
sendSqlMigrationActionEvent(
|
||||
TelemetryViews.LoginMigrationSelectorPage,
|
||||
TelemetryAction.LoginMigrationError,
|
||||
{
|
||||
...getTelemetryProps(this.migrationStateModel),
|
||||
'errorMessage': CollectingTargetLoginsFailed,
|
||||
},
|
||||
{}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user