Closed Bug 1640905 Opened 4 years ago Closed 4 years ago

Document how to profile specific threads in talos runs

Categories

(Testing :: Talos, task, P3)

task

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1702310

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

Priority: -- → P3
Flags: needinfo?(gtatum)

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.
Flags: needinfo?(gtatum)
Severity: -- → S3
Component: Performance → Talos

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.)

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.