Confirmed users
746
edits
(Removed Jimmy Wang, 2016 intern (whose internship has ended)) |
(major update of ... everything) |
||
| Line 2: | Line 2: | ||
Quoting the [[Platform/UI Team]]: | Quoting the [[Platform/UI Team]]: | ||
<blockquote>"The Platform teams and Firefox teams are co-dependent, but oftentimes priorities between the two groups do not line up perfectly. If Platform has a goal to ship some new feature that requires UI, and the Firefox team has no cycles to help develop the UX or UI, then it that feature will often languish."</blockquote> | <blockquote>"The Platform teams and Firefox teams are co-dependent, but oftentimes priorities between the two groups do not line up perfectly. If Platform has a goal to ship some new feature that requires UI, and the Firefox team has no cycles to help develop the UX or UI, then it that feature will often languish."</blockquote> | ||
This can happen in the opposite direction too, with | This can happen in the opposite direction too, with Toolkit needing support for a feature that doesn't line up with current Platform priorities. | ||
The purpose of this team is to address needs that fall between | The purpose of this team is to address needs that fall between Toolkit and Platform, with an emphasis (currently) on improving stability, quality, and performance – supported by empirical data. As such, we overlap a bit with everyone from Platform through Toolkit, Data, and more. | ||
This team grew out of, in part, the Performance Engineering team, and owns that team's previous infrastructure – performance-related dashboards on telemetry.mozilla.org, the symbolication server, and more. It also includes the install & update team. | This team grew out of, in part, the Performance Engineering team, and owns that team's previous infrastructure – performance-related dashboards on telemetry.mozilla.org, the symbolication server, and more. It also includes the install & update team. | ||
| Line 19: | Line 19: | ||
== Goals == | == Goals == | ||
# <b>Enabling stability</b><br/>In general, things we do should be tied to enabling stability | # <b>Enabling stability</b><br/>In general, things we do should be tied to enabling stability – so, making it measurable and/or addressing issues. | ||
# <b>Supporting performance improvements</b><br/>Improving performance is certainly everyone's job | # <b>Supporting performance improvements</b><br/>Improving performance is certainly everyone's job—not just our team—but we hold the keys for some distinct pieces of the analysis that allow people to understand what needs to be improved. This is primarily, but not limited to, telemetry and data analysis. | ||
# <b>Improving the user/contributor experience</b><br/>This one is the weirdest: it covers things that we can do to further the web, and improve the experience for our users | # <b>Improving the user/contributor experience</b><br/>This one is the weirdest: it covers things that we can do to further the web, and improve the experience for our users – both end-users and code contributors (some examples: Flash blocking, XUL performance analysis). This category is the most ripe for population. | ||
== Communication == | == Communication == | ||
| Line 45: | Line 45: | ||
Major initiatives are listed on this page. | Major initiatives are listed on this page. | ||
== Owned Infrastructure == | == Owned Infrastructure (needs updating per {{Bugzilla|1298080}}) == | ||
=== telemetry.mozilla.org Dashboards === | === telemetry.mozilla.org Dashboards === | ||
All of these dashboards are in the process of transferring ownership. Please contact ddurst if you need data that is currently not functional. | All of these dashboards are in the process of transferring ownership. Please contact ddurst if you need data that is currently not functional. | ||
| Line 54: | Line 54: | ||
* '''Power Dashboard:''' functional | * '''Power Dashboard:''' functional | ||
* '''SlowSQL:''' functional | * '''SlowSQL:''' functional | ||
* '''ChromeHangs:''' jquery csv issue resolved, | * '''ChromeHangs:''' jquery csv issue resolved, backfilled data from 3/07 to 6/05 | ||
* '''Update Orphaning:''' functional | * '''Update Orphaning:''' functional | ||
=== symbolapi.mozilla.org === | === symbolapi.mozilla.org === | ||
This is the [[Snappy_Symbolication_Server|symbolication server]] (aka "Snappy Symbolication Server") used by platform developers and performance dashboards. It is '''not''' used for the analogous process on | This is the [[Snappy_Symbolication_Server|symbolication server]] (aka "Snappy Symbolication Server") used by platform developers and performance dashboards. It is '''not''' used for the analogous process on Socorro. | ||
== Historical knowledge areas == | == Historical knowledge areas == | ||
| Line 64: | Line 64: | ||
* e10s system add-on (felipe) | * e10s system add-on (felipe) | ||
* e10s data analysis (chutten) | * e10s data analysis (chutten) | ||
* install and update (rstrong) | * install and update (rstrong, mhowell) | ||
* telemetry, histograms, pings, and data reporting (chutten) | * telemetry, histograms, pings, and data reporting (chutten) | ||
* stack-walking and breakpad (gsvelto) | * stack-walking and breakpad (gsvelto) | ||
* we keep moving him around (bytesized) | |||
== Pipeline == | == Pipeline == | ||
=== Current | === Current efforts === | ||
* | ==== Get More Data Faster ==== | ||
* Stabilize symbolapi.m.o ( | We need to reduce known blind spots and barriers to getting data. For this, our goals are to: | ||
* enable client-side stackwalking and send basic stack traces with crash pings (beginning in Nightly/Aurora, see {{Bugzilla|1280469}}) | |||
* enable content process crash reports ({{Bugzilla|1293656}}) | |||
* differentiate between process types in crash pings ({{Bugzilla|1310664}}) | |||
* process stack data in crash pings into a queryable result ({{Bugzilla|1310695}}) | |||
* create CrashSender to handle crash pings instead of Gecko ({{Bugzilla|1310703}}) | |||
* enable client-side stackwalking and send basic stack traces with crash pings on Beta/GA | |||
==== Stability Dashboard for Relman ==== | |||
Relman has been using arewestableyet.com and related graphs to understand stability by build and channel; this is fine, but it relies on ADI and crash-stats rather than telemetry, and this is known to be unreliable. For this, our goals are to: | |||
* create a dashboard like arewestableyet.com, but based on telemetry ({{Bugzilla|1297146}}) | |||
* establish confidence levels based on kilousagehours by comparing telemetry-based stability data with ADI-based stability data | |||
==== Stabilize symbolapi.m.o ==== | |||
The symbolication API service is used by platform developers for debugging. It may also be used as part of the processing step for stacks received via crash pings. But there have historically been issues with its performance ({{Bugzilla|1244589}}). Stabilizing this means: | |||
* rewrite symbolapi.m.o, adding tests and fixing caching (DONE) | |||
* load test rewrite to ensure it improves on current uptime and load handling (PENDING) | |||
* coordinate with Ops to set up regular deployment process and transfer ownership (PENDING) | |||
==== Experiment with blocking Flash ==== | |||
All major browsers are stopping support for Flash; Firefox will stop supporting all NPAPI plugins (except Flash) shortly. Because there can be extreme user impact in blocking all Flash, we want to understand and attempt to smooth the transition to a post-Flash world. This includes: | |||
* prefer fallback content to Flash ({{Bugzilla|1277346}}) | |||
* establish allowedlists and deniedlists ({{Bugzilla|1307604}}, {{Bugzilla|1307605}}) | |||
* use heuristics to control when Flash is set to Click To Activate ({{Bugzilla|1307606}}) | |||
We hope to do a geography-specific SHIELD study to understand user response and impact, but first | |||
==== Dashboard (repairs and additions) ==== | |||
Dashboards. So many dashboards. | |||
* ChromeHangs, SlowSQL, and Main Thread I/O dashboard rebuild | * ChromeHangs, SlowSQL, and Main Thread I/O dashboard rebuild | ||
* change Update Orphaning dashboard to use MainSummary instead of longitudinal dataset | |||
==== XUL performance tests ==== | |||
XUL is supposed to go away, but it would seem that we don't know what the performance implications could/will be. This work builds on Neil Deakin's 2015 experiment to shed some light on where we need to focus our optimization/change efforts. | |||
==== Orphan remediation ==== | |||
Remediation efforts have been tested for both system add-on capable and non (44.x and 43.0.1, respectively). Analysis thus far confirms the reach but not the effectiveness or rate of conversion that we'd hoped for. This means: | |||
* continue the download instead of starting over after NS_ERROR_DOCUMENT_NOT_CACHED occurs (already fixed in Firefox 49) ({{Bugzilla|1272585}}) | |||
* continue the download instead of starting over after other networking errors occur ({{Bugzilla|1309124}}) | |||
* download the update MAR file unthrottled (already landed) ({{Bugzilla|1309125}}, {{Bugzilla|1309668}}) | |||
* serve a partial MAR file to Firefox 43.0.1 clients ({{Bugzilla|1309130}}) | |||
* push either a system or hotfix add-on that changed the download throttle preference to 0 | |||
* change compression to LZMA for updates ({{Bugzilla|641212}}) | |||
* run another method (non sysaddon, non SHIELD?, etc) to urge 43.0.1 users to upgrade | |||
==== Install UI ==== | |||
The install UI is outdated (and too big) and needs to be updated. | |||
* most recent mockups: https://mozilla.invisionapp.com/share/Y776FIBWS#/screens | |||
==== Windows 64 ==== | |||
We want to start moving users to 64-bit when appropriate: | |||
* stub installer should automatically select 32-bit or 64-bit ({{Bugzilla|797208}}) | |||
==== Other ==== | |||
* Assisting with add-ons e10s experimentation | * Assisting with add-ons e10s experimentation | ||
* Flash blocking & UI: definition, experimentation with Test Pilot ([https://docs.google.com/document/d/1HxutrM0Gc2Ehd4rjI4KjxtFOYtepfjcFEftE0PTJU1w/edit read the planning doc], or [https://bugzilla.mozilla.org/show_bug.cgi?id=1282484 view on bugzilla]) | * Flash blocking & UI: definition, experimentation with Test Pilot ([https://docs.google.com/document/d/1HxutrM0Gc2Ehd4rjI4KjxtFOYtepfjcFEftE0PTJU1w/edit read the planning doc], or [https://bugzilla.mozilla.org/show_bug.cgi?id=1282484 view on bugzilla]) | ||
=== Potential future projects | |||
=== Current projects === | |||
==== 2016 Q4 goals ==== | |||
* landing (and uplift to FF50) of client-side stackwalking | |||
* create separate content process crash pings | |||
* start querying stacks received from crash pings | |||
* relaunch of symbolapi.m.o -- now with tests and safe cache management | |||
* completion of definition phase of Flash-blocking & UI project | |||
* LZMA compression for updates | |||
* updated Install UI | |||
* standardize orphan remediation process with respect to GA release cycle | |||
== Potential future projects == | |||
This list should be considered a work in progress. Decisions will be reflected for a particular quarter. | This list should be considered a work in progress. Decisions will be reflected for a particular quarter. | ||
* Profiling WebExtensions (via dev tools) | * Profiling WebExtensions (via dev tools) | ||