Add owner and comment to telemetry events (#149097)

This commit is contained in:
Alexandru Dima 2022-05-09 17:31:14 +02:00 committed by GitHub
parent 278dc071ee
commit 843724eb13
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 26 additions and 0 deletions

View file

@ -755,6 +755,8 @@ export async function createServer(address: string | net.AddressInfo | null, arg
const telemetryService = accessor.get(ITelemetryService);
type ServerStartClassification = {
owner: 'alexdima';
comment: 'The server has started up';
startTime: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
startedTime: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
codeLoadedTime: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };

View file

@ -776,6 +776,8 @@ export class RemoteAgentConnectionStatusListener extends Disposable implements I
callback: () => {
type ReconnectReloadClassification = {
owner: 'alexdima';
comment: 'The reload button in the builtin permanent reconnection failure dialog was pressed';
remoteName: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
reconnectionToken: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
millisSinceLastIncomingData: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
@ -820,6 +822,8 @@ export class RemoteAgentConnectionStatusListener extends Disposable implements I
reconnectionAttempts = 0;
type RemoteConnectionLostClassification = {
owner: 'alexdima';
comment: 'The remote connection state is now `ConnectionLost`';
remoteName: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
reconnectionToken: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
};
@ -854,6 +858,8 @@ export class RemoteAgentConnectionStatusListener extends Disposable implements I
reconnectionAttempts = e.attempt;
type RemoteReconnectionRunningClassification = {
owner: 'alexdima';
comment: 'The remote connection state is now `ReconnectionRunning`';
remoteName: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
reconnectionToken: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
millisSinceLastIncomingData: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
@ -893,6 +899,8 @@ export class RemoteAgentConnectionStatusListener extends Disposable implements I
reconnectionAttempts = e.attempt;
type RemoteReconnectionPermanentFailureClassification = {
owner: 'alexdima';
comment: 'The remote connection state is now `ReconnectionPermanentFailure`';
remoteName: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
reconnectionToken: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
millisSinceLastIncomingData: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
@ -936,6 +944,8 @@ export class RemoteAgentConnectionStatusListener extends Disposable implements I
reconnectionAttempts = e.attempt;
type RemoteConnectionGainClassification = {
owner: 'alexdima';
comment: 'The remote connection state is now `ConnectionGain`';
remoteName: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
reconnectionToken: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
millisSinceLastIncomingData: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };

View file

@ -174,6 +174,8 @@ class InitialRemoteConnectionHealthContribution implements IWorkbenchContributio
await this._remoteAgentService.getRawEnvironment();
type RemoteConnectionSuccessClassification = {
owner: 'alexdima';
comment: 'The initial connection succeeded';
web: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
remoteName: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
};
@ -189,6 +191,8 @@ class InitialRemoteConnectionHealthContribution implements IWorkbenchContributio
} catch (err) {
type RemoteConnectionFailureClassification = {
owner: 'alexdima';
comment: 'The initial connection failed';
web: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
remoteName: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
message: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };

View file

@ -1209,6 +1209,8 @@ export abstract class AbstractExtensionService extends Disposable implements IEx
if (!this._isDev && msg.extensionId) {
const { type, extensionId, extensionPointId, message } = msg;
type ExtensionsMessageClassification = {
owner: 'alexdima';
comment: 'A validation message for an extension';
type: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth'; isMeasurement: true };
extensionId: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
extensionPointId: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
@ -1283,6 +1285,8 @@ export abstract class AbstractExtensionService extends Disposable implements IEx
private _onDidActivateExtensionError(extensionId: ExtensionIdentifier, error: Error): void {
type ExtensionActivationErrorClassification = {
owner: 'alexdima';
comment: 'An extension failed to activate';
extensionId: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
error: { classification: 'CallstackOrException'; purpose: 'PerformanceAndHealth' };
};

View file

@ -65,6 +65,8 @@ export function createExtensionHostManager(instantiationService: IInstantiationS
}
export type ExtensionHostStartupClassification = {
owner: 'alexdima';
comment: 'The startup state of the extension host';
time: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
action: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
kind: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };

View file

@ -306,6 +306,8 @@ export class ExtensionService extends AbstractExtensionService implements IExten
private _sendExtensionHostCrashTelemetry(code: number, signal: string | null, activatedExtensions: ExtensionIdentifier[]): void {
type ExtensionHostCrashClassification = {
owner: 'alexdima';
comment: 'The extension host has terminated unexpectedly';
code: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
signal: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
extensionIds: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
@ -323,6 +325,8 @@ export class ExtensionService extends AbstractExtensionService implements IExten
for (const extensionId of activatedExtensions) {
type ExtensionHostCrashExtensionClassification = {
owner: 'alexdima';
comment: 'The extension host has terminated unexpectedly';
code: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
signal: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };
extensionId: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth' };