Hello there! It has been almost 3 months since our last update on the Firefox Profiler. In that time the Performance Tools team and our awesome contributors have made numerous improvements that will hopefully make your jobs easier, for all of you trying to make Firefox fast, for good.
Here are the highlights: - First of all we added documentation <https://perf-html.io/docs/#/> including short videos, on how to use the profiler and some case studies about how performance investigations are often conducted. You can find links to the docs in the button list above the timeline and in the perf-html.io landing page. - Secondly, we added a new Network tab that contains information about the network requests that occurred during profiling. We plan to make this new panel look more like the devtools network panel soon. - Since the profiler can now collect network requests that sometimes contain privacy-sensitive information, the Share button has an additional checkbox in the popup panel to choose whether to include these network requests in the uploaded profile. This checkbox is unchecked by default to protect user privacy. If a profile has been shared without network information by mistake (and vice versa), an additional button to "Share with URLs" (or "Share without URLs") will appear next to the Permalink button. - There is also a new sidebar that can be opened from the button on the right side of the tab list to inspect individual stack frames in the Call Tree and Flame Graph, and soon in the rest of the panels as well. - The Call Tree now displays an activity category indicator (a colored box) next to the stack frame. The category types are color-coded and hovering over the colored box displays the category name in a tooltip (JS, Graphics, Layout, etc.). Soon we will start displaying the activity information in the thread timelines, which will make it easier to find the interesting parts at a glance. - Another useful visual polish is that selecting a time range by dragging the cursor over the timeline will now display the time range duration in the time breadcrumb bar. Zooming in on this range will add the duration to the breadcrumb bar, while deselecting the range will make it disappear. - The profiler is now smarter about idle threads that are rarely useful to inspect and hides them by default. They can be shown again using the thread context menu (right click on the thread list). - For things the profiler can't be smart about, we added configuration options to better fit the various use cases. The add-on panel used for starting and stopping the profiler now includes options to use a single thread for Stylo (sequential styling) and disable responsiveness probes, among others. - In that same panel, it is now possible to profile all threads of a specific process, instead of the specified threads in every process. The syntax to use for the former is, for example |pid=1234|, whereas the syntax for the latter is e.g. |GeckoMain,Compositor,StyleThread|. - Finally there is now support for profiling Fennec, by following the instructions in the docs <https://perf-html.io/docs/#/./guide-remote-profiling>. Soon we expect to be able to profile Focus Nightly that ships with GeckoView. Feel like taking the profiler for a spin to check out all these new features? That’s fantastic! While you do that, if you spot anything that seems to be suboptimal, please file a bug and tag it with [qf] in the whiteboard. Our performance team is eager for more performance bugs to triage. Happy profiling! Panos, on behalf of the perf tools team _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform