{"id":15049831,"url":"https://github.com/mozilla/burnham","last_synced_at":"2025-10-04T12:30:41.804Z","repository":{"id":38123812,"uuid":"219534820","full_name":"mozilla/burnham","owner":"mozilla","description":"Automated end-to-end testing for Mozilla's Glean telemetry. 👩‍🚀","archived":true,"fork":false,"pushed_at":"2022-08-04T09:50:51.000Z","size":561,"stargazers_count":9,"open_issues_count":7,"forks_count":6,"subscribers_count":23,"default_branch":"main","last_synced_at":"2025-01-16T16:26:20.655Z","etag":null,"topics":["glean","python","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mozilla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null}},"created_at":"2019-11-04T15:33:19.000Z","updated_at":"2024-10-11T11:40:41.000Z","dependencies_parsed_at":"2022-07-13T04:51:46.835Z","dependency_job_id":null,"html_url":"https://github.com/mozilla/burnham","commit_stats":null,"previous_names":["hackebrot/burnham"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fburnham","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fburnham/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fburnham/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fburnham/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mozilla","download_url":"https://codeload.github.com/mozilla/burnham/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235252763,"owners_count":18960467,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["glean","python","python3"],"created_at":"2024-09-24T21:22:58.841Z","updated_at":"2025-10-04T12:30:36.531Z","avatar_url":"https://github.com/mozilla.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# burnham 👩‍🚀📈🤖\n\n**❌ As of August 4, 2022, the burnham end-to-end test suite was disabled on\nAirflow. The source code in this repository is no longer actively maintained and\nthe repository was marked as read-only as a result. ❌**\n\nThe burnham project is an end-to-end test suite that aims to automatically\nverify that Glean-based products correctly measure, collect, and submit\nnon-personal information to the GCP-based Data Platform and that the received\ntelemetry data is then correctly processed, stored to the respective tables\nand made available in BigQuery.\n\nBlog post about the proof of concept:\nhttps://raphael.codes/blog/automated-end-to-end-tests-for-glean/\n\n## Overview\n\n### Glean SDK\n\nFor Mozilla, getting reliable data from our products is critical to inform\nour decision making. Glean is a product analytics \u0026 telemetry solution that\nprovides a consistent experience and behavior across all of our products.\n\nFind out more in our [Data Documentation][data_documentation]. 📝\n\n### burnham\n\nWe have developed a command-line application based on the [Glean SDK Python\nbindings][glean_sdk] for producing test data as part of the automated\nend-to-end test suite. The burnham application submits Glean pings to the\nData Platform which validates and stores these pings in BigQuery tables.\n\nYou can find the code for the burnham application in the [application\ndirectory][application]. 👩‍🚀\n\n### burnham-bigquery\n\nWe also developed a test suite based on the [pytest][pytest] framework that\ndynamically generates tests. Each test runs a specific query on BigQuery to\nverify a certain test scenario. After the test session finished, we then\nstore the results in a designated BigQuery table with ID\n`burnham_derived.test_results_v1`.\n\nThe test suite code is located in the [bigquery][bigquery] directory. 📊\n\n### telemetry-airflow\n\nWe build and push Docker images for both burnham and burnham-bigquery on CI\nfor pushes to the `main` branch of this repository. The end-to-end test suite\nis configured as a DAG on [telemetry-airflow][telemetry-airflow] on the Data\nPlatform and scheduled to run daily. It runs several instances of a burnham\nDocker container to produce Glean telemetry, uses Airflow sensors to wait for\nthe data to be available in the various burnham live tables, and then runs\nburnham-bigquery to verify the results.\n\nPlease see the [burnham DAG][airflow_dag] for more information. 📋\n\n### Redash\n\nWe created two scheduled queries that read the results from the\n`burnham_derived.test_results_v1` table from the past 4 days. The queries run\ndaily at 02:00 UTC after telemetry-airflow ran the burnham DAG.\n\nMozilla employees can find this information in the [burnham\ndashboard][redash].\n\n## Development status\n\nWe successfully completed the proof of concept and are now running burnham\nand burnham-bigquery in production. We are now actively working on developing\nadditional test scenarios. 🚀\n\n## Requirements\n\nBoth burnham and burnham-bigquery run on Python 3.7 on Debian.\n\n## Integration points\n\nThe burnham project has integration points with the Glean SDK team, the Data\nPlatform team and the Ecosystem Test Engineering team.\n\n## Community Participation Guidelines\n\nThis repository is governed by Mozilla's code of conduct and etiquette. Please\nread the burnham [Code of Conduct][code_of_conduct].\n\n## Project theme\n\nThe project theme is inspired by Michael Burnham, the fictional protagonist\non the web television series Star Trek: Discovery portrayed by Sonequa\nMartin-Green. Burnham is a science specialist on the Discovery. She and her\ncrew do research on spore drive technology and complete missions in outer\nspace and these themes of scientific exploration and space travel are a\nperfect fit for this project. 👩‍🚀\n\n[application]: /application\n[code_of_conduct]: /CODE_OF_CONDUCT.md\n[bigquery]: /bigquery\n[airflow_dag]: https://github.com/mozilla/telemetry-airflow/blob/master/dags/burnham.py\n[data_documentation]: https://docs.telemetry.mozilla.org/concepts/glean/glean.html\n[pytest]: https://pypi.org/project/pytest/\n[glean_sdk]: https://pypi.org/project/glean-sdk/\n[telemetry-airflow]: https://github.com/mozilla/telemetry-airflow\n[redash]: https://sql.telemetry.mozilla.org/dashboard/burnham\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmozilla%2Fburnham","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmozilla%2Fburnham","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmozilla%2Fburnham/lists"}