Title of Session (should also be the title of your Wiki page): All About Performance
Facilitator(s): Taras Glek, Vladan Djeric, Benoit Girard, Josh Matthews
Are you paid or volunteer staff?:staff
Area of Contribution (Team Name): Performance
How are you currently involved with the community?:
- We work on improving Firefox performance
- Do outreach(via blogs, talks) about dealing with problematic areas of Firefox or the web.
Location of Work (where do you reside?): Portland, Toronto
Talk Length (please choose between 30, 60, 90, 120 minutes): 60
Summary: We are part of the Performance team at Mozilla. Our primary focus is project Performance/Snappy. This talk will cover:
- How to diagnose and understand a performance problem by using a profiler, built-in telemetry collection, chromehangs reporting, Telemetry web interface, etc.
- Performance problems we have encountered, areas that we are working on improving and areas for new contributors.
- Situations when Firefox performance is impacted by system configuration, how to detect that and correct your configuration.
How your session furthers the MozCamp Goals (https://wiki.mozilla.org/MozCampEU2012/Tracks): Increasing awareness of available performance tools within Firefox, how to help make Firefox faster.
Expected Outcome or Deliverable: Faster Firefox
Desired Audience Type or Skill-set: Anyone who wants to learn to diagnose performance issues, looking to start contributing to making Firefox faster or to simply wants to learn how to optimize own system to run Firefox faster.
Equipment Needs (Video projector already included):
To Be Completed by the Audience-
(If you would like) Submit a Question for the Speaker(s) or indicate what information you hope to gain by attending this talk here:
- Electrolysis project, Super-Snappy?
Place your name here if you would like to attend this talk:
- Philipp Kewisch
- Matthias Versen
- Nils Maier
- Paolo Amadini
- Oskar Ivanić
- Szabolcs Hubai
- Florian Quèze
- Tom Schuster (evilpie)
- John Hesling (John99)
- Markus Stange
- Elad Alfassa
- Ludovic Hirlimann
- Giorgio Maone
- <insert name here>
LINKS FROM PRESENTATION:
- about:telemetry addon: https://addons.mozilla.org/en-US/firefox/addon/abouttelemetry/
- After installing the extension, navigate to about:telemetry to see the stats
- To see full SQL strings, change "toolkit.telemetry.debugSlowSql" to True in about:config
- Full list of histogram names and descriptions: http://mxr.mozilla.org/mozilla-central/source/toolkit/components/telemetry/Histograms.json
- To change the main thread hang threshold, change "hangmonitor.timeout" in about:config, e.g. a value of 1 represents a minimum hang of 1 second (default is 10 seconds)
- Custom version of about:telemetry which shows main thread hangs: https://people.mozilla.com/~vdjeric/ping.telemetry.xpi
- Description of custom version: http://blog.mozilla.org/vdjeric/2012/03/21/introducing-chrome-hang-reporting-and-the-symbolication-server/
- Telemetry backend with aggregate data: https://metrics.mozilla.com
- Slow Startup Logging extension: https://addons.mozilla.org/en-US/firefox/addon/slow-startup-logging/
- After installing the extension, navigate to about:slowstartup to see the data
- Description of extension: http://nchaim-moz2012.tumblr.com/post/25647745019/slow-startup-logging-add-on
- To flash repainted areas in the browser, set "nglayout.debug.paint_flashing" to True in about:config
- Example page with excessive repainting: http://www.mozilla.org/projects/firefox/prerelease.html
- Reporting a performance problem: https://developer.mozilla.org/en/Performance/Reporting_a_Performance_Problem
- Profiler documentation: https://developer.mozilla.org/en-US/docs/Performance/Profiling_with_the_Built-in_Profiler