As a user I want the profiler to auto-start when I refresh the page

NEW
Unassigned

Status

DevTools
Performance Tools (Profiler/Timeline)
P3
normal
2 years ago
6 days ago

People

(Reporter: Harald, Unassigned)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

2 years ago
As a user I want to profile page load by opening the performance tool and refreshing the page.

See Chrome's Timeline for similar behavior: https://www.dropbox.com/s/j6329stfvo1hzji/Screenshot%202016-08-01%2010.20.30.PNG?dl=0

Evaluating page load performance is one of the most important performance debugging done on today's websites. Performance tool can support this better by automatically starting the profiler when a page gets reloaded while the performance tab is open.
(Reporter)

Comment 1

2 years ago
ni? clarkbw for product input.
Flags: needinfo?(clarkbw)
I like this concept, need input from Helen and engineering.
Flags: needinfo?(clarkbw) → needinfo?(hholmes)
I like the concept too. 

As an aside, is it possible to trigger the profiler when the tool is opened, or is the reload necessary for engineering purposes? Could be a nice enhancement if it's possible.
Flags: needinfo?(hholmes) → needinfo?(gtatum)
There are some cases where recording on refresh might make it harder to profile something I'm interested in:

You can programmatically put console.profile() to start a recording. Firefox differs from chrome (currently) in that you can have multiple recordings going on at once. Not sure if that feature will still be around in 2 years or not. So you could potentially put a console.profile() in at the beginning of the launch of your page, but then the results will be polluted with refreshing the page, and having a recording start up automatically. I would think in chrome would just stop the previous recording as only one recording is allowed at a time. I'm not sure exactly, but that part would have to be figured out.

Profiling the page can be a pretty intensive operation with lots of overhead. It's often the case that users are profiling a fairly intensive page, and may want to control the experience. We have some outstanding beachball issues that won't be resolved for awhile because they require re-architecting the tool.

As for recording when you load the tool. Profiling is a fairly intense and invasive operation, and you'll be kicking it off after loading the devtool. We have a lot of issues right now with the devtools polluting the profile with their own code, so this could exacerbate it with more loading code. There are some potential GC events that could happen after initializing that would make your app look less performant.

I mainly profile realtime code for my personal stuff, and less app code where startup time is the more important metric. From my own "realtime coder user story" this could get in the way, but from an app developer's perspective I could see how it would be useful as the initial load is a pretty important metric. Of course the way the tool currently works lets you easily start recording, refresh, and then stop the recording, so it's still possible to meet their needs.
Flags: needinfo?(gtatum)
(Reporter)

Comment 5

2 years ago
> As an aside, is it possible to trigger the profiler when the tool is opened, or is the reload necessary for engineering purposes? Could be a nice enhancement if it's possible.

That would not be user intent, at least I have never seen anybody expecting that behavior.

> I could see how it would be useful as the initial load is a pretty important metric

JS is one part here but also styling/reflows that might be caused by code or delayed assets.

> Of course the way the tool currently works lets you easily start recording, refresh, and then stop the recording, so it's still possible to meet their needs.

This is indeed mostly a convenience request that makes the tool just a little smarter and also closes the gap to how Chrome's profiler just works. Another panel that already does it is the Network panel, which activates on restart.
Blocks: 1145697
Priority: -- → P3

Updated

6 days ago
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.