Closed Bug 1371838 Opened 2 years ago Closed 2 years ago

Register WebRender threads with the Gecko profiler

Categories

(Core :: Graphics: WebRender, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
mozilla58
Tracking Status
firefox56 --- unaffected
firefox57 --- unaffected
firefox58 --- fixed

People

(Reporter: mstange, Assigned: jerry)

References

(Blocks 2 open bugs)

Details

(Keywords: feature, Whiteboard: [wr-reserve] [gfx-noted])

Attachments

(6 files, 2 obsolete files)

WebRender launches a few threads internally. We'd like to be able to profile them, so we need to call functions on thread creation + destruction in order to register + unregister them with the Gecko Profiler.
Attached patch proof of concept (obsolete) — Splinter Review
This works but needs lots of cleanup, and comments, and the rust parts should be rewritten by somebody who actually knows rust.
Peter, would you like to take this over and finish it?
Flags: needinfo?(howareyou322)
Keywords: feature
Priority: -- → P3
Whiteboard: [gfx-noted]
Sure, I can help on this.
Assignee: nobody → howareyou322
Flags: needinfo?(howareyou322)
Attached patch rebasedSplinter Review
It doesn't seem to be capturing any WebRender:WorkerThreads. I haven't checked why that is.
Attachment #8876292 - Attachment is obsolete: true
With attachment 8917973 [details] [diff] [review], I'm able to capture WebRender::Backend but not WebRender::WorkerThreads too. I will clean up the patches for landing first because we need this bug for performance profiling.
Any update on how this is going? It would be good to land sooner rather than later.
Flags: needinfo?(howareyou322)
I think we need to modify here to capture WebRender::WorkerThreads.

http://searchfox.org/mozilla-central/source/gfx/webrender_bindings/src/bindings.rs#597
I will take the remaining works.
Assignee: howareyou322 → hshih
Status: NEW → ASSIGNED
Flags: needinfo?(howareyou322)
MozReview-Commit-ID: 2gVAmU2xomP
Attachment #8926323 - Flags: review?(jmuizelaar)
MozReview-Commit-ID: BUyTq2vz3cO
Attachment #8926324 - Flags: review?(jmuizelaar)
MozReview-Commit-ID: yyFwBr21F3
Attachment #8926325 - Flags: review?(jmuizelaar)
MozReview-Commit-ID: 7YbQNzTNpmE
Attachment #8926326 - Flags: review?(jmuizelaar)
fix typo.
Attachment #8926328 - Flags: review?(jmuizelaar)
Attachment #8926325 - Attachment is obsolete: true
Attachment #8926325 - Flags: review?(jmuizelaar)
Priority: P3 → P1
Whiteboard: [gfx-noted] → [wr-reserve] [gfx-noted]
Attachment #8926323 - Flags: review?(jmuizelaar) → review+
Attachment #8926324 - Flags: review?(jmuizelaar) → review+
Attachment #8926328 - Flags: review?(jmuizelaar) → review+
Attachment #8926326 - Flags: review?(jmuizelaar) → review+
Attached patch WR changesSplinter Review
MozReview-Commit-ID: 5mIoBmz59SR
Depends on: 1415150
Pushed by hshih@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/8e69fae378b7
export the gecko profiler registering function to WR. r=jrmuizel
https://hg.mozilla.org/integration/mozilla-inbound/rev/a6ad193d398e
register the WR thread pool's thread to gecko profiler. r=jrmuizel
https://hg.mozilla.org/integration/mozilla-inbound/rev/3fe8d225b7ba
add a custom thread listener to WR. r=jrmuizel
https://hg.mozilla.org/integration/mozilla-inbound/rev/d352680181fc
set the window_id as renderer_id to WR. r=jrmuizel
Depends on: 1416543
You need to log in before you can comment on or make changes to this bug.