Firefox 是否允许使用 "aggregated" 火焰图分析 JS 应用程序?

Does Firefox allow profiling JS apps using "aggregated" flame charts?

Firefox Developer Tools 支持 flame charts,但似乎时间被用作 X 轴:

In the Flame Chart view itself, along the X-axis is time. The screenshot above covers the period from 1435ms to a little past 1465ms. Along the Y-axis are the functions on the call stack at that point in time, with the top-level at the top, and the leaf function at the bottom. Functions are color-coded to make them easier to distinguish.

火焰图通常使用百分比作为X轴,例如:pyflame or Brendan Gregg's flame graphs.

我发现基于时间的火焰图令人困惑,并且无法获得每个函数的聚合时间(类似于 Call Tree as far as content is concerned, but represented in more visual way). Also, if a function is short but is called many times it is easy to miss it, while on "aggregated" flame charts it would stand out prominently. To see why time-based flame charts are confusing, let me borrow example from - 不可否认在 Chrome 中,但问题是相似的:

即使某些功能占用了总时间的 30%,也不会在上图中显示出来。

有什么办法(通过插件或设置)让 Firefox 显示选定时间片的聚合火焰图而不是基于时间的火焰图?

似乎 extending the DevTools 相当有限,除非您正在创建自己的面板,但您实际上无法访问其中的分析器来生成您的火焰图。

您仍然可以将记录的配置文件保存到 JSON 文件中,对其进行解析,然后创建您自己的可以计算总聚合运行时间的火焰图。

您也可以尝试 Gecko Profiler Add-on 进行一些更高级的分析。不过,您将处于同一条船上,因为您需要将其导出以对配置文件数据进行自己的聚合。