mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-13 17:22:15 -05:00
Update ads-extension-telemetry to 1.3.1 (#20724)
* Update ads-extension-telemetry to 1.3.0 * fix
This commit is contained in:
@@ -107,7 +107,7 @@
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@microsoft/ads-extension-telemetry": "^1.2.0",
|
||||
"@microsoft/ads-extension-telemetry": "^1.3.1",
|
||||
"@microsoft/ads-service-downloader": "1.0.4",
|
||||
"vscode-nls": "^4.1.2"
|
||||
},
|
||||
|
||||
@@ -11,7 +11,7 @@ const packageJson = require('../package.json');
|
||||
|
||||
let packageInfo = Utils.getPackageInfo(packageJson);
|
||||
|
||||
export const TelemetryReporter = new AdsTelemetryReporter(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
export const TelemetryReporter = new AdsTelemetryReporter<TelemetryViews>(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
|
||||
export enum TelemetryViews {
|
||||
SsmsMinProperties = 'SsmsMinProperties',
|
||||
|
||||
@@ -200,10 +200,10 @@
|
||||
"@microsoft/applicationinsights-shims" "^2.0.1"
|
||||
"@microsoft/dynamicproto-js" "^1.1.6"
|
||||
|
||||
"@microsoft/ads-extension-telemetry@^1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.2.0.tgz#f54e464ac887440727fe9862f8ff32be17aeab3a"
|
||||
integrity sha512-dEp+RVJYo4uebMLvBJqJF8IABufJRp+PWHZx+3xe6SgAC37oYhcwR/glExhp3Nj3A2v3vjso6YQ/Wd5TG27FPQ==
|
||||
"@microsoft/ads-extension-telemetry@^1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.3.1.tgz#fa757ee88eac91b21c3a68562da6441c2ad15c39"
|
||||
integrity sha512-8Zd7RwwN7ZufMoWFmc1bwzmQc1RV7/jf/Ua33YL1+P0ZwHoWFOhf/b0lwvAVzi9TB/7oD5zA5yv7A/i2sSTn6Q==
|
||||
dependencies:
|
||||
"@vscode/extension-telemetry" "^0.6.2"
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@microsoft/ads-extension-telemetry": "^1.2.0",
|
||||
"@microsoft/ads-extension-telemetry": "^1.3.1",
|
||||
"htmlparser2": "^3.10.1",
|
||||
"vscode-nls": "^4.0.0"
|
||||
},
|
||||
|
||||
@@ -11,7 +11,7 @@ const packageJson = require('../package.json');
|
||||
|
||||
let packageInfo = Utils.getPackageInfo(packageJson);
|
||||
|
||||
export const TelemetryReporter = new AdsTelemetryReporter(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
export const TelemetryReporter = new AdsTelemetryReporter<TelemetryViews, TelemetryAction>(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
|
||||
export enum TelemetryViews {
|
||||
DataTierApplicationWizard = 'DataTierApplicationWizard'
|
||||
@@ -23,5 +23,7 @@ export enum TelemetryAction {
|
||||
GenerateDeployPlan = 'GenerateDeployPlan',
|
||||
ExtractDacpac = 'ExtractDacpacOperation',
|
||||
ExportBacpac = 'ExportBacpacOperation',
|
||||
ImportBacpac = 'ImportBacpacOperation'
|
||||
ImportBacpac = 'ImportBacpacOperation',
|
||||
ConnectionDialogCancelled = 'ConnectionDialogCancelled',
|
||||
WizardCanceled = 'WizardCanceled'
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ export class DataTierApplicationWizard {
|
||||
// don't open the wizard if connection dialog is cancelled
|
||||
if (!this.connection) {
|
||||
//Reporting Dacpac wizard cancelled event to Telemetry
|
||||
TelemetryReporter.sendActionEvent(TelemetryViews.DataTierApplicationWizard, 'ConnectionDialogCancelled');
|
||||
TelemetryReporter.sendActionEvent(TelemetryViews.DataTierApplicationWizard, TelemetryAction.ConnectionDialogCancelled);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -305,7 +305,7 @@ export class DataTierApplicationWizard {
|
||||
|
||||
// Cancel button on click event is using to send the data loss information to telemetry
|
||||
private cancelDataTierApplicationWizard(): void {
|
||||
TelemetryReporter.createActionEvent(TelemetryViews.DataTierApplicationWizard, 'WizardCanceled')
|
||||
TelemetryReporter.createActionEvent(TelemetryViews.DataTierApplicationWizard, TelemetryAction.WizardCanceled)
|
||||
.withAdditionalProperties({
|
||||
isPotentialDataLoss: this.model.potentialDataLoss?.toString(),
|
||||
page: this.wizard.currentPage.toString(),
|
||||
@@ -477,7 +477,7 @@ export class DataTierApplicationWizard {
|
||||
return this.dacfxService;
|
||||
}
|
||||
|
||||
private sendDacFxOperationTelemetryEvent(result: azdata.ResultStatus, telemetryAction: string, additionalProps: TelemetryEventProperties, additionalMeasurements: TelemetryEventMeasures): void {
|
||||
private sendDacFxOperationTelemetryEvent(result: azdata.ResultStatus, telemetryAction: TelemetryAction, additionalProps: TelemetryEventProperties, additionalMeasurements: TelemetryEventMeasures): void {
|
||||
if (result?.success) {
|
||||
TelemetryReporter.createActionEvent(TelemetryViews.DataTierApplicationWizard, telemetryAction)
|
||||
.withAdditionalProperties(additionalProps)
|
||||
|
||||
@@ -200,10 +200,10 @@
|
||||
"@microsoft/applicationinsights-shims" "^2.0.1"
|
||||
"@microsoft/dynamicproto-js" "^1.1.6"
|
||||
|
||||
"@microsoft/ads-extension-telemetry@^1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.2.0.tgz#f54e464ac887440727fe9862f8ff32be17aeab3a"
|
||||
integrity sha512-dEp+RVJYo4uebMLvBJqJF8IABufJRp+PWHZx+3xe6SgAC37oYhcwR/glExhp3Nj3A2v3vjso6YQ/Wd5TG27FPQ==
|
||||
"@microsoft/ads-extension-telemetry@^1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.3.1.tgz#fa757ee88eac91b21c3a68562da6441c2ad15c39"
|
||||
integrity sha512-8Zd7RwwN7ZufMoWFmc1bwzmQc1RV7/jf/Ua33YL1+P0ZwHoWFOhf/b0lwvAVzi9TB/7oD5zA5yv7A/i2sSTn6Q==
|
||||
dependencies:
|
||||
"@vscode/extension-telemetry" "^0.6.2"
|
||||
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"fast-glob": "^3.2.7",
|
||||
"@microsoft/ads-extension-telemetry": "^1.2.0",
|
||||
"@microsoft/ads-extension-telemetry": "^1.3.1",
|
||||
"vscode-nls": "^4.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -10,7 +10,7 @@ const packageJson = require('../../package.json');
|
||||
|
||||
let packageInfo = utils.getPackageInfo(packageJson)!;
|
||||
|
||||
export const TelemetryReporter = new AdsTelemetryReporter(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
export const TelemetryReporter = new AdsTelemetryReporter<TelemetryViews, TelemetryActions>(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
|
||||
|
||||
export enum TelemetryViews {
|
||||
|
||||
@@ -200,10 +200,10 @@
|
||||
"@microsoft/applicationinsights-shims" "^2.0.1"
|
||||
"@microsoft/dynamicproto-js" "^1.1.6"
|
||||
|
||||
"@microsoft/ads-extension-telemetry@^1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.2.0.tgz#f54e464ac887440727fe9862f8ff32be17aeab3a"
|
||||
integrity sha512-dEp+RVJYo4uebMLvBJqJF8IABufJRp+PWHZx+3xe6SgAC37oYhcwR/glExhp3Nj3A2v3vjso6YQ/Wd5TG27FPQ==
|
||||
"@microsoft/ads-extension-telemetry@^1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.3.1.tgz#fa757ee88eac91b21c3a68562da6441c2ad15c39"
|
||||
integrity sha512-8Zd7RwwN7ZufMoWFmc1bwzmQc1RV7/jf/Ua33YL1+P0ZwHoWFOhf/b0lwvAVzi9TB/7oD5zA5yv7A/i2sSTn6Q==
|
||||
dependencies:
|
||||
"@vscode/extension-telemetry" "^0.6.2"
|
||||
|
||||
|
||||
@@ -761,7 +761,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@jupyterlab/services": "^3.2.1",
|
||||
"@microsoft/ads-extension-telemetry": "^1.2.0",
|
||||
"@microsoft/ads-extension-telemetry": "^1.3.1",
|
||||
"adm-zip": "^0.4.14",
|
||||
"error-ex": "^1.3.1",
|
||||
"fast-glob": "^3.1.0",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
import AdsTelemetryReporter, { TelemetryEventMeasures, TelemetryEventProperties } from '@microsoft/ads-extension-telemetry';
|
||||
|
||||
const packageJson = require('../package.json');
|
||||
export const TelemetryReporter = new AdsTelemetryReporter(packageJson.name, packageJson.version, packageJson.aiKey);
|
||||
export const TelemetryReporter = new AdsTelemetryReporter<NbTelemetryView, NbTelemetryAction>(packageJson.name, packageJson.version, packageJson.aiKey);
|
||||
|
||||
export enum NbTelemetryView {
|
||||
Book = 'Book',
|
||||
|
||||
@@ -239,10 +239,10 @@
|
||||
"@microsoft/applicationinsights-shims" "^2.0.1"
|
||||
"@microsoft/dynamicproto-js" "^1.1.6"
|
||||
|
||||
"@microsoft/ads-extension-telemetry@^1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.2.0.tgz#f54e464ac887440727fe9862f8ff32be17aeab3a"
|
||||
integrity sha512-dEp+RVJYo4uebMLvBJqJF8IABufJRp+PWHZx+3xe6SgAC37oYhcwR/glExhp3Nj3A2v3vjso6YQ/Wd5TG27FPQ==
|
||||
"@microsoft/ads-extension-telemetry@^1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.3.1.tgz#fa757ee88eac91b21c3a68562da6441c2ad15c39"
|
||||
integrity sha512-8Zd7RwwN7ZufMoWFmc1bwzmQc1RV7/jf/Ua33YL1+P0ZwHoWFOhf/b0lwvAVzi9TB/7oD5zA5yv7A/i2sSTn6Q==
|
||||
dependencies:
|
||||
"@vscode/extension-telemetry" "^0.6.2"
|
||||
|
||||
|
||||
@@ -209,7 +209,7 @@
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@microsoft/ads-extension-telemetry": "1.2.0",
|
||||
"@microsoft/ads-extension-telemetry": "^1.3.1",
|
||||
"vscode-nls": "^4.1.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -12,7 +12,7 @@ import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import * as crypto from 'crypto';
|
||||
import * as loc from './localizedConstants';
|
||||
import { sendSettingChangedEvent, TelemetryActions, TelemetryReporter, TelemetryViews, TimedAction } from './telemetry';
|
||||
import { sendSettingChangedEvent, TelemetryActions, TelemetryReporter, TelemetryViews } from './telemetry';
|
||||
|
||||
const STORAGE_IV_KEY = 'queryHistory.storage-iv';
|
||||
const STORAGE_KEY_KEY = 'queryHistory.storage-key';
|
||||
@@ -51,7 +51,7 @@ export class QueryHistoryProvider implements vscode.TreeDataProvider<QueryHistor
|
||||
constructor(private _context: vscode.ExtensionContext, storageUri: vscode.Uri) {
|
||||
this._historyStorageFile = path.join(storageUri.fsPath, HISTORY_STORAGE_FILE_NAME);
|
||||
// Kick off initialization but then continue on since that may take a while and we don't want to block extension activation
|
||||
const initializeAction = new TimedAction(TelemetryViews.QueryHistoryProvider, TelemetryActions.Initialize);
|
||||
const initializeAction = TelemetryReporter.createTimedAction(TelemetryViews.QueryHistoryProvider, TelemetryActions.Initialize);
|
||||
this._initPromise = this.initialize().then(() => initializeAction.send());
|
||||
this._disposables.push(vscode.workspace.onDidChangeConfiguration(async e => {
|
||||
if (e.affectsConfiguration(QUERY_HISTORY_CONFIG_SECTION) || e.affectsConfiguration(MAX_ENTRIES_CONFIG_SECTION)) {
|
||||
@@ -147,12 +147,10 @@ export class QueryHistoryProvider implements vscode.TreeDataProvider<QueryHistor
|
||||
const cipher = crypto.createCipheriv(STORAGE_ENCRYPTION_ALGORITHM, key!, iv!);
|
||||
const stringifiedItems = JSON.stringify(this._queryHistoryItems);
|
||||
const encryptedText = Buffer.concat([cipher.update(Buffer.from(stringifiedItems)), cipher.final()]);
|
||||
const writeStorageFileAction = new TimedAction(TelemetryViews.QueryHistoryProvider, TelemetryActions.WriteStorageFile,
|
||||
{},
|
||||
{
|
||||
ItemCount: this._queryHistoryItems.length,
|
||||
ItemLengthChars: stringifiedItems.length
|
||||
});
|
||||
const writeStorageFileAction = TelemetryReporter.createTimedAction(TelemetryViews.QueryHistoryProvider, TelemetryActions.WriteStorageFile).withAdditionalMeasures({
|
||||
ItemCount: this._queryHistoryItems.length,
|
||||
ItemLengthChars: stringifiedItems.length
|
||||
});
|
||||
// Use sync here so that we can write this out when the object is disposed
|
||||
fs.writeFileSync(this._historyStorageFile, encryptedText);
|
||||
writeStorageFileAction.send();
|
||||
@@ -171,7 +169,7 @@ export class QueryHistoryProvider implements vscode.TreeDataProvider<QueryHistor
|
||||
|
||||
|
||||
try {
|
||||
const readStorageFileAction = new TimedAction(TelemetryViews.QueryHistoryProvider, TelemetryActions.ReadStorageFile);
|
||||
const readStorageFileAction = TelemetryReporter.createTimedAction(TelemetryViews.QueryHistoryProvider, TelemetryActions.ReadStorageFile);
|
||||
// Read and decrypt any previous history items
|
||||
const encryptedItems = await fs.promises.readFile(this._historyStorageFile);
|
||||
readStorageFileAction.send();
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import AdsTelemetryReporter, { TelemetryEventMeasures, TelemetryEventProperties } from '@microsoft/ads-extension-telemetry';
|
||||
import AdsTelemetryReporter from '@microsoft/ads-extension-telemetry';
|
||||
|
||||
export interface PackageInfo {
|
||||
name: string;
|
||||
@@ -13,49 +13,7 @@ export interface PackageInfo {
|
||||
|
||||
const packageInfo = require('../package.json') as PackageInfo;
|
||||
|
||||
export const TelemetryReporter = new AdsTelemetryReporter(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
|
||||
/**
|
||||
* A helper class to send an Action event with a duration, timer starts on construction and ends when send() is called.
|
||||
*/
|
||||
export class TimedAction {
|
||||
/**
|
||||
* Additional properties to send along with the final message once send is called.
|
||||
*/
|
||||
public readonly additionalProperties: TelemetryEventProperties = {};
|
||||
/**
|
||||
* Additional measures to send along with the final message once send is called.
|
||||
*/
|
||||
public readonly additionalMeasures: TelemetryEventMeasures = {};
|
||||
|
||||
private _start: number = Date.now();
|
||||
|
||||
/**
|
||||
* Creates a new TimedAction and sets the start time to Date.now().
|
||||
* @param _view The view this action originates from
|
||||
* @param _action The name of the action
|
||||
* @param properties Additional properties to send along with the final message once send is called
|
||||
* @param measures Additional measures to send along with the final message once send is called
|
||||
*/
|
||||
constructor(private _view: TelemetryViews, private _action: TelemetryActions, properties: TelemetryEventProperties = {}, measures: TelemetryEventMeasures = {}) {
|
||||
Object.assign(this.additionalProperties, properties);
|
||||
Object.assign(this.additionalMeasures, measures);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends the event with the duration being the difference between when this TimedAction was created and now.
|
||||
* @param properties Additional properties to send along with the event
|
||||
* @param measures Additional measures to send along with the event
|
||||
*/
|
||||
public send(properties: TelemetryEventProperties = {}, measures: TelemetryEventMeasures = {}): void {
|
||||
Object.assign(this.additionalProperties, properties);
|
||||
Object.assign(this.additionalMeasures, measures);
|
||||
TelemetryReporter.createActionEvent(this._view, this._action, undefined, undefined, Date.now() - this._start)
|
||||
.withAdditionalProperties(this.additionalProperties)
|
||||
.withAdditionalMeasurements(this.additionalMeasures)
|
||||
.send();
|
||||
}
|
||||
}
|
||||
export const TelemetryReporter = new AdsTelemetryReporter<TelemetryViews, TelemetryActions>(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
|
||||
/**
|
||||
* Send an event indicating that a setting changed along with the new and old values. Core has a setting changed
|
||||
|
||||
@@ -246,10 +246,10 @@
|
||||
"@microsoft/applicationinsights-shims" "^2.0.1"
|
||||
"@microsoft/dynamicproto-js" "^1.1.6"
|
||||
|
||||
"@microsoft/ads-extension-telemetry@1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.2.0.tgz#f54e464ac887440727fe9862f8ff32be17aeab3a"
|
||||
integrity sha512-dEp+RVJYo4uebMLvBJqJF8IABufJRp+PWHZx+3xe6SgAC37oYhcwR/glExhp3Nj3A2v3vjso6YQ/Wd5TG27FPQ==
|
||||
"@microsoft/ads-extension-telemetry@^1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.3.1.tgz#fa757ee88eac91b21c3a68562da6441c2ad15c39"
|
||||
integrity sha512-8Zd7RwwN7ZufMoWFmc1bwzmQc1RV7/jf/Ua33YL1+P0ZwHoWFOhf/b0lwvAVzi9TB/7oD5zA5yv7A/i2sSTn6Q==
|
||||
dependencies:
|
||||
"@vscode/extension-telemetry" "^0.6.2"
|
||||
|
||||
|
||||
@@ -524,7 +524,7 @@
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@microsoft/ads-extension-telemetry": "^1.2.0",
|
||||
"@microsoft/ads-extension-telemetry": "^1.3.1",
|
||||
"axios": "^0.27.2",
|
||||
"linux-release-info": "^2.0.0",
|
||||
"promisify-child-process": "^3.1.1",
|
||||
|
||||
@@ -8,7 +8,7 @@ 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 const TelemetryReporter = new AdsTelemetryReporter<TelemetryView, TelemetryAction>(packageJson.name, packageJson.version, packageJson.aiKey);
|
||||
|
||||
export enum TelemetryView {
|
||||
ResourceTypeWizard = 'ResourceTypeWizard'
|
||||
|
||||
@@ -207,10 +207,10 @@
|
||||
"@microsoft/applicationinsights-shims" "^2.0.1"
|
||||
"@microsoft/dynamicproto-js" "^1.1.6"
|
||||
|
||||
"@microsoft/ads-extension-telemetry@^1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.2.0.tgz#f54e464ac887440727fe9862f8ff32be17aeab3a"
|
||||
integrity sha512-dEp+RVJYo4uebMLvBJqJF8IABufJRp+PWHZx+3xe6SgAC37oYhcwR/glExhp3Nj3A2v3vjso6YQ/Wd5TG27FPQ==
|
||||
"@microsoft/ads-extension-telemetry@^1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.3.1.tgz#fa757ee88eac91b21c3a68562da6441c2ad15c39"
|
||||
integrity sha512-8Zd7RwwN7ZufMoWFmc1bwzmQc1RV7/jf/Ua33YL1+P0ZwHoWFOhf/b0lwvAVzi9TB/7oD5zA5yv7A/i2sSTn6Q==
|
||||
dependencies:
|
||||
"@vscode/extension-telemetry" "^0.6.2"
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@microsoft/ads-extension-telemetry": "^1.2.0",
|
||||
"@microsoft/ads-extension-telemetry": "^1.3.1",
|
||||
"vscode-nls": "^4.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -11,7 +11,7 @@ const packageJson = require('../package.json');
|
||||
|
||||
let packageInfo = Utils.getPackageInfo(packageJson);
|
||||
|
||||
export const TelemetryReporter = new AdsTelemetryReporter(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
export const TelemetryReporter = new AdsTelemetryReporter<TelemetryViews>(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
|
||||
export enum TelemetryViews {
|
||||
SchemaCompareMainWindow = 'SchemaCompareMainWindow',
|
||||
|
||||
@@ -200,10 +200,10 @@
|
||||
"@microsoft/applicationinsights-shims" "^2.0.1"
|
||||
"@microsoft/dynamicproto-js" "^1.1.6"
|
||||
|
||||
"@microsoft/ads-extension-telemetry@^1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.2.0.tgz#f54e464ac887440727fe9862f8ff32be17aeab3a"
|
||||
integrity sha512-dEp+RVJYo4uebMLvBJqJF8IABufJRp+PWHZx+3xe6SgAC37oYhcwR/glExhp3Nj3A2v3vjso6YQ/Wd5TG27FPQ==
|
||||
"@microsoft/ads-extension-telemetry@^1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.3.1.tgz#fa757ee88eac91b21c3a68562da6441c2ad15c39"
|
||||
integrity sha512-8Zd7RwwN7ZufMoWFmc1bwzmQc1RV7/jf/Ua33YL1+P0ZwHoWFOhf/b0lwvAVzi9TB/7oD5zA5yv7A/i2sSTn6Q==
|
||||
dependencies:
|
||||
"@vscode/extension-telemetry" "^0.6.2"
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"vscode-nls": "^4.1.2",
|
||||
"@microsoft/ads-extension-telemetry": "^1.2.0",
|
||||
"@microsoft/ads-extension-telemetry": "^1.3.1",
|
||||
"vscode-languageclient": "^5.3.0-next.1"
|
||||
},
|
||||
"__metadata": {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
import AdsTelemetryReporter from '@microsoft/ads-extension-telemetry';
|
||||
|
||||
const packageJson = require('../package.json');
|
||||
export const TelemetryReporter = new AdsTelemetryReporter(packageJson.name, packageJson.version, packageJson.aiKey);
|
||||
export const TelemetryReporter = new AdsTelemetryReporter<string, SqlTelemetryActions>(packageJson.name, packageJson.version, packageJson.aiKey);
|
||||
|
||||
export const SqlAssessmentTelemetryView = 'SqlAssessmentTab';
|
||||
|
||||
|
||||
@@ -20,10 +20,10 @@
|
||||
"@microsoft/applicationinsights-shims" "^2.0.1"
|
||||
"@microsoft/dynamicproto-js" "^1.1.6"
|
||||
|
||||
"@microsoft/ads-extension-telemetry@^1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.2.0.tgz#f54e464ac887440727fe9862f8ff32be17aeab3a"
|
||||
integrity sha512-dEp+RVJYo4uebMLvBJqJF8IABufJRp+PWHZx+3xe6SgAC37oYhcwR/glExhp3Nj3A2v3vjso6YQ/Wd5TG27FPQ==
|
||||
"@microsoft/ads-extension-telemetry@^1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.3.1.tgz#fa757ee88eac91b21c3a68562da6441c2ad15c39"
|
||||
integrity sha512-8Zd7RwwN7ZufMoWFmc1bwzmQc1RV7/jf/Ua33YL1+P0ZwHoWFOhf/b0lwvAVzi9TB/7oD5zA5yv7A/i2sSTn6Q==
|
||||
dependencies:
|
||||
"@vscode/extension-telemetry" "^0.6.2"
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@microsoft/ads-extension-telemetry": "^1.2.0",
|
||||
"@microsoft/ads-extension-telemetry": "^1.3.1",
|
||||
"@microsoft/vscode-azext-utils": "^0.1.1",
|
||||
"fast-glob": "^3.2.7",
|
||||
"promisify-child-process": "^3.1.1",
|
||||
|
||||
@@ -7,7 +7,7 @@ import { getPackageInfo } from './utils';
|
||||
|
||||
const packageInfo = getPackageInfo()!;
|
||||
|
||||
export const TelemetryReporter = new AdsTelemetryReporter(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
export const TelemetryReporter = new AdsTelemetryReporter<TelemetryViews, TelemetryActions | CreateAzureFunctionStep>(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
|
||||
export enum TelemetryViews {
|
||||
SqlBindingsQuickPick = 'SqlBindingsQuickPick',
|
||||
@@ -51,6 +51,8 @@ export enum CreateAzureFunctionStep {
|
||||
getTemplateId = 'getTemplateId',
|
||||
getConnectionStringSettingName = 'getConnectionStringSettingName',
|
||||
promptForIncludePassword = 'promptForIncludePassword',
|
||||
createFunctionAPI = 'createFunctionAPI',
|
||||
finishCreateFunction = 'finishCreateFunction'
|
||||
}
|
||||
|
||||
export enum ExitReason {
|
||||
|
||||
@@ -21,7 +21,7 @@ export async function createAzureFunction(node?: ITreeNodeInfo): Promise<void> {
|
||||
// telemetry properties for create azure function
|
||||
let sessionId: string = uuid.v4();
|
||||
let propertyBag: { [key: string]: string } = { sessionId: sessionId };
|
||||
let telemetryStep: string = '';
|
||||
let telemetryStep: CreateAzureFunctionStep | undefined = undefined;
|
||||
let exitReason: string = ExitReason.cancelled;
|
||||
TelemetryReporter.sendActionEvent(TelemetryViews.CreateAzureFunctionWithSqlBinding, TelemetryActions.startCreateAzureFunctionWithSqlBinding);
|
||||
let connectionInfo: IConnectionInfo | undefined;
|
||||
@@ -239,7 +239,7 @@ export async function createAzureFunction(node?: ITreeNodeInfo): Promise<void> {
|
||||
let connectionStringExecuteStep = createAddConnectionStringStep(projectFolder, connectionInfo, connectionStringInfo.connectionStringSettingName);
|
||||
|
||||
// create C# Azure Function with SQL Binding
|
||||
telemetryStep = 'createFunctionAPI';
|
||||
telemetryStep = CreateAzureFunctionStep.createFunctionAPI;
|
||||
await azureFunctionApi.createFunction({
|
||||
language: 'C#',
|
||||
targetFramework: 'netcoreapp3.1',
|
||||
@@ -263,7 +263,7 @@ export async function createAzureFunction(node?: ITreeNodeInfo): Promise<void> {
|
||||
.withAdditionalProperties(propertyBag)
|
||||
.withConnectionInfo(connectionInfo).send();
|
||||
|
||||
telemetryStep = 'finishCreateFunction';
|
||||
telemetryStep = CreateAzureFunctionStep.finishCreateFunction;
|
||||
propertyBag.telemetryStep = telemetryStep;
|
||||
exitReason = ExitReason.finishCreate;
|
||||
TelemetryReporter.createActionEvent(TelemetryViews.CreateAzureFunctionWithSqlBinding, TelemetryActions.finishCreateAzureFunctionWithSqlBinding)
|
||||
@@ -271,7 +271,7 @@ export async function createAzureFunction(node?: ITreeNodeInfo): Promise<void> {
|
||||
.withConnectionInfo(connectionInfo).send();
|
||||
} catch (error) {
|
||||
let errorType = utils.getErrorType(error);
|
||||
propertyBag.telemetryStep = telemetryStep;
|
||||
propertyBag.telemetryStep = telemetryStep ?? '';
|
||||
// an error occurred during createFunction
|
||||
exitReason = ExitReason.error;
|
||||
void vscode.window.showErrorMessage(constants.errorNewAzureFunction(error));
|
||||
@@ -279,7 +279,7 @@ export async function createAzureFunction(node?: ITreeNodeInfo): Promise<void> {
|
||||
.withAdditionalProperties(propertyBag).send();
|
||||
return;
|
||||
} finally {
|
||||
propertyBag.telemetryStep = telemetryStep;
|
||||
propertyBag.telemetryStep = telemetryStep ?? '';
|
||||
propertyBag.exitReason = exitReason;
|
||||
TelemetryReporter.createActionEvent(TelemetryViews.CreateAzureFunctionWithSqlBinding, TelemetryActions.exitCreateAzureFunctionQuickpick)
|
||||
.withAdditionalProperties(propertyBag).send();
|
||||
|
||||
@@ -240,10 +240,10 @@
|
||||
"@microsoft/applicationinsights-shims" "^2.0.1"
|
||||
"@microsoft/dynamicproto-js" "^1.1.6"
|
||||
|
||||
"@microsoft/ads-extension-telemetry@^1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.2.0.tgz#f54e464ac887440727fe9862f8ff32be17aeab3a"
|
||||
integrity sha512-dEp+RVJYo4uebMLvBJqJF8IABufJRp+PWHZx+3xe6SgAC37oYhcwR/glExhp3Nj3A2v3vjso6YQ/Wd5TG27FPQ==
|
||||
"@microsoft/ads-extension-telemetry@^1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.3.1.tgz#fa757ee88eac91b21c3a68562da6441c2ad15c39"
|
||||
integrity sha512-8Zd7RwwN7ZufMoWFmc1bwzmQc1RV7/jf/Ua33YL1+P0ZwHoWFOhf/b0lwvAVzi9TB/7oD5zA5yv7A/i2sSTn6Q==
|
||||
dependencies:
|
||||
"@vscode/extension-telemetry" "^0.6.2"
|
||||
|
||||
|
||||
@@ -478,7 +478,7 @@
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@microsoft/ads-extension-telemetry": "^1.2.0",
|
||||
"@microsoft/ads-extension-telemetry": "^1.3.1",
|
||||
"@xmldom/xmldom": "^0.8.2",
|
||||
"axios": "^0.27.2",
|
||||
"extract-zip": "^2.0.1",
|
||||
|
||||
@@ -9,7 +9,7 @@ import { getPackageInfo } from './utils';
|
||||
|
||||
const packageInfo = getPackageInfo()!;
|
||||
|
||||
export const TelemetryReporter = new AdsTelemetryReporter(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
export const TelemetryReporter = new AdsTelemetryReporter<TelemetryViews, TelemetryActions>(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
|
||||
|
||||
export enum TelemetryViews {
|
||||
@@ -45,5 +45,7 @@ export enum TelemetryActions {
|
||||
publishOptionsOpened = 'publishOptionsOpened',
|
||||
resetOptions = 'resetOptions',
|
||||
optionsChanged = 'optionsChanged',
|
||||
profileLoaded = 'profileLoaded'
|
||||
profileLoaded = 'profileLoaded',
|
||||
SchemaComparisonFinished = 'SchemaComparisonFinished',
|
||||
SchemaComparisonStarted = 'SchemaComparisonStarted'
|
||||
}
|
||||
|
||||
@@ -1602,7 +1602,7 @@ export class ProjectsController {
|
||||
target.targetScripts = await this.getProjectScriptFiles(target.projectFilePath);
|
||||
target.dataSchemaProvider = await this.getProjectDatabaseSchemaProvider(target.projectFilePath);
|
||||
|
||||
TelemetryReporter.sendActionEvent(TelemetryViews.ProjectController, 'SchemaComparisonStarted');
|
||||
TelemetryReporter.sendActionEvent(TelemetryViews.ProjectController, TelemetryActions.SchemaComparisonStarted);
|
||||
|
||||
// Perform schema comparison. Results are cached in SqlToolsService under the operationId
|
||||
const comparisonResult: mssql.SchemaCompareResult = await service.schemaCompare(
|
||||
@@ -1618,7 +1618,7 @@ export class ProjectsController {
|
||||
return;
|
||||
}
|
||||
|
||||
TelemetryReporter.createActionEvent(TelemetryViews.ProjectController, 'SchemaComparisonFinished')
|
||||
TelemetryReporter.createActionEvent(TelemetryViews.ProjectController, TelemetryActions.SchemaComparisonFinished)
|
||||
.withAdditionalProperties({
|
||||
'endTime': Date.now().toString(),
|
||||
'operationId': comparisonResult.operationId
|
||||
|
||||
@@ -240,10 +240,10 @@
|
||||
"@microsoft/applicationinsights-shims" "^2.0.1"
|
||||
"@microsoft/dynamicproto-js" "^1.1.6"
|
||||
|
||||
"@microsoft/ads-extension-telemetry@^1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.npmjs.org/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.2.0.tgz"
|
||||
integrity sha512-dEp+RVJYo4uebMLvBJqJF8IABufJRp+PWHZx+3xe6SgAC37oYhcwR/glExhp3Nj3A2v3vjso6YQ/Wd5TG27FPQ==
|
||||
"@microsoft/ads-extension-telemetry@^1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.3.1.tgz#fa757ee88eac91b21c3a68562da6441c2ad15c39"
|
||||
integrity sha512-8Zd7RwwN7ZufMoWFmc1bwzmQc1RV7/jf/Ua33YL1+P0ZwHoWFOhf/b0lwvAVzi9TB/7oD5zA5yv7A/i2sSTn6Q==
|
||||
dependencies:
|
||||
"@vscode/extension-telemetry" "^0.6.2"
|
||||
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@microsoft/ads-extension-telemetry": "^1.2.0",
|
||||
"@microsoft/ads-extension-telemetry": "^1.3.1",
|
||||
"uuid": "^8.3.2",
|
||||
"vscode-nls": "^4.1.2"
|
||||
},
|
||||
|
||||
@@ -11,7 +11,7 @@ let packageInfo = {
|
||||
aiKey: packageJson.aiKey
|
||||
};
|
||||
|
||||
export const TelemetryReporter = new AdsTelemetryReporter(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
export const TelemetryReporter = new AdsTelemetryReporter<TelemetryViews, TelemetryAction>(packageInfo.name, packageInfo.version, packageInfo.aiKey);
|
||||
|
||||
export enum TelemetryViews {
|
||||
SqlServerDashboard = 'SqlServerDashboard',
|
||||
|
||||
@@ -20,10 +20,10 @@
|
||||
"@microsoft/applicationinsights-shims" "^2.0.1"
|
||||
"@microsoft/dynamicproto-js" "^1.1.6"
|
||||
|
||||
"@microsoft/ads-extension-telemetry@^1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.2.0.tgz#f54e464ac887440727fe9862f8ff32be17aeab3a"
|
||||
integrity sha512-dEp+RVJYo4uebMLvBJqJF8IABufJRp+PWHZx+3xe6SgAC37oYhcwR/glExhp3Nj3A2v3vjso6YQ/Wd5TG27FPQ==
|
||||
"@microsoft/ads-extension-telemetry@^1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@microsoft/ads-extension-telemetry/-/ads-extension-telemetry-1.3.1.tgz#fa757ee88eac91b21c3a68562da6441c2ad15c39"
|
||||
integrity sha512-8Zd7RwwN7ZufMoWFmc1bwzmQc1RV7/jf/Ua33YL1+P0ZwHoWFOhf/b0lwvAVzi9TB/7oD5zA5yv7A/i2sSTn6Q==
|
||||
dependencies:
|
||||
"@vscode/extension-telemetry" "^0.6.2"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user