Buildbot/Talos/Profiling: Difference between revisions

update instructions
(inbound has been merged)
(update instructions)
Line 4: Line 4:


== On [https://wiki.mozilla.org/Build:TryServer TryServer] ==
== On [https://wiki.mozilla.org/Build:TryServer TryServer] ==
0. Make sure your Gecko repository contains [http://hg.mozilla.org/mozilla-central/rev/babd56077826 mozilla-central revision babd56077826] so you'll get the good stuff from [https://bugzilla.mozilla.org/show_bug.cgi?id=1121571 bug 1121571].


1. When you push to try, add "mozharness: --spsProfile" after "try: ..." to your commit message. Example:
1. When you push to try, add "mozharness: --spsProfile" after "try: ..." to your commit message. Example:
Line 17: 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.
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:
 
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. Set the upload folder (make sure it exists):
2. Set the upload folder (make sure it exists):


  export MOZ_UPLOAD_DIR=/home/username/talos/upload
  export MOZ_UPLOAD_DIR=/home/username/talos/upload


2. Run talos with --spsProfile
3. Run talos with --spsProfile


  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 --spsProfile
# or, for local builds on Windows, add the --symbolsPath:
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


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


= FAQ =
= FAQ =
Confirmed users
85

edits