Document how to profile specific threads in talos runs
Categories
(Testing :: Talos, task, P3)
Tracking
(Not tracked)
People
(Reporter: nical, Unassigned)
Details
Running a talos test with --gecko-profile, I see some of the GPU process threads in the profiler but not all the the threads I am interested in.
The try run is: https://treeherder.mozilla.org/#/jobs?repo=try&revision=a124156a310833df78bd68fa182709b543d53efb
When asking around for a way to add profiled threads, someone pointed me to https://hg.mozilla.org/try/file/b18cf724a5bd91b35fce5a1f745323ba5304aa73/testing/talos/talos/gecko_profile.py#l40 which I modified in this push to have the threads WRSceneBuilder#1 and WRRenderBackend#1
In a previous push I had tried to put sub-strings of the thread names (SceneBuilder, RenderBackend), assuming it would work the way it does with the profiler's settings UI, but it did not work either, see: https://treeherder.mozilla.org/#/jobs?repo=try&revision=5f54e74e3d6c577ade4510f9669889687cd9126e
- Is this the recommended way to add threads to profile?
- What are the constraints on specifying threads to profile on try (this way or another)?
- How can I profile, say WRSceneBuilder#1 ?
We should document the answers to these questions in https://wiki.mozilla.org/TestEngineering/Performance/RunningTests which is reasonably discoverable thanks to being indirectly linked from the talos alerts
Updated•4 years ago
|
Updated•4 years ago
|
Comment 1•4 years ago
|
||
I think the answer here is to move all the settings over to use MOZ_PROFILER_*
environment varables, and then from the command line help, output that.
For instance with mochitests I did:
➤ ./mach mochitest --help
...
--profiler Run the Firefox Profiler and get a performance profile
of the mochitest. This is useful to find performance
issues, and also to see what exactly the test is
doing. To get profiler options run:
`MOZ_PROFILER_HELP=1 ./mach run`
--profiler-save-only Run the Firefox Profiler and save it to the path
specified by the MOZ_UPLOAD_DIR environment variable.
Updated•4 years ago
|
Comment 2•4 years ago
|
||
bug 1702310 adds --gecko-profile-threads
for this purpose. (Note that browsertime also has an option --gecko-profile-thread
that takes a single thread to add to the default set, but I did not extend that implementation to everything else.)
Description
•