Buildbot/Talos/Profiling: Difference between revisions

Jump to navigation Jump to search
update for "mach talos-test"
(replace spsProfile with geckoProfile and make a note that perf.html integration is currently non-existent)
(update for "mach talos-test")
Line 1: Line 1:
= How to Run Talos in Profiling Mode =
= How to Run Talos in Profiling Mode =


When profiling is enabled, we use the [https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Profiling_with_the_Built-in_Profiler Gecko Profiler] to capture profiles during each Talos run that can then be displayed by Cleopatra. The captured profiles are grouped into zip files, one per Talos test, which are then copied to the upload directory.
When profiling is enabled, we use the [https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Profiling_with_the_Built-in_Profiler Gecko Profiler] to capture profiles during each Talos run that can then be displayed by [https://perf-html.io perf.html]. The captured profiles are grouped into zip files, one per Talos test, which are placed into the upload directory.


== On [https://wiki.mozilla.org/Build:TryServer TryServer] ==
== On [https://wiki.mozilla.org/Build:TryServer TryServer] ==
Line 15: Line 15:
== When running Talos locally ==
== When running Talos locally ==


You need to set an upload directory and use the --geckoProfile command line parameter with Talos to capture profiles and have them copied into the upload folder. And if you're on Windows and running a build you've compiled yourself, you'll need to produce a crash reporter symbols zip file first. Step by step:
If you're running Talos using <code>mach talos-test</code>, you only need to append <code>--geckoProfile</code> to the command and the rest should happen automatically.


1. If you're on Windows and want to profile a Firefox build that you compiled yourself, make sure it contains profiling information and you have a symbols zip for it, by following the [https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Profiling_with_the_Built-in_Profiler_and_Local_Symbols_on_Windows#Profiling_local_talos_runs directions on MDN].
After the Talos run is done, you will have a zip file with multiple profiles in your Talos "upload dir", which is, by default, at <code>testing/mozharness/build/blobber_upload_dir</code>. Unzip that file, and then go to [https://perf-html.io perf.html] and pick one of the extracted JSON files in order to display it.


2. Set the upload folder (make sure it exists):
If you're on Windows and want to profile a Firefox build that you compiled yourself, make sure it contains profiling information and you have a symbols zip for it, by following the [https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Profiling_with_the_Built-in_Profiler_and_Local_Symbols_on_Windows#Profiling_local_talos_runs directions on MDN].
 
export MOZ_UPLOAD_DIR=/home/username/talos/upload
 
3. Run talos with --geckoProfile
 
talos -n -d --develop --executablePath ~/work/gecko-dev/obj-x86_64-unknown-linux-gnu/dist/bin/firefox --activeTests ts --geckoProfile
# or, for local builds on Windows, add the --symbolsPath:
talos -n -d --develop --executablePath ~/path/to/objdir/dist/bin/firefox --activeTests ts \
  --geckoProfile --symbolsPath ~/path/to/objdir/dist/firefox-40.0a1.en-US-win32.crashreporter-symbols.zip
 
4. You will have one zip file per test in your upload folder. See [https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Profiling_with_the_Built-in_Profiler#Upload_and_Share_the_Profile_to_Cleopatra this page] for info about how to open profiles in cleopatra.  


= FAQ =
= FAQ =
Confirmed users
85

edits

Navigation menu