Skip to content

Commit ac7bbce

Browse files
committed
Split event into multiple
1 parent f45aa1f commit ac7bbce

3 files changed

Lines changed: 27 additions & 7 deletions

File tree

src/vs/platform/diagnostics/common/diagnostics.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ export interface PerformanceInfo {
6363

6464
export interface IWorkspaceInformation extends IWorkspace {
6565
telemetryId: string | undefined;
66+
rendererSessionId: string;
6667
}
6768

6869
export function isRemoteDiagnosticError(x: any): x is IRemoteDiagnosticError {

src/vs/platform/diagnostics/node/diagnosticsService.ts

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -539,22 +539,39 @@ export class DiagnosticsService implements IDiagnosticsService {
539539
collectWorkspaceStats(folder, ['node_modules', '.git']).then(stats => {
540540
type WorkspaceStatsClassification = {
541541
'workspace.id': { classification: 'SystemMetaData', purpose: 'FeatureInsight' };
542-
fileTypes: { classification: 'SystemMetaData', purpose: 'FeatureInsight', isMeasurement: true };
542+
rendererSessionId: { classification: 'SystemMetaData', purpose: 'FeatureInsight' };
543543
configTypes: { classification: 'SystemMetaData', purpose: 'FeatureInsight', isMeasurement: true };
544544
launchConfigs: { classification: 'SystemMetaData', purpose: 'FeatureInsight', isMeasurement: true };
545545
};
546546
type WorkspaceStatsEvent = {
547547
'workspace.id': string | undefined;
548-
fileTypes: WorkspaceStatItem[];
548+
rendererSessionId: string;
549549
configTypes: WorkspaceStatItem[];
550550
launchConfigs: WorkspaceStatItem[];
551551
};
552552
this.telemetryService.publicLog2<WorkspaceStatsEvent, WorkspaceStatsClassification>('workspace.stats', {
553553
'workspace.id': workspace.telemetryId,
554-
fileTypes: stats.fileTypes,
554+
rendererSessionId: workspace.rendererSessionId,
555555
configTypes: stats.configFiles,
556556
launchConfigs: stats.launchConfigFiles
557557
});
558+
stats.fileTypes.forEach(e => {
559+
type WorkspaceStatsFileClassification = {
560+
rendererSessionId: { classification: 'SystemMetaData', purpose: 'FeatureInsight' };
561+
fileType: { classification: 'SystemMetaData', purpose: 'FeatureInsight', isMeasurement: true };
562+
fileCount: { classification: 'SystemMetaData', purpose: 'FeatureInsight', isMeasurement: true };
563+
};
564+
type WorkspaceStatsFileEvent = {
565+
rendererSessionId: string;
566+
fileType: string;
567+
fileCount: number;
568+
};
569+
this.telemetryService.publicLog2<WorkspaceStatsFileEvent, WorkspaceStatsFileClassification>('workspace.stats.file', {
570+
rendererSessionId: workspace.rendererSessionId,
571+
fileType: e.name,
572+
fileCount: e.count
573+
});
574+
});
558575
}).catch(_ => {
559576
// Report nothing if collecting metadata fails.
560577
});

src/vs/workbench/contrib/stats/electron-browser/workspaceStats.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -164,16 +164,18 @@ export class WorkspaceStats implements IWorkbenchContribution {
164164
this.reportProxyStats();
165165

166166
const diagnosticsChannel = this.sharedProcessService.getChannel('diagnostics');
167-
diagnosticsChannel.call('reportWorkspaceStats', this.getWorkspaceInformation());
167+
this.getWorkspaceInformation().then(stats => diagnosticsChannel.call('reportWorkspaceStats', stats));
168168
}
169169

170-
private getWorkspaceInformation(): IWorkspaceInformation {
170+
private async getWorkspaceInformation(): Promise<IWorkspaceInformation> {
171171
const workspace = this.contextService.getWorkspace();
172172
const state = this.contextService.getWorkbenchState();
173-
const id = this.workspaceStatsService.getTelemetryWorkspaceId(workspace, state);
173+
const telemetryId = this.workspaceStatsService.getTelemetryWorkspaceId(workspace, state);
174+
const rendererSessionId = (await this.telemetryService.getTelemetryInfo()).sessionId;
174175
return {
175176
id: workspace.id,
176-
telemetryId: id,
177+
telemetryId,
178+
rendererSessionId,
177179
folders: workspace.folders,
178180
configuration: workspace.configuration
179181
};

0 commit comments

Comments
 (0)