Telemetry for Data Workspaces extension (#13846)

* Add CodeQL Analysis workflow (#10195)

* Add CodeQL Analysis workflow

* Fix path

* test commit pls ignore

* telemetry points

* yarn lock changes

* making test xplat friendly

* PR feedback

* Adding additional telemetry points

Co-authored-by: Justin Hutchings <jhutchings1@users.noreply.github.com>
This commit is contained in:
Benjin Dubishar
2021-01-22 14:18:43 -08:00
committed by GitHub
parent e280205340
commit c903cd87bf
18 changed files with 626 additions and 17 deletions

View File

@@ -6,13 +6,13 @@
import { IProjectProvider } from 'dataworkspace';
import * as vscode from 'vscode';
import { IProjectProviderRegistry } from './interfaces';
import { TelemetryReporter, TelemetryViews } from './telemetry';
export const ProjectProviderRegistry: IProjectProviderRegistry = new class implements IProjectProviderRegistry {
private _providers = new Array<IProjectProvider>();
private _providerFileExtensionMapping: { [key: string]: IProjectProvider } = {};
private _providerProjectTypeMapping: { [key: string]: IProjectProvider } = {};
registerProvider(provider: IProjectProvider): vscode.Disposable {
this.validateProvider(provider);
this._providers.push(provider);
@@ -20,6 +20,14 @@ export const ProjectProviderRegistry: IProjectProviderRegistry = new class imple
this._providerFileExtensionMapping[projectType.projectFileExtension.toUpperCase()] = provider;
this._providerProjectTypeMapping[projectType.id.toUpperCase()] = provider;
});
TelemetryReporter.createActionEvent(TelemetryViews.ProviderRegistration, 'ProviderRegistered')
.withAdditionalProperties({
providerId: provider.providerExtensionId,
extensions: provider.supportedProjectTypes.map(p => p.projectFileExtension).sort().join(', ')
})
.send();
return new vscode.Disposable(() => {
const idx = this._providers.indexOf(provider);
if (idx >= 0) {