Performance/Project Candle: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 24: Line 24:
== Bug triage and tracking ==
== Bug triage and tracking ==


Bugs are triaged via periodic triage threads on the mailing list. These threads will have a title such as "Project Candle bug triage (7th September 2015)". The triage manager (currently nnethercote) will initiate these threads, listing each bug, asking relevant questions, and suggesting priorities. A few days later, after discussion has occurred, the triage manager will update the bugs appropriately.
Bugs are prioritized via periodic triage threads on the mailing list. These threads will have a title such as "Project Candle bug triage (7th September 2015)". The triage manager (currently nnethercote) will initiate these threads, listing each bug, asking relevant questions, and suggesting priorities. A few days later, after discussion has occurred, the triage manager will update the bugs appropriately.


If you want a bug that is related to memory usage to be triaged in a MemShrink meeting, add "[Power:U]" to the bug whiteboard. These bugs will be prioritized by adding one of "Power:P1", "Power:P2", "Power:P3" or "Power:meta" to the whiteboard.
If you want a bug that is related to memory usage to be triaged on the mailing list, add "[Power]" to the bug whiteboard. After prioritization, this whiteboard marking will be changed to one of "[Power:P1]", "[Power:P2]", "[Power:P3]" or "[Power:meta]". The meaning of these markings, and links to all such bugs, is as follows.  


* [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=regexp&query_format=advanced&list_id=577353&status_whiteboard=Power%3AU&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&resolution=---&resolution=DUPLICATE Power:U bugs]. These are triaged regularly on the mailing list.
* [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=regexp&query_format=advanced&list_id=577353&status_whiteboard=Power%3AU&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&resolution=---&resolution=DUPLICATE Power:U bugs]. These are prioritized regularly on the mailing list.
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=463753&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=Power%3AP1&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.bug_id Power:P1 bugs]. These are likely to be looked at and discussed regularly.
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=463753&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=Power%3AP1&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.bug_id Power:P1 bugs]. Once prioritized, these will be revisited and discussed occasionally on the mailing list.
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=463753&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=Power%3AP2&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.bug_id Power:P2 bugs]. These are likely to be looked at and discussed occasionally. P2 is the default priority.
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=463753&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=Power%3AP2&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.bug_id Power:P2 bugs]. Once prioritized, these will be revisited and discussed rarely on the mailing list. P2 is the default priority.
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=463753&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=Power%3AP3&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.bug_id Power:P3 bugs]. These are likely to be looked at and discussed rarely.
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=463753&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=Power%3AP3&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.bug_id Power:P3 bugs]. Once prioritized, these are unlikely to be revisited and discussed again on the mailing list.
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=463753&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=Power%3Ameta&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.bug_id Power:meta bugs]. These are likely to be looked at and discussed occasionally.
* [https://bugzilla.mozilla.org/buglist.cgi?list_id=463753&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=Power%3Ameta&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.bug_id Power:meta bugs]. Once prioritized, these will be revisited and discussed occasionally on the mailing list.


Some other interesting bug lists that overlap with the ones above.
Some other interesting bug lists that overlap with the ones above.

Revision as of 23:05, 2 September 2015

Project Candle is a Platform Engineering project that aims to reduce the power consumption of Firefox (on desktop and mobile) and Firefox OS, in order to increase battery life for users on mobile devices. Project Candle is intended to complement existing Mozilla initiatives relating to power consumption.

Mailing list

The Project Candle mailing list will be called dev-power.

Instead of having regular face-to-face meetings, this list will serve as the central point of contact for all discussions and bug triaging for Project Candle. While having no face-to-face meetings does reduce the immediacy of discussion, we hope this will be outweighed by other advantages.

First, given that the reduction of power consumption potentially requires people with expertise in many parts of the codebase, it is important to avoid excluding anybody. A mailing list achieves this in the following ways.

  • Nobody needs to miss discussion due to being permanently in a particular timezone.
  • Nobody needs to miss discussion due to being temporarily unavailable at a particular time.
  • It's easy to "lurk", i.e. follow along in a low-commitment fashion.

Second, there are some practical benefits.

  • All discussions are permanently archived.
  • Fewer meetings for everybody.

IRC

The #power channel is for discussions relating to power consumption.

Bug triage and tracking

Bugs are prioritized via periodic triage threads on the mailing list. These threads will have a title such as "Project Candle bug triage (7th September 2015)". The triage manager (currently nnethercote) will initiate these threads, listing each bug, asking relevant questions, and suggesting priorities. A few days later, after discussion has occurred, the triage manager will update the bugs appropriately.

If you want a bug that is related to memory usage to be triaged on the mailing list, add "[Power]" to the bug whiteboard. After prioritization, this whiteboard marking will be changed to one of "[Power:P1]", "[Power:P2]", "[Power:P3]" or "[Power:meta]". The meaning of these markings, and links to all such bugs, is as follows.

  • Power:U bugs. These are prioritized regularly on the mailing list.
  • Power:P1 bugs. Once prioritized, these will be revisited and discussed occasionally on the mailing list.
  • Power:P2 bugs. Once prioritized, these will be revisited and discussed rarely on the mailing list. P2 is the default priority.
  • Power:P3 bugs. Once prioritized, these are unlikely to be revisited and discussed again on the mailing list.
  • Power:meta bugs. Once prioritized, these will be revisited and discussed occasionally on the mailing list.

Some other interesting bug lists that overlap with the ones above.

There is also a "power" keyword in Bugzilla, but this won't be used by Project Candle because the whiteboard annotations described above are more flexible.

Tools

All the tools that we use to measure and improve memory usage are described on MDN, under "Power profiling".

Progress tracking

We will need to set up some kind of automated system for tracking power consumption. This will let us measure progress and also detect regressions.

There are several open questions relating to this.

  • Which platforms? (Note that dedicated hardware is best for power consumption measurement, because a lot of the tools do system-wide measurements.)
  • Which other browsers do we compare with?
  • Which metrics do we use?
  • What workloads do we test?

For Firefox, Roberto Vitillo's Energia dashboard may serve as a good starting point. (Note that this dashboard has not been updated in over a year and so its actual data should be ignored at this time.)

For Firefox OS there are already current measurements being made and fed into Raptor.