报告性能问题¶
本文将指导您使用内置的 Gecko Profiler 工具报告性能问题。
使用 Profiler¶
启用后,Profiler 工具栏按钮默认不进行录制。可以通过点击工具栏图标打开其面板来进行录制。请确保为录制选择合适的设置(如果不确定,请选择 Firefox 平台),然后选择“开始录制”。录制时工具栏图标会变成蓝色。
Profiler 使用固定大小的缓冲区来存储样本数据。当缓冲区空间不足时,它会丢弃旧的条目,因此如果您发现无法在注意到性能问题后快速捕获概要文件,则可能需要增加缓冲区大小。如果选择自定义设置(然后单击“编辑设置”)进行设置 Profiler,您可以调整缓冲区的大小(目前默认为 90 MB)和数据收集之间的时间间隔(目前默认为 1 毫秒)。请注意,增加缓冲区大小会使用更多内存,并且可能使捕获概要文件花费更长时间。
使用键盘快捷键通常比使用鼠标与 UI 交互更方便
Ctrl+Shift+1 - 启动/停止 Profiler
Ctrl+Shift+2 - 获取概要文件并启动查看器以查看它
捕获和共享概要文件¶
在 Profiler 录制时,重现性能问题。如果可能,让问题持续 5-10 秒。
按Ctrl+Shift+2或单击右上角的 Profiler 工具栏图标并选择“捕获”。尝试在重现性能问题后的几秒钟内执行此操作,因为仅记录最后几秒钟。如果时间线有一个大的红色块,这是一个好兆头。
数据将在新标签页中打开。等待“符号化调用栈”通知消失后再共享概要文件。
右上角将有一个名为“上传本地概要文件”的按钮,它允许您上传此概要文件,完成后将写出一个链接。在上传之前,上传按钮会询问您要发布到我们服务器的哪些数据。
请注意,虽然可以从概要文件中删除潜在的隐私敏感信息,但概要文件包含的信息越少,越难以分析并转化为可操作的数据。
上传后,通过右键单击并复制永久链接 URL 到剪贴板 将概要文件 URL 添加到性能问题的错误报告中 和/或将其发送给相关人员。尝试提供一些关于性能问题出现时您正在执行的操作的上下文,例如您正在查看的 URL 和您正在执行的操作(例如,在 gmail.com 上滚动)。
在 GeckoView 中查看加载项性能¶
有时一个或多个加载项会降低 Firefox 的速度。这些加载项可能以不应有的方式使用扩展 API。您可以通过添加moz-extension过滤器查看哪些加载项会导致问题。
请确保您选择了正在使用 CPU 的进程,因为所有进程都显示出来了。您可能有一个内容进程正在使用 CPU,而不是主进程。
请确保在录制概要文件时执行任何导致 Firefox 速度变慢的操作。例如,您可能有一个加载项会降低页面加载速度,而另一个加载项会降低标签切换速度。
一旦您发现哪个加载项导致概要文件变慢,您的第一反应可能是禁用它并搜索替代方案。在执行此操作之前,请通过错误报告与加载项作者共享性能概要文件。Gecko Profiler 允许您与概要文件共享链接。