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-drive 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
Resources
- Telemetry project page
- View your Firefox Telemetry data at
about:telemetry
- Telemetry client documentation
- Public Telemetry dashboards
- IRC: irc.mozilla.org, #telemetry
- Mentor: gfritzsche@mozilla.com