Buildbot/Talos/Profiling: Difference between revisions

Jump to navigation Jump to search
replace spsProfile with geckoProfile and make a note that perf.html integration is currently non-existent
(update instructions)
(replace spsProfile with geckoProfile and make a note that perf.html integration is currently non-existent)
Line 5: Line 5:
== On [https://wiki.mozilla.org/Build:TryServer TryServer] ==
== On [https://wiki.mozilla.org/Build:TryServer TryServer] ==


1. When you push to try, add "mozharness: --spsProfile" after "try: ..." to your commit message. Example:
1. When you push to try, add "mozharness: --geckoProfile" after "try: ..." to your commit message. Example:


  try: -b o -p macosx64,win32,win64 -u none -t all[10.6,10.8,Windows XP,Windows 7,Windows 8] mozharness: --spsProfile
  try: -b o -p macosx64,win32,win64 -u none -t all[10.6,10.8,Windows XP,Windows 7,Windows 8] mozharness: --geckoProfile


2. When the tests finishes and you select the run in treeherder, you'll see links to open the collect profiles in cleopatra. Click those links.
2. When the tests finishes and you select the run in treeherder, you should see links to open the collected profiles in perf.html. [This is currently broken. I think you'll need to download the profile zip artifacts manually, extract them, and load individual profile files into perf.html by dragging them into [https://perf-html.io perf-html.io].]


[[File:Treeherder_talos_profiling_cleopatra_links.png|845x358px]]
[[File:Treeherder_talos_profiling_cleopatra_links.png|845x358px]]
Line 15: Line 15:
== When running Talos locally ==
== When running Talos locally ==


You need to set an upload directory and use the --spsProfile 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:
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:


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].
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].
Line 23: Line 23:
  export MOZ_UPLOAD_DIR=/home/username/talos/upload
  export MOZ_UPLOAD_DIR=/home/username/talos/upload


3. Run talos with --spsProfile
3. Run talos with --geckoProfile


  talos -n -d --develop --executablePath ~/work/gecko-dev/obj-x86_64-unknown-linux-gnu/dist/bin/firefox --activeTests ts --spsProfile
  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:
  # or, for local builds on Windows, add the --symbolsPath:
  talos -n -d --develop --executablePath ~/path/to/objdir/dist/bin/firefox --activeTests ts \
  talos -n -d --develop --executablePath ~/path/to/objdir/dist/bin/firefox --activeTests ts \
   --spsProfile --symbolsPath ~/path/to/objdir/dist/firefox-40.0a1.en-US-win32.crashreporter-symbols.zip
   --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.  
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.  
Confirmed users
85

edits

Navigation menu