Firefox Core Engineering

From MozillaWiki
Revision as of 21:07, 12 August 2016 by Ddurst (talk | contribs) (added Update Orphaning to dashboard list)
Jump to navigation Jump to search

Function

Quoting the Platform/UI Team:

"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."

This can happen in the opposite direction too, with Firefox 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 Firefox 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 Firefox, 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.

Personnel

  • Neil Deakin (:enn)
  • Felipe Gomes (:felipe)
  • Matt Howell (:mhowell)
  • Chris HC (:chutten)
  • Kirk Steuber (:bytesized)
  • Robert Strong (:rstrong)
  • Gabriele Svelto (:gsvelto)
  • Jimmy Wang (:jimicy)
  • David Durst (:ddurst)


Goals

  1. Enabling stability
    In general, things we do should be tied to enabling stability -- so, making it measurable and/or addressing issues.
  2. Supporting performance improvements
    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. For the most part, this is telemetry and data analysis, but it's not limited to that.
  3. Improving the user/contributor experience
    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. Flash blocking falls into this category. Other things could as well (XUL-related, Print-related, etc). This is the most ripe for population.

Communication

Currently, we do not reside in just one IRC channel or mailing list. You can typically find us in:

IRC

  • #developers
  • #e10s
  • #fx-team
  • #perf
  • #telemetry
  • #uptime

Mailing lists

  • bsmedberg-team
  • dev-platform
  • fhr-dev

Process and Queuing

There is currently no regimented process for regular triage of candidate work. Needs usually filter down through Benjamin Smedberg's team or tangentially related to performance analysis and experimentation.

All actively tracked work is marked with the whiteboard "[fce-active]" (for now). Or look at the #Active Bug List on this page.

Major initiatives are listed on this page.

Owned Infrastructure

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.

  • Add-on startup correlation: via iacomus; broken on 403 for S3 bucket
  • Add-on shutdown correlation: via iacomus; broken on 403 for S3 bucket
  • Main Thread I/O: via iacomus; broken on 403 for S3 bucket
  • Population Distribution: functional
  • Power Dashboard: functional
  • SlowSQL: functional
  • ChromeHangs: jquery csv issue resolved, currently backfilling data from 3/07 to 6/05
  • Update Orphaning: functional

symbolapi.mozilla.org

This is the 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

  • back-end of the user interface/XUL, et al (enn)
  • e10s system add-on (felipe)
  • e10s data analysis (chutten)
  • install and update (rstrong)
  • telemetry, histograms, pings, and data reporting (chutten)
  • stack-walking and breakpad (gsvelto)

Pipeline

Current projects

2016 Q3 goals

  • Completion of client-side of the child process telemetry aggregation.
  • Landing (and uplift to FF50) of client-side stackwalking.
  • Rewrite and relaunch of symbolapi.m.o -- now with tests and safe cache management.
  • Completion of definition phase of Flash-blocking & UI project.
  • Jimmy's bugs, before his internship ends

Potential future projects

This list should be considered a work in progress. Decisions will be reflected for a particular quarter.

  • Profiling WebExtensions (via dev tools)
  • Assisting with measuring (and addressing) jank and hang

Active Bug List

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);