提交 7f116812 编写于 作者: J Johannes Rieken

add `ellapsedRenderer` to measure the time it took inside the renderer to...

add `ellapsedRenderer` to measure the time it took inside the renderer to create the workbench, https://github.com/microsoft/vscode/issues/101850
上级 73d89afb
......@@ -2,6 +2,10 @@
<!DOCTYPE html>
<html>
<head>
<script>
globalThis.MonacoPerformanceMarks = globalThis.MonacoPerformanceMarks || [];
globalThis.MonacoPerformanceMarks.push('renderer/started', Date.now());
</script>
<meta charset="utf-8" />
<!-- Disable pinch zooming -->
......@@ -45,7 +49,6 @@
</script>
<script src="./static/out/vs/loader.js"></script>
<script>
globalThis.MonacoPerformanceMarks = globalThis.MonacoPerformanceMarks || [];
globalThis.MonacoPerformanceMarks.push('willLoadWorkbenchMain', Date.now());
</script>
<script>
......
......@@ -2,6 +2,10 @@
<!DOCTYPE html>
<html>
<head>
<script>
globalThis.MonacoPerformanceMarks = globalThis.MonacoPerformanceMarks || [];
globalThis.MonacoPerformanceMarks.push('renderer/started', Date.now());
</script>
<meta charset="utf-8" />
<!-- Disable pinch zooming -->
......@@ -46,7 +50,6 @@
</script>
<script src="./static/out/vs/loader.js"></script>
<script>
globalThis.MonacoPerformanceMarks = globalThis.MonacoPerformanceMarks || [];
globalThis.MonacoPerformanceMarks.push('willLoadWorkbenchMain', Date.now());
</script>
<script src="./static/out/vs/workbench/workbench.web.api.nls.js"></script>
......
......@@ -179,6 +179,7 @@ class PerfModelContentProvider implements ITextModelContentProvider {
table.push(['restore editors', metrics.timers.ellapsedEditorRestore, '[renderer]', `${metrics.editorIds.length}: ${metrics.editorIds.join(', ')}`]);
table.push(['overall workbench load', metrics.timers.ellapsedWorkbench, '[renderer]', undefined]);
table.push(['workbench ready', metrics.ellapsed, '[main->renderer]', undefined]);
table.push(['renderer ready', metrics.timers.ellapsedRenderer, '[renderer]', undefined]);
table.push(['extensions registered', metrics.timers.ellapsedExtensionsReady, '[renderer]', undefined]);
md.heading(2, 'Performance Marks');
......
......@@ -269,6 +269,14 @@ export interface IStartupMetrics {
*/
readonly ellapsedWorkbench: number;
/**
* This time it took inside the renderer to start the workbench.
*
* * Happens in the renderer-process
* * Measured with the `renderer/started` and `didStartWorkbench` performance marks
*/
readonly ellapsedRenderer: number;
// the time it took to generate this object.
// remove?
readonly ellapsedTimersToTimersComputed: number;
......@@ -386,6 +394,7 @@ export abstract class AbstractTimerService implements ITimerService {
ellapsedPanelRestore: perf.getDuration('willRestorePanel', 'didRestorePanel'),
ellapsedWorkbench: perf.getDuration('willStartWorkbench', 'didStartWorkbench'),
ellapsedExtensionsReady: perf.getDuration(startMark, 'didLoadExtensions'),
ellapsedRenderer: perf.getDuration('renderer/started', 'didStartWorkbench'),
ellapsedTimersToTimersComputed: Date.now() - now,
},
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册