Telemetry/Outreachy:HealthPing
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
Finding bugs
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 if needed.
Contact
To get in touch you can reach out per mail or connect on Mozilla IRC in the #outreachy or #telemetry channel.
Resources
- Mentor: Georg Fritzsche
- Telemetry project page
- View your Firefox Telemetry data at
about:telemetry - Telemetry client documentation
- Public Telemetry dashboards
- IRC: irc.mozilla.org, #telemetry