Open Bug 1845780 Opened 1 years ago Updated 8 months ago

Instrument Rendering Performance

Categories

(Firefox :: Firefox View, task, P3)

task

Tracking

()

People

(Reporter: muffinresearch, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [fidefe-firefox-view])

We'd like to track rendering perf in view. If there's nothing that implicitly covers this for us to understand this we should add telemetry for this explicitly.

Should be possible to understand this per "page".

I think we need some definition of what exactly we're going to measure and how (it might benefit from feedback from the perf team). Sam did you have anything specific in mind about what we'd do and how?

Flags: needinfo?(sfoster)

I think a good start would be some markers in the start methods (or whatever equivalent) for each major component and after the first render with data. That would let us measure what I think is the most important time-elapsed between the user clicking to see something and having rendered that something.
We could get more fine-grained than that, but having those markers in the profiles would make it easy to zoom in and compare performance from one profile to another and seems like a good first step.

Flags: needinfo?(sfoster)

For the how, I /think/ we can just use console.performance.mark(). But I only see a single instance of that in the tree, so maybe we're supposed to use ChromeUtils.addProfilerMarker().

ChromeUtils.addProfilerMarker is probably the right call - Florian, can you expand on that?

Flags: needinfo?(florian)

(In reply to Sam Foster [:sfoster] (he/him) from comment #3)

For the how, I /think/ we can just use console.performance.mark(). But I only see a single instance of that in the tree, so maybe we're supposed to use ChromeUtils.addProfilerMarker().

If your code has chrome privileges, you can indeed get better markers using ChromeUtils.addProfilerMarker().

Flags: needinfo?(florian)
Priority: -- → P2
Priority: P2 → P3
You need to log in before you can comment on or make changes to this bug.