Existing Tools

  • Revision slug: Debugging/Existing_Tools
  • Revision title: Existing Tools
  • Revision id: 6184
  • Created:
  • Creator: felipc
  • Is current revision? No
  • Comment one or more formatting changes

Revision Content

SPS

Description: Add-on that runs the built-in profiler, retrieves the data and parses it on a web service, displaying a call tree and a timeline with responsiveness measurements.
Good for: Figuring out where time is being spent in the code / what is hanging Firefox
URL: geckoprofiler.xpi on GitHub
How to use: After installing the add-on, click on the icon in the Add-ons bar (status bar) to open an widget with Start/Stop and Analyze buttons. More details at Profiling with the built-in profiler. The profiling build can be used to get accurate call stacks (currently Mac only).

 

 

about:jank

Description: Add-on that runs the built-in profiler and displays the retrieved data on about:jank
Good for: Figuring out where time is being spent in the code / what is hanging Firefox
URL: about:jank on AMO
How to use: Open about:jank for the first time to activate the profiler, then refresh or reopen the page to see the accumulated data.

about:telemetry

Description: Displays the data gathered by telemetry for the current profile: histograms, slow SQL statements and a start-up timeline.
Good for: Getting performance data for the current profile
URL: about:telemetry on AMO
How to use: Make sure that telemetry reporting is on (Options -> Advanced -> Submit performance data) and open about:telemetry.

about:startup

Description: This addon displays startup timings as exposed by a Gecko API at the about:startup.
Good for: Getting startup performance information for the current profile
URL: about:startup on AMO
How to use: Install the add-on and open about:startup.

about:cc

Description: Analyzes the cycle collection graphs and helps find leaks (specially documents) and missing CC optimizations.
Good for: Finding leaked documents
URL: about:cc on bugzilla
How to use: Install the add-on (a restart is recommended), open about:cc.  First click on Run Cycle Collector, and then on Find Documents.

about:ccdump

Description: More graphical interface to about:cc. Helps analyze cycle collection graphs and finding leaks
Good for: Finding cycles that are causing memory leaks
URL: about:ccdump on AMO
How to use: See Jan Odvarko's post for detailed information.

MemChaser

Description: Displays GC/CC and memory usage information on the Add-ons bar (status bar). Also toggles the memory reporting logging.
Good for: Track GC and memory usage over time during a regular browsing session.
URL: MemChaser on AMO
How to use: Install the add-on and open the Add-ons bar.

MozRegression

Description: Python script that greatly helps you binary-search a regression bug through the nightly builds by automatically downloading and running each build with a fresh profile.
Good for: Finding the nightly regression range for a bug that you're not sure when was introduced.
URL: MozRegression on GitHub
How to use: First find a nightly build date that you're sure the problem exists, and one where you're sure it doesn't. Then run mozregression --good=yyyy-mm-dd --bad=yyyy-mm-dd and the script will guide on finding the regression.

Revision Source

