Firefox OS/Performance: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Performance Task Force: update name list)
 
(86 intermediate revisions by 9 users not shown)
Line 1: Line 1:
=Firefox OS Performance=
<big>Mozilla's program for advancing Firefox OS performance.</big>
Mozilla's program for advancing Firefox OS performance.
 
=Team=
 
== [[Firefox OS/Performance Task Force | Performance Task Force]] ==
 
{| class="wikitable fullwidth-table"
| Mailing Group        || https://groups.google.com/a/mozilla.com/forum/#!forum/fxos-performance-taskforce
|-
| Dashboard            || http://raptor.mozilla.org/#/dashboard/file/raptor.json
|-
| Product Management  || Ravi Dandu
|-
| Coordinator / EPM    || Bobby Chien
|-
| Testing Framework (Raptor)    || Eli Perelman
|-
| Development Lead    || Thinker Lee
|-
|}
 
== Dissolved Team Info ==
<big>'''''As of 2014.08.15 this team has been dissolved. Performance responsibilities are transitioned to other [[FirefoxOS/functionalteams|fxOS functional teams]]. The team members and contact points below no longer handle these responsibilities on a daily basis.'''''</big>


{| class="wikitable fullwidth-table"
{| class="wikitable fullwidth-table"
  | Engineering Manager  || Mike Lee
  | Engineering Manager  || Mike Lee
  |-  
  |-  
  | Engineers            || Jon Hylands, Ben Kelly, Hubert Figuière, Kevin Grandon, David Huseby, Mason Chang, Eli Perelman, Geo Mealer (QA)
  | Engineering          || Jon Hylands, Hubert Figuière, David Huseby, Mason Chang, Eli Perelman, Wander Costa, Jonathan Bailey (Intern)
|-
| Quality Assurance    || Geo Mealer
  |-  
  |-  
  | Product Management  || Ravikumar Dandu
  | Product Management  || Ravi Dandu
  |-  
  |-  
  | Program Management  ||  
  | Program Management  || Mike Lee + Jean Gong
  |-  
  |-  
  | User Experience      || Gordon Brander
  | User Experience      || Gordon Brander
|-
| Contact Info        || '''[ircs://irc.mozilla.org:6697/fxos-perf #fxos-perf]''' on irc.mozilla.org
  |-  
  |-  
  | Location (Timezones) || United States (PT, CT, & ET), Canada (ET)
  | Wiki                || https://wiki.mozilla.org/FirefoxOS/Performance
|-
|}
 
=Meetings=
<big>'''''As of 2014.08.15 this team has been dissolved. Performance responsibilities are transitioned to other [[FirefoxOS/functionalteams|fxOS functional teams]]. The meetings and activities below will no longer occur.'''''</big>
{| class="wikitable fullwidth-table"
| Timezones || United States (PT, CT, & ET), Canada (ET)
  |-  
  |-  
| Wiki                || https://wiki.mozilla.org/B2G/Performance
|-
  | Calendar (CalDAV)    || https://mail.mozilla.com/dav/mozillacalendar@mozilla.com/FxOS%20Performance  
  | Calendar (CalDAV)    || https://mail.mozilla.com/dav/mozillacalendar@mozilla.com/FxOS%20Performance  
  |-
  |-
| Contact              || '''[ircs://irc.mozilla.org:6697/fxos-perf #fxos-perf]''' on irc.mozilla.org, '''[mailto:fxos-perf@mozilla.com fxos-perf@mozilla.com]'''
|-
  | [https://fxos-perf.etherpad.mozilla.org/2 Stand-ups] || '''[https://v.mozilla.com/flex.html?roomdirect.html&key=wesmNpztjIXi FxOS_Performance]''' Vidyo Room: Tuesdays @ 1pm PT & Fridays @ 11am PT
  | [https://fxos-perf.etherpad.mozilla.org/2 Stand-ups] || '''[https://v.mozilla.com/flex.html?roomdirect.html&key=wesmNpztjIXi FxOS_Performance]''' Vidyo Room: Tuesdays @ 1pm PT & Fridays @ 11am PT
  |-  
  |-  
  | [[/Triage/|Triages]] || '''[https://v.mozilla.com/flex.html?roomdirect.html&key=wesmNpztjIXi FxOS_Performance]''' Vidyo Room: Wednesdays @ 11am PT
  | [[/Triage/|Bug Triages]] || '''[https://v.mozilla.com/flex.html?roomdirect.html&key=wesmNpztjIXi FxOS_Performance]''' Vidyo Room: Wednesdays @ 11am PT
  |-  
  |-  
  | [http://scrumbu.gs/p/fxos-perf/ Sprint Planning] || '''[https://v.mozilla.com/flex.html?roomdirect.html&key=wesmNpztjIXi FxOS_Performance]''' Vidyo Room: 10am PT on last Friday of each sprint.
  | [http://scrumbu.gs/p/fxos-perf/ Sprint Planning] || '''[https://v.mozilla.com/flex.html?roomdirect.html&key=wesmNpztjIXi FxOS_Performance]''' Vidyo Room: 10am PT on last Friday of each sprint.
  |-
  |-
  | [https://fxos-perf.etherpad.mozilla.org/6 Meet-Ups/Workweeks] || '''[https://v.mozilla.com/flex.html?roomdirect.html&key=wesmNpztjIXi FxOS_Performance]''' Vidyo Room: '''Taipei: 2014.03.31 - 04.04'''
  | [https://fxos-perf.etherpad.mozilla.org/6 Meet-Ups & Workweeks] || '''[https://v.mozilla.com/flex.html?roomdirect.html&key=wesmNpztjIXi FxOS_Performance]''' Vidyo Room: '''[https://fxos-perf.etherpad.mozilla.org/workweek2014q3 Paris: 2014.07.21 - 25]''' -:- '''[https://fxos-perf.etherpad.mozilla.org/workweek2014q1 Taipei: 2014.03.31 - 04.04]''' -:- '''[https://fxos-perf.etherpad.mozilla.org/workweek2013q3 Toronto: 2013.08.26 - 29]'''
  |-
  |-
|}
|}


==Submodules==
=Areas=
 
<big>'''''As of 2014.08.15 this team has been dissolved. Performance responsibilities are transitioned to other [[FirefoxOS/functionalteams|fxOS functional teams]]. The fxOS Performance Areas below are no longer led nor maintained by the listed individuals.'''''</big>
{| class="wikitable fullwidth-table"
{| class="wikitable fullwidth-table"
  | '''Submodule''' || '''Owner'''
  | '''Area''' || '''Lead'''
  |-
  |-
  | '''[https://wiki.mozilla.org/B2G/Performance/Memory Memory]'''                               || Ben Kelly
  | '''[[/Automation|Automation]]'''           || Hubert Figuière & Geo Mealer
  |-
  |-
  | '''[https://wiki.mozilla.org/B2G/Performance/Power Power]'''                                 || Jon Hylands
  | '''[[/Graphics|Graphics]]'''               || Mason Chang
  |-
  |-
  | '''[https://wiki.mozilla.org/B2G/Performance/Automation_Testing Automation &amp; Testing]''' || Hubert Figuière
  | '''[[/Memory|Memory]]'''                   || Wander Costa
  |-
  |-
  | '''[https://wiki.mozilla.org/B2G/Performance/Graphics Graphics]'''                           || Mason Chang
  | '''[[/Power|Power]]'''                     || Jon Hylands
  |-
  |-
  | '''[https://wiki.mozilla.org/B2G/Performance/Tools_Hardware Tools &amp; Hardware]'''         || David Huseby
  | '''[[/Responsiveness|Responsiveness]]'''   || Eli Perelman
  |-
  |-
  | '''[https://wiki.mozilla.org/B2G/Performance/Responsiveness Responsiveness]'''               || Eli Perelman
  | '''[[/Tools|Tools]]'''                     || David Huseby
  |-
  |-
|}
|}


==Plans==
=== Regression Duty ===
Current areas of regression duty:
* Watch b2gperf start up times https://datazilla.mozilla.org/b2g
* Watch fxos-pert alerts. Currently, limited in scope to start up time regressions.
* Map of Gecko revisions reported by datazilla to their correct revision https://people.mozilla.org/~asasaki/vcs2vcs/gecko-dev/gecko-mapfile
* Get access to Jenkins. File a bug like [https://bugzilla.mozilla.org/show_bug.cgi?id=1036477 bug 1036477]


* [https://docs.google.com/a/mozilla.com/document/d/1_8RehppYplSpYZZtALxNTstj8l-BoustidBMaxuazo4/edit Roadmap]
=Dashboards=
* [https://datazilla.mozilla.org/b2g/ Datazilla: Instrumented Apps]
* [http://eideticker.mozilla.org/b2g/ Eideticker: Automated Camera Measurement]
* [http://charts.mozilla.org/ffos/blockers.html#responsibility=FxOS_Team&project=1.3,1.3T,1.4,2.0 Release Blocking Dashboard]
 
=Plans=
* [https://fxos-perf.etherpad.mozilla.org/ Etherpads]
* [[/Release_Acceptance/|Release Criteria]]
* [https://docs.google.com/a/mozilla.com/document/d/1_8RehppYplSpYZZtALxNTstj8l-BoustidBMaxuazo4/edit Roadmap Doc]
* [https://wiki.mozilla.org/FirefoxOS/Performance/Roadmap Roadmap Wiki (in progress)]
* [http://scrumbu.gs/p/fxos-perf/ Sprints]
* [http://scrumbu.gs/p/fxos-perf/ Sprints]
* [https://fxos-perf.etherpad.mozilla.org/2 Stand-ups]
* [[TPEPerformance|Taipei]]
* [[Firefox OS/Performance Task Force|Performance Task Force]]
* [[/Triage/]]
* [[/Triage/]]
** [[/BlockingCriteria|Blocking Criteria]]
* [[/UserStories|User Stories]]
* [[B2G/Performance/UserStories|Performance Categories]]
* [https://fxos-perf.etherpad.mozilla.org/ Etherpads]
** [https://fxos-perf.etherpad.mozilla.org/2013-07-17-kickoff Automation]
** [https://fxos-perf.etherpad.mozilla.org/2 Stand-ups]
** [https://etherpad.mozilla.org/e3fTHj5FV6 MemShrink Priorities]
** [https://fxos-perf.etherpad.mozilla.org/perf-testing-integration Perf Test Automation Status]
* [[TPEPerformance|Taipei Performance]]
* [[FirefoxOS/Tarako|Tarako]]


=Progress=
<bugzilla type="count" display="bar">
    {
        "product": "Firefox OS",
        "keywords":"perf",
        "keywords_type":"contains",
        "whiteboard":"c=",
        "whiteboard_type":"contains",
        "x_axis_field":"status"
    }
</bugzilla>


<!--
=Project Ideas=
===Test Coverage===
* '''Gonk/Gecko'''
** [[/Boot Sequence Optimization|Boot Sequence Optimization]] (taken! jbailey's 2014 summer intern project)
** [[/IndexDB IO Optimization|IndexDB IO Optimization]]
* '''Graphics'''
** [[/Graphics Pipeline Instrumentation and Integration into the Cleopatra Profiler|Graphics Pipeline Instrumentation and Integration into the Cleopatra Profiler]]
** [[/Graphics Performance Automation|Graphics Performance Automation (checkerboarding detection, datazilla integration, micro benchmarks)]]
* '''Tools'''
** [[/Adding Features to Datazilla|Adding Features to Datazilla]]
** [[/Adding Features to Scrumbugs|Adding Features to Scrumbugs]]
** [[/Automating Datazilla Developer Setup|Automating Datazilla Developer Setup]]
** [[/Automating Firefox OS Developer Setup|Automating Firefox OS Developer Setup]]
** [[/Automating Scrumbugz Developer Setup|Automating Scrumbugz Developer Setup]]


{| class="wikitable halfwidth-table"
=References=
|- !heading
==[[FirefoxOS|Firefox OS]]==
| Category || Test area || Harness || Results || Work
* '''Architecture'''
|-
| Progress || First launch || b2gperf, [https://wiki.mozilla.org/Project_Eideticker Eideticker] (soon) || [https://datazilla.mozilla.org/b2g/?branch=master&device=inari&range=7&test=cold_load_time&app_list=browser,calendar,camera,clock,contacts,email%20FTU,fm_radio,gallery,messages,music,phone,settings,usage,video&app=phone&gaia_rev=b9b99e5cd922d7cd&gecko_rev=1e02f948e4b68ca8 Inari+master datazilla] || done
|-
| Progress || Warm launch || ? || ?  || ?
|-
| Handeye || FPS || [https://wiki.mozilla.org/Project_Eideticker Eideticker] || underway || [[B2G/Performance/FPS]]
|-
| Handeye || Scrolling || b2gperf || [https://datazilla.mozilla.org/b2g/?branch=master&device=hamachi&range=7&test=fps&app_list=browser,calendar,camera,clock,contacts,email%20FTU,fm_radio,gallery,messages,music,phone,settings,template,usage,video&app=phone&gaia_rev=e7672f8c3e7c52d1&gecko_rev=c079fe98d21fc2c2 Hamachi + master datazilla] || done
|-
| Progress || Browser Page Load/Rendering || ? || ? || ?
|-
| Effect || Keyboard Key Entry Rate || [https://wiki.mozilla.org/Project_Eideticker Eideticker] (in development: {{bug|895952}}) || none yet ({{bug|909796}} || underway
|-
| Power || Power consumption || {{bug|917375}} || none yet || underway
|-
| Power || Standby time || {{bug|917375}} || none yet || underway
|-
| ? || Memory use || gaiatest (endurance tests) || [https://datazilla.mozilla.org/b2g/?branch=master&device=inari&range=30&test=endurance_fmradio_play&app_list=fm_radio&app=fm_radio&gaia_rev=c78c1c5ef5739dd0&gecko_rev=6313f43c69cd3ccd Inari+master datazilla] || done
|-
| ? || Memory use || [https://areweslimyet.com/ awsy] {{bug|899194}} || none yet || underway
|-
| ? || Benchmarks || speedtests (octane, etc) || underway || underway
|-
| ? || Reflows || ? || ? || ?
|-
| ? || Memory size of app process || [https://areweslimyet.com/ awsy] {{bug|899194}} || none yet || underway
|}
-->
 
==Tools==
 
* Dashboards
** [https://datazilla.mozilla.org/b2g/ Datazilla: Instrumented Apps]
*** [[B2G/Datazilla|Using Datazilla]]
** [http://eideticker.wrla.ch/b2g/ Eideticker: Automated Camera Measurement]
*** [http://wrla.ch/blog/2013/05/proof-of-concept-eideticker-dashboard-for-firefoxos/ Using Eideticker], [http://wrla.ch/blog/2014/03/its-all-about-the-entropy/ Measuring Entropy]
 
* Instrumentation
** [https://developer.mozilla.org/en-US/Firefox_OS/Platform/Automated_testing/Gaia_performance_tests Gaia Performance Tests]
** [https://github.com/mozilla-b2g/gaia/tree/master/tests/js Gaia Test Framework]
*** [https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/test/performance Dialer Perf Tests]
*** See ''<APP_NAME>/test/performance'' folders within the [https://github.com/mozilla-b2g/gaia Gaia Repo] for more performance tests.
** [https://github.com/mozilla/b2gperf B2G Perf (via Automation Team)]
** [[B2G/Performance/FPS|FPS]]
 
* [[B2G/Performance/PowerUsage|Power Usage]]
 
* Profiling
** [[B2G/Profiling|Speed]]
** Memory
*** [[B2G/Debugging_OOMs|Debugging]]
*** [[Performance/MemShrink|MemShrink]]
*** [[Memory_Reporting|Reporting]]
*** [http://bit.ly/membuster Stress Testing]
** Mock Data
*** [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia/Hacking_Tips_And_FAQ#Reference_Workloads Reference Workloads (via Gaia build targets)]
*** [https://github.com/mozilla/b2gpopulate B2G Populate (via Automation Team)]
** [https://developer.mozilla.org/en-US/Firefox_OS/Debugging/Debugging_B2G_using_valgrind Valgrind]
 
* [http://blargon7.com/2014/03/hunting-for-performance-regressions-in-firefox-os/ Root-Causing Regressions]
 
* Stability
** [[CrashKill#Firefox_OS|Crashes]]
 
* Integration
** [https://developer.mozilla.org/en-US/docs/Marionette/Marionette_JavaScript_Tools Marionette JS Tools]
** [https://github.com/mozilla-b2g/marionette-js-runner/blob/master/README.md Marionette JS Tools ReadMe]
 
* How to Back Out
** update tree
** git revert -m1 originalCommitHash. Only need the -m1 if you the original commit was a merge.
** git push
 
==References==
** [https://wiki.mozilla.org/TPEPerformance Taipei Performance Team]
 
* Firefox OS Architecture
** [https://developer.mozilla.org/en-US/Firefox_OS/Platform/Architecture Overview]
** [https://developer.mozilla.org/en-US/Firefox_OS/Platform/Architecture Overview]
** [https://wiki.mozilla.org/Modules/All#FirefoxOS Modules]
** [[Modules/All#FirefoxOS|Modules]]
** [https://github.com/sotaroikeda/firefox-diagrams/wiki/Firefox-Diagrams Diagrams]
** [https://github.com/sotaroikeda/firefox-diagrams/wiki/Firefox-Diagrams Diagrams]
** [https://docs.google.com/a/mozilla.com/drawings/d/18DnhTgQBK3M0KBeLGJkWW1hfiYBB6GgTmfdbUnT2SLs/edit Gaia]
** [https://docs.google.com/a/mozilla.com/drawings/d/18DnhTgQBK3M0KBeLGJkWW1hfiYBB6GgTmfdbUnT2SLs/edit Gaia]
* Articles
* '''[[B2G/Roadmap|Roadmap]]'''
** [https://wiki.mozilla.org/B2G/Performance/App_Performance_Validation App Performance Validation]
* '''[[Release_Management/B2G_Landing|Schedule]]'''
** [[FirefoxOS/Tarako|Tarako]]
* '''Docs'''
** [[/App_Performance_Validation|App Performance Validation]]
** [https://etherpad.mozilla.org/b2g-ateam-perf A*Team Performance Tools]
** [https://etherpad.mozilla.org/b2g-ateam-perf A*Team Performance Tools]
** [http://blog.linuxprogrammer.org/Hacking%20B2G%3A%20Building%20with%20Distcc.html Building B2G Faster with Distcc]
** [https://developer.mozilla.org/en-US/Firefox_OS/Platform/Architecture#Firefox_OS_bootup_procedure Boot Sequence]
** CSS
** [[FirefoxOS/Geolocation|GPS]]
*** [https://medium.com/web-design-technique/6b51bf53743a Blend Modes]
** [[Marketplace/Performance_optimization|Marketplace Performance]]
*** [https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Writing_efficient_CSS Efficient CSS]
** [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Performance Performance Tips]
*** [http://www.masonchang.com/2013/12/5/the-will-animate-css-property will-change property]
** [https://intranet.mozilla.org/QA/B2G_Tips_and_Tricks QA Tips & Tricks]
** [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Performance FxOS Performance Tips]
** [[/Upstreaming Kernel Changes to Geeksphone|Upstreaming Kernel Changes to Geeksphone]]
** [[B2G/Geolocation|GPS]]
** [[/Investigating_Alerts|Investigating Automated Alerts]]
** [http://jankfree.org/ Jank-free Web]
*** [[/Bisecting_Regressions|Bisecting Regression]]
** [http://json.org JSON]
** [[/Using Docker to Ease Debugging Firefox OS|Using Docker to Ease Debugging Firefox OS]]
** Lists
** [http://datazilla.readthedocs.org/en/latest/webservice/ Datazilla Web Service Documentation]
*** [http://robert.ocallahan.org/2014/02/implementing-virtual-widgets-on-web.html Implementing Virtual Lists]
*** Use /b2g/testdata/raw endpoint to retrieve data, revision == gaia revision. ([https://datazilla.mozilla.org/b2g/testdata/raw/master/43e6b5fa9482809a425286b3cbf429f803585084 example])
*** [http://people.mozilla.org/~roc/virtual-list-demo.html Virtual List Demo]
 
** [http://www.mozilla.org/hacking/committer/ Mozilla Commit Process]
==Mozilla==
** [https://mozilla.app.box.com/s/aww17rx74k7fjds5vada Perceived Performance]
* [https://www.mozilla.org/hacking/commit-access-policy/ Mozilla Commit Access Policy]
** [http://rilanalyzer.smart-e.org/ RILAnalyzer]
* [http://www.mozilla.org/hacking/committer/ Mozilla Commit Process]
** [http://stevesouders.com/ Steve Souders' Web Performance]
 
** [http://paulrouget.com/e/fxoshud/ Tracking Reflows & Event Loops]
==Articles==
** [[B2G/Upstreaming Kernel Changes to Geeksphone|Upstreaming Kernel Changes to Geeksphone]]
* CSS
** [https://medium.com/web-design-technique/6b51bf53743a Blend Modes]
** [https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Writing_efficient_CSS Efficient CSS]
* [http://json.org JSON]
* Lists
** [http://robert.ocallahan.org/2014/02/implementing-virtual-widgets-on-web.html Implementing Virtual Lists]
** [http://people.mozilla.org/~roc/virtual-list-demo.html Virtual List Demo]
* [http://stevesouders.com/ Steve Souders' Web Performance]

Latest revision as of 06:53, 18 May 2015

Mozilla's program for advancing Firefox OS performance.

Team

Performance Task Force

Mailing Group https://groups.google.com/a/mozilla.com/forum/#!forum/fxos-performance-taskforce
Dashboard http://raptor.mozilla.org/#/dashboard/file/raptor.json
Product Management Ravi Dandu
Coordinator / EPM Bobby Chien
Testing Framework (Raptor) Eli Perelman
Development Lead Thinker Lee

Dissolved Team Info

As of 2014.08.15 this team has been dissolved. Performance responsibilities are transitioned to other fxOS functional teams. The team members and contact points below no longer handle these responsibilities on a daily basis.

Engineering Manager Mike Lee
Engineering Jon Hylands, Hubert Figuière, David Huseby, Mason Chang, Eli Perelman, Wander Costa, Jonathan Bailey (Intern)
Quality Assurance Geo Mealer
Product Management Ravi Dandu
Program Management Mike Lee + Jean Gong
User Experience Gordon Brander
Contact Info #fxos-perf on irc.mozilla.org
Wiki https://wiki.mozilla.org/FirefoxOS/Performance

Meetings

As of 2014.08.15 this team has been dissolved. Performance responsibilities are transitioned to other fxOS functional teams. The meetings and activities below will no longer occur.

Timezones United States (PT, CT, & ET), Canada (ET)
Calendar (CalDAV) https://mail.mozilla.com/dav/mozillacalendar@mozilla.com/FxOS%20Performance
Stand-ups FxOS_Performance Vidyo Room: Tuesdays @ 1pm PT & Fridays @ 11am PT
Bug Triages FxOS_Performance Vidyo Room: Wednesdays @ 11am PT
Sprint Planning FxOS_Performance Vidyo Room: 10am PT on last Friday of each sprint.
Meet-Ups & Workweeks FxOS_Performance Vidyo Room: Paris: 2014.07.21 - 25 -:- Taipei: 2014.03.31 - 04.04 -:- Toronto: 2013.08.26 - 29

Areas

As of 2014.08.15 this team has been dissolved. Performance responsibilities are transitioned to other fxOS functional teams. The fxOS Performance Areas below are no longer led nor maintained by the listed individuals.

Area Lead
Automation Hubert Figuière & Geo Mealer
Graphics Mason Chang
Memory Wander Costa
Power Jon Hylands
Responsiveness Eli Perelman
Tools David Huseby

Regression Duty

Current areas of regression duty:

Dashboards

Plans

Progress

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 400 [1] => Bad Request ) ) 1


Project Ideas

References

Firefox OS

Mozilla

Articles