跳到主要内容

运行时调用统计

开发者工具性能面板通过可视化各种Chrome内部指标,提供对您的Web应用运行时性能的深入洞察。然而,某些低级别的V8指标目前并未在开发者工具中展示。本文将指导您通过chrome://tracing以最强大的方式收集详细的V8内部指标,称为运行时调用统计或RCS。

跟踪记录整个浏览器的行为,包括其他标签页、窗口和扩展程序,因此最好在干净的用户配置文件中运行,禁用扩展程序,并关闭其他浏览器标签页:

# 使用干净的用户配置文件并禁用扩展程序启动一个新的Chrome浏览器会话
google-chrome --user-data-dir="$(mktemp -d)" --disable-extensions

在第一个标签页中输入您想要测量页面的URL,但不要加载页面。

添加第二个标签页并打开chrome://tracing。提示:您可以直接输入chrome:tracing,无需斜杠。

点击“记录”按钮准备记录跟踪。首先选择“Web开发者”,然后选择“编辑类别”。

从列表中选择v8.runtime_stats。根据您的调查细致程度,您可以选择其他类别。

按下“记录”并切换回第一个标签页加载页面。最快的方法是使用Ctrl/+1直接跳转到第一个标签页,然后按Enter确认输入的URL。

等待页面加载完成或缓冲区已满,然后“停止”记录。

查找一个包含记录标签页网页标题的“渲染器”部分。最简单的方法是点击“进程”,然后点击“无”以取消选中所有条目,然后只选择您感兴趣的渲染器。

通过按住Shift并拖动选择跟踪事件/切片。确保覆盖_所有_部分,包括CrRendererMain和任何ThreadPoolForegroundWorker。底部会出现一个包含所有选中切片的表格。

滚动到表格的右上角,并点击“运行时调用统计表”旁的链接。

在出现的视图中,滚动到底部查看详细的V8时间分配表。

通过展开类别,您可以进一步深入查看数据。

命令行界面

运行d8并使用--runtime-call-stats从命令行获取RCS指标:

d8 --runtime-call-stats foo.js