Skip to content

Commit fc86d42

Browse files
committed
log layout
1 parent e877519 commit fc86d42

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

src/vs/workbench/browser/layout.ts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ import { Schemas } from 'vs/base/common/network';
5050
import { IPaneCompositePartService } from 'vs/workbench/services/panecomposite/browser/panecomposite';
5151
import { ActivitybarPart } from 'vs/workbench/browser/parts/activitybar/activitybarPart';
5252
import { AuxiliaryBarPart, AUXILIARYBAR_ENABLED } from 'vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart';
53+
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
5354

5455
type PanelAlignment = 'left' | 'center' | 'right' | 'justify';
5556

@@ -183,6 +184,7 @@ export abstract class Layout extends Disposable implements IWorkbenchLayoutServi
183184
private themeService!: IThemeService;
184185
private statusBarService!: IStatusbarService;
185186
private logService!: ILogService;
187+
private telemetryService!: ITelemetryService;
186188

187189
protected readonly state = {
188190
fullscreen: false,
@@ -268,6 +270,7 @@ export abstract class Layout extends Disposable implements IWorkbenchLayoutServi
268270
this.themeService = accessor.get(IThemeService);
269271
this.extensionService = accessor.get(IExtensionService);
270272
this.logService = accessor.get(ILogService);
273+
this.telemetryService = accessor.get(ITelemetryService);
271274

272275
// Parts
273276
this.editorService = accessor.get(IEditorService);
@@ -2166,6 +2169,38 @@ export abstract class Layout extends Disposable implements IWorkbenchLayoutServi
21662169
height
21672170
};
21682171

2172+
type StartupLayoutEvent = {
2173+
activityBarVisible: boolean;
2174+
sideBarVisible: boolean;
2175+
auxiliaryBarVisible: boolean;
2176+
panelVisible: boolean;
2177+
statusbarVisible: boolean;
2178+
sideBarPosition: string;
2179+
panelPosition: string;
2180+
};
2181+
2182+
type StartupLayoutEventClassification = {
2183+
activityBarVisible: { classification: 'SystemMetaData', purpose: 'FeatureInsight', isMeasurement: true };
2184+
sideBarVisible: { classification: 'SystemMetaData', purpose: 'FeatureInsight', isMeasurement: true };
2185+
auxiliaryBarVisible: { classification: 'SystemMetaData', purpose: 'FeatureInsight', isMeasurement: true };
2186+
panelVisible: { classification: 'SystemMetaData', purpose: 'FeatureInsight', isMeasurement: true };
2187+
statusbarVisible: { classification: 'SystemMetaData', purpose: 'FeatureInsight', isMeasurement: true };
2188+
sideBarPosition: { classification: 'SystemMetaData', purpose: 'FeatureInsight'; };
2189+
panelPosition: { classification: 'SystemMetaData', purpose: 'FeatureInsight'; };
2190+
};
2191+
2192+
const layoutDescriptor: StartupLayoutEvent = {
2193+
activityBarVisible: !this.state.auxiliaryBar.hidden,
2194+
sideBarVisible: !this.state.sideBar.hidden,
2195+
auxiliaryBarVisible: !this.state.auxiliaryBar.hidden,
2196+
panelVisible: !this.state.panel.hidden,
2197+
statusbarVisible: !this.state.statusBar.hidden,
2198+
sideBarPosition: positionToString(this.state.sideBar.position),
2199+
panelPosition: positionToString(this.state.panel.position),
2200+
};
2201+
2202+
this.telemetryService.publicLog2<StartupLayoutEvent, StartupLayoutEventClassification>('startupLayout', layoutDescriptor);
2203+
21692204
return result;
21702205
}
21712206

0 commit comments

Comments
 (0)