Your Search Results

    Existing Tools

    A non-complete list of existing tools to help debugging performance and memory problems.

    SPS - Built-in profiler

    profiler.pngDescription: 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

    aboutjank.PNGDescription: 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

    aboutelemetry.pngDescription: 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

    aboutstartup.PNGDescription: 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

    aboutcc.PNGDescription: 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

    aboutccdump.pngDescription: 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.

     

    about:nosy

    about-nosy-overview-scaled.pngDescription: Graphical interface for jsprobes. Helps analyze which tab is consuming the most resources
    Good for: Seeing the memory and CPU usage of your tabs and extensions (that live in compartments)
    URL: about:nosy on Github
    How to use: See Andrew Sutherland's post for detailed information. Builds are at https://clicky.visophyte.org/files/labs/about-nosy/

     

    MemChaser

    memchaser.pngDescription: 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 you on finding the regression.

     

    Layout painting flash

    Description: Activating this option, the rendered content will be flashed with a random color every time it's painted on screen
    Good for: Finding unneccessary painting or invalidation problems
    URL: Set nglayout.debug.paint_flashing to true in about:config
    How to use: Set the pref in about:config. More information on this post.

     

    Logging GC/CC times

    Description: Logs the timing for GC/CC runs to the Error Console.
    Good for: Figuring out if Garbage/Cycle collection is taking too long.
    URL: Set javascript.options.mem.log to true in about:config
    How to use: Set the pref in about:config. Open the Error Console to view the logged information.

    Attachments

    File Size Date Attached by
    aboutccdump.png
    29459 bytes 2012-02-27 23:40:33 felipc
    aboutcc.PNG
    256461 bytes 2012-02-27 23:40:48 felipc
    aboutelemetry.png
    37613 bytes 2012-02-27 23:40:48 felipc
    aboutjank.PNG
    154544 bytes 2012-02-27 23:41:15 felipc
    profiler.png
    227172 bytes 2012-02-27 23:41:16 felipc
    aboutstartup.PNG
    133005 bytes 2012-02-27 23:48:24 felipc
    memchaser.png
    26900 bytes 2012-02-27 23:52:38 felipc
    firefox-logo
    195147 bytes 2013-09-19 02:20:53 chrisdavidmills
    Apps Panel screenshot
    85374 bytes 2013-09-19 02:54:57 Paul
    Device Panel screenshot
    205913 bytes 2013-09-19 02:55:07 Paul
    Toolbox screenshot
    157583 bytes 2013-09-19 02:55:16 Paul

    Document Tags and Contributors

    Contributors to this page: Sheppy, Huan, ziyunfei, edmorley, felipc, teoli, nnethercote
    Last updated by: Sheppy,