<h3>SPS</h3>
<p><strong>Description:</strong> Add-on that runs the built-in profiler, retrieves the data and parses it on a web service, displaying a call tree and a timeline with responsiveness measurements.<br> <strong> Good for:</strong> Figuring out where time is being spent in the code / what is hanging Firefox<br> <strong> URL:</strong> <a class="link-https" href="https://github.com/bgirard/Gecko-Profiler-Addon/raw/master/geckoprofiler.xpi" title="https://github.com/bgirard/Gecko-Profiler-Addon/raw/master/geckoprofiler.xpi">geckoprofiler.xpi on GitHub</a><br> <strong> How to use:</strong> After installing the add-on, click on the icon in the Add-ons bar (status bar) to open an widget with Start/Stop and Analyze buttons. More details at <a href="/en/Performance/Profiling_with_the_Built-in_Profiler" title="En/Performance/Profiling_with_the_Built-in_Profiler">Profiling with the built-in profiler</a>. The <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-profiling/" title="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-profiling/">profiling build</a> can be used to get accurate call stacks (currently Mac only).</p>
<p> </p>
<p> </p>
<h3>about:jank</h3>
<p><strong>Description:</strong> Add-on that runs the built-in profiler and displays the retrieved data on about:jank<br> <strong> Good for:</strong> Figuring out where time is being spent in the code / what is hanging Firefox<br> <strong> URL:</strong> <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/aboutjank/" title="https://addons.mozilla.org/en-US/firefox/addon/aboutjank/">about:jank on AMO</a><br> <strong> How to use:</strong> Open about:jank for the first time to activate the profiler, then refresh or reopen the page to see the accumulated data.</p>
<h3>about:telemetry</h3>
<p><strong>Description:</strong> Displays the data gathered by telemetry for the current profile: histograms, slow SQL statements and a start-up timeline.<br> <strong> Good for:</strong> Getting performance data for the current profile<br> <strong> URL:</strong> <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/abouttelemetry/" title="https://addons.mozilla.org/en-US/firefox/addon/abouttelemetry/">about:telemetry on AMO</a><br> <strong> How to use:</strong> Make sure that telemetry reporting is on (Options -&gt; Advanced -&gt; Submit performance data) and open about:telemetry.</p>
<h3>about:startup</h3>
<p><strong>Description:</strong> This addon displays startup timings as exposed by a Gecko API at the about:startup.<br> <strong> Good for:</strong> Getting startup performance information for the current profile<br> <strong> URL:</strong> <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/about-startup/" title="https://addons.mozilla.org/en-US/firefox/addon/about-startup/">about:startup on AMO</a><br> <strong> How to use:</strong> Install the add-on and open about:startup.</p>
<h3>about:cc</h3>
<p><strong>Description:</strong> Analyzes the cycle collection graphs and helps find leaks (specially documents) and missing CC optimizations.<br> <strong> Good for:</strong> Finding leaked documents<br> <strong> URL:</strong> <a class="link-https" href="https://bugzilla.mozilla.org/attachment.cgi?id=598349" title="https://bugzilla.mozilla.org/attachment.cgi?id=598349">about:cc on bugzilla</a><br> <strong> How to use:</strong> Install the add-on (a restart is recommended), open about:cc.  First click on Run Cycle Collector, and then on Find Documents.</p>
<h3>about:ccdump</h3>
<p><strong>Description:</strong> More graphical interface to about:cc. Helps analyze cycle collection graphs and finding leaks<br> <strong> Good for:</strong> Finding cycles that are causing memory leaks<br> <strong> URL:</strong> <a href="/en/Submitting_an_add-on_to_AMO" title="Submitting an add-on to AMO">about:ccdump on AMO</a><br> <strong> How to use:</strong> See <a class="external" href="http://www.softwareishard.com/blog/planet-mozilla/hunting-zombie-memory-leaks-in-firefox/" title="http://www.softwareishard.com/blog/planet-mozilla/hunting-zombie-memory-leaks-in-firefox/">Jan Odvarko's post</a> for detailed information.</p>
<h3>MemChaser</h3>
<p><strong>Description:</strong> Displays GC/CC and memory usage information on the Add-ons bar (status bar). Also toggles the memory reporting logging.<br> <strong> Good for:</strong> Track GC and memory usage over time during a regular browsing session.<br> <strong> URL:</strong> <a href="/en/Submitting_an_add-on_to_AMO" title="Submitting an add-on to AMO">MemChaser on AMO</a><br> <strong> How to use:</strong> Install the add-on and open the Add-ons bar.</p>
<h3>MozRegression</h3>
<p><strong>Description:</strong> Python script that greatly helps you binary-search a regression bug through the nightly builds by automatically downloading and running each build with a fresh profile.<br> <strong>Good for:</strong> Finding the nightly regression range for a bug that you're not sure when was introduced.<br> <strong>URL:</strong> <a class="link-https" href="https://github.com/mozilla/mozregression/" title="https://github.com/mozilla/mozregression/">MozRegression on GitHub</a><br> <strong>How to use:</strong> First find a nightly build date that you're sure the problem exists, and one where you're sure it doesn't. Then run <code>mozregression --good=yyyy-mm-dd --bad=yyyy-mm-dd</code> and the script will guide on finding the regression.</p>
Revert to this revision