From MozillaWiki
Jump to: navigation, search

As you use Firefox, Telemetry measures and collects non-personal information, such as performance, hardware, usage and customizations. It then sends this information to Mozilla on a daily basis, where it is used to enable data-driven product decisions and engineering efforts.

The collected data is submitted to our servers in pings, the most critical being the "main" ping.

While we have active monitoring and dashboards based on the "main" ping, we currently can't track any failures to send this ping. To solve this we plan to add a minimal "health" ping, small-sized and going through minimal client-code, that will be submitted on failure scenarios like internal client errors or rejected submissions.

Project goals

This project is about implementing fundamental health monitoring of our client Telemetry.

  • Make it possible to monitor submission failures of richer pings.
  • Make it possible to monitor failures to generate richer pings.

Project details

In Firefox, Telemetry is mostly implemented in toolkit/components/telemetry/. For this project, you will need:

  • JavaScript for the Firefox implementation
  • Python for validating incoming data using PySpark

This project will involve:

  • working with team members on the design of the health reporting
  • implementing the new design on the client, including test coverage
  • working with QA on a test plan for the reporting
  • validating incoming data
  • working with team members to make the data available in our re:dash instance

Getting started

First you should get Firefox built & running.

Mentored bugs in Telemetry can be found here, but you can also take on starter bugs from other typical Firefox bugs. Feel free to reach out for recommendations on good bugs. Once you found a suitable bug, leave a comment stating that you want to work on it.

When you made the changes you need to submit a patch.

More details can be found in our developer guide.


To get in touch you can: