perf - add ellapsedWaitForShellEnv to measure blocked time on startup

//cc @jrieken
This commit is contained in:
Benjamin Pasero
2020-11-20 11:06:24 +01:00
parent bffd7a6ad8
commit fe65b26426
4 changed files with 14 additions and 1 deletions

View File

@@ -186,6 +186,15 @@ export interface IStartupMetrics {
*/
readonly ellapsedWindowLoadToRequire: number;
/**
* The time it took to wait for resolving the shell environment. This time the workbench
* will not continue to load and be blocked entirely.
*
* * Happens in the renderer-process
* * Measured with the `willWaitForShellEnv` and `didWaitForShellEnv` performance marks.
*/
readonly ellapsedWaitForShellEnv?: number;
/**
* The time it took to require the workspace storage DB, connect to it
* and load the initial set of values.
@@ -388,6 +397,7 @@ export abstract class AbstractTimerService implements ITimerService {
ellapsedWindowLoad: initialStartup ? perf.getDuration('main:appReady', 'main:loadWindow') : undefined,
ellapsedWindowLoadToRequire: perf.getDuration('main:loadWindow', 'willLoadWorkbenchMain'),
ellapsedRequire: perf.getDuration('willLoadWorkbenchMain', 'didLoadWorkbenchMain'),
ellapsedWaitForShellEnv: perf.getDuration('willWaitForShellEnv', 'didWaitForShellEnv'),
ellapsedWorkspaceStorageInit: perf.getDuration('willInitWorkspaceStorage', 'didInitWorkspaceStorage'),
ellapsedWorkspaceServiceInit: perf.getDuration('willInitWorkspaceService', 'didInitWorkspaceService'),
ellapsedExtensions: perf.getDuration('willLoadExtensions', 'didLoadExtensions'),