Firefox OS/Performance: Difference between revisions

(→‎Performance Task Force: update name list)
 
(109 intermediate revisions by 10 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, 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 & 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: '''[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]'''
  |-
  |-
|}
|}


==Plans==
=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>
* [https://docs.google.com/a/mozilla.com/document/d/1piqwG9LMBCk6V8AX8-lM_sD7AXnNA3tWCh8s7GOre2g/edit Roadmap]
{| class="wikitable fullwidth-table"
* [http://scrumbu.gs/p/fxos-perf/ Sprints]
  | '''Area''' || '''Lead'''
* [[/Triage/]]
** [[/BlockingCriteria|Blocking Criteria]]
* [[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]
 
===Test Coverage===
 
{| class="wikitable halfwidth-table"
  |- !heading
| Category || Test area || Harness || Results || Work
|-
| 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 || ? || ? || ?
  | '''[[/Automation|Automation]]'''          || Hubert Figuière & Geo Mealer
  |-
  |-
  | Effect || Keyboard Key Entry Rate || [https://wiki.mozilla.org/Project_Eideticker Eideticker] (in development: {{bug|895952}}) || none yet ({{bug|909796}} || underway
  | '''[[/Graphics|Graphics]]'''              || Mason Chang
  |-
  |-
  | Power || Power consumption || {{bug|917375}} || none yet || underway
  | '''[[/Memory|Memory]]'''                  || Wander Costa
  |-
  |-
  | Power || Standby time || {{bug|917375}} || none yet || underway
  | '''[[/Power|Power]]'''                    || Jon Hylands
  |-
  |-
  | ? || 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
  | '''[[/Responsiveness|Responsiveness]]'''  || Eli Perelman
  |-
  |-
  | ? || Memory use || [https://areweslimyet.com/ awsy] {{bug|899194}} || none yet || underway
  | '''[[/Tools|Tools]]'''                    || David Huseby
  |-
  |-
| ? || Benchmarks || speedtests (octane, etc) || underway || underway
|-
| ? || Reflows || ? || ? || ?
|-
| ? || Memory size of app process || [https://areweslimyet.com/ awsy] {{bug|899194}} || none yet || underway
|}
|}


==Tools==
=== 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]


* Dashboards
=Dashboards=
** [https://datazilla.mozilla.org/b2g/ Datazilla: Instrumented Apps]
* [https://datazilla.mozilla.org/b2g/ Datazilla: Instrumented Apps]
*** [[B2G/Datazilla|Using Datazilla]]
* [http://eideticker.mozilla.org/b2g/ Eideticker: Automated Camera Measurement]
** [http://eideticker.wrla.ch/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]
*** [http://wrla.ch/blog/2013/05/proof-of-concept-eideticker-dashboard-for-firefoxos/ Using Eideticker]


* Instrumentation
=Plans=
** [https://developer.mozilla.org/en-US/Firefox_OS/Platform/Automated_testing/Gaia_performance_tests Gaia Performance Tests]
* [https://fxos-perf.etherpad.mozilla.org/ Etherpads]
** [https://github.com/mozilla-b2g/gaia/tree/master/tests/js Gaia Test Framework]
* [[/Release_Acceptance/|Release Criteria]]
*** [https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/test/performance Dialer Perf Tests]
* [https://docs.google.com/a/mozilla.com/document/d/1_8RehppYplSpYZZtALxNTstj8l-BoustidBMaxuazo4/edit Roadmap Doc]
*** See ''<APP_NAME>/test/performance'' folders within the [https://github.com/mozilla-b2g/gaia Gaia Repo] for more performance tests.
* [https://wiki.mozilla.org/FirefoxOS/Performance/Roadmap Roadmap Wiki (in progress)]
** [https://github.com/mozilla/b2gperf B2G Perf (via Automation Team)]
* [http://scrumbu.gs/p/fxos-perf/ Sprints]
** [[B2G/Performance/FPS|FPS]]
* [https://fxos-perf.etherpad.mozilla.org/2 Stand-ups]
* [[TPEPerformance|Taipei]]
* [[Firefox OS/Performance Task Force|Performance Task Force]]
* [[/Triage/]]
* [[/UserStories|User Stories]]


* [[B2G/Performance/PowerUsage|Power Usage]]
=Progress=
<bugzilla type="count" display="bar">
    {
        "product": "Firefox OS",
        "keywords":"perf",
        "keywords_type":"contains",
        "whiteboard":"c=",
        "whiteboard_type":"contains",
        "x_axis_field":"status"
    }
</bugzilla>


* Profiling
=Project Ideas=
** [[B2G/Profiling|Speed]]
* '''Gonk/Gecko'''
** Memory
** [[/Boot Sequence Optimization|Boot Sequence Optimization]] (taken! jbailey's 2014 summer intern project)
*** [[B2G/Debugging_OOMs|Debugging]]
** [[/IndexDB IO Optimization|IndexDB IO Optimization]]
*** [[Performance/MemShrink|MemShrink]]
* '''Graphics'''
*** [[Memory_Reporting|Reporting]]
** [[/Graphics Pipeline Instrumentation and Integration into the Cleopatra Profiler|Graphics Pipeline Instrumentation and Integration into the Cleopatra Profiler]]
*** [http://bit.ly/membuster Stress Testing]
** [[/Graphics Performance Automation|Graphics Performance Automation (checkerboarding detection, datazilla integration, micro benchmarks)]]
** Mock Data
* '''Tools'''
*** [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia/Hacking_Tips_And_FAQ#Reference_Workloads Reference Workloads (via Gaia build targets)]
** [[/Adding Features to Datazilla|Adding Features to Datazilla]]
*** [https://github.com/mozilla/b2gpopulate B2G Populate (via Automation Team)]
** [[/Adding Features to Scrumbugs|Adding Features to Scrumbugs]]
** [https://developer.mozilla.org/en-US/Firefox_OS/Debugging/Debugging_B2G_using_valgrind Valgrind]
** [[/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]]


* Integration
=References=
** [https://developer.mozilla.org/en-US/docs/Marionette/Marionette_JavaScript_Tools Marionette JS Tools]
==[[FirefoxOS|Firefox OS]]==
** [https://github.com/mozilla-b2g/marionette-js-runner/blob/master/README.md Marionette JS Tools ReadMe]
* '''Architecture'''
 
** [https://developer.mozilla.org/en-US/Firefox_OS/Platform/Architecture Overview]
* How to Back Out
** [[Modules/All#FirefoxOS|Modules]]
** update tree
** git revert -m1 originalCommitHash. Only need the -m1 if you the original commit was a merge.
** git push
 
==Other==
* Firefox OS Architecture
** [https://wiki.mozilla.org/B2G/Architecture Overview]
** [https://wiki.mozilla.org/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]
* References
* '''[[B2G/Roadmap|Roadmap]]'''
* '''[[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]
** CSS
** [https://developer.mozilla.org/en-US/Firefox_OS/Platform/Architecture#Firefox_OS_bootup_procedure Boot Sequence]
*** [https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Writing_efficient_CSS Efficient CSS]
** [[FirefoxOS/Geolocation|GPS]]
*** [http://www.masonchang.com/2013/12/5/the-will-animate-css-property will-animate property]
** [[Marketplace/Performance_optimization|Marketplace Performance]]
** [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Performance FxOS Performance Tips]
** [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Performance Performance Tips]
** [http://jankfree.org/ Jank-free Web]
** [https://intranet.mozilla.org/QA/B2G_Tips_and_Tricks QA Tips & Tricks]
** [http://json.org JSON]
** [[/Upstreaming Kernel Changes to Geeksphone|Upstreaming Kernel Changes to Geeksphone]]
** [http://www.mozilla.org/hacking/committer/ Mozilla Commit Process]
** [[/Investigating_Alerts|Investigating Automated Alerts]]
** [https://mozilla.app.box.com/s/aww17rx74k7fjds5vada Perceived Performance]
*** [[/Bisecting_Regressions|Bisecting Regression]]
** [http://rilanalyzer.smart-e.org/ RILAnalyzer]
** [[/Using Docker to Ease Debugging Firefox OS|Using Docker to Ease Debugging Firefox OS]]
** [http://stevesouders.com/ Steve Souders' Web Performance]
** [http://datazilla.readthedocs.org/en/latest/webservice/ Datazilla Web Service Documentation]
** [https://wiki.mozilla.org/FirefoxOS/Tarako Tarako]
*** Use /b2g/testdata/raw endpoint to retrieve data, revision == gaia revision. ([https://datazilla.mozilla.org/b2g/testdata/raw/master/43e6b5fa9482809a425286b3cbf429f803585084 example])
** [[B2G/Upstreaming Kernel Changes to Geeksphone|Upstreaming Kernel Changes to Geeksphone]]
 
==Mozilla==
* [https://www.mozilla.org/hacking/commit-access-policy/ Mozilla Commit Access Policy]
* [http://www.mozilla.org/hacking/committer/ Mozilla Commit Process]
 
==Articles==
* 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