[DENG-11194] Create graphics_dashboard job, migrated from spark#533
[DENG-11194] Create graphics_dashboard job, migrated from spark#533BenWu wants to merge 10 commits into
Conversation
ed71382 to
ee73991
Compare
|
I ran this locally with much help from claude. I quickly looked over the resulting dashboard page, it mostly looked reasonable. The one thing that stood out to me was that Device Vendor Usage the Unknown category doubled from 7% to 15%. Do we understand why this happened? I'll paste claude's summary below. I think claude's point 4 might be relevant for the Unknown question. graphics-dashboard PR #533 — local dry-run verification findings (2026-07-17)Ran both VerdictMigration is fundamentally sound. All 21 files have matching top-level Concrete bugs (fixable)
Data / semantic differences (need domain judgment, not necessarily bugs)
Validated (builds confidence)
Env noteLocal run needs Python 3.11+ (datetime.UTC); trends need TZ=UTC to match the |
|
Thanks for taking a look. Which project did you set for the storage client or application-default? I didn't consider that and I'm not sure if everyone has permissions to use mozdata. For the unknown device vendors, I found that nearly the entire difference is with ESR version 115 since the glean metric was added in version 124. I also confirmed that the legacy job filtered out values with null gfx adapter values filtered out as claude pointed out. Adding the filter changes it to 7.2% and makes the rest of the percentages closer as well. I'll push that change. That also brings up the fact that the glean migration will effectively remove most of the data pre Firefox 124 (early 2024), so that's something to consider. Not specific to the migration but I noticed that Apple (id=0x106b) is in the unknown bucket so we could also be added, but maybe afterwards to not conflate too many things. I'll continue looking at the rest of the observations on Monday. That filtering affects some other metrics as well |
|
Re: which project, I just let claude do it's thing. Here is it's answer: For the storage client I didn't set a quota project on On the mozdata-permissions worry: for the storage client the project is really |
|
@tnikkel I made some additional fixes, mainly filtering out null data when the legacy job did so and fixing some handling of null and empty strings. Please take another look when you get the chance. There are still some noticeable differences, e.g. in some of the trends, that are I think are largely due to the glean only sending in newer versions of Firefox so older clients who tend to have older hardware aren't included anymore. I realize now that migrating to glean in one shot in this migration was a bit ambitious but it was something that needed to be done eventually. |
https://mozilla-hub.atlassian.net/browse/DENG-11194
This is a migration of the spark jobs in https://github.com/mozilla/python_mozetl/tree/main/mozetl/graphics. The output is almost the same. The main difference is that it's now using the glean metrics ping instead of the legacy main ping. This makes the output for the graphs not 1:1 but usually close (differences are documented in the readme).
This can be run locally with a copy of the frontend with:
Checklist for reviewer:
Commits should reference a bug or github issue, if relevant (if a bug is referenced, the pull request should include the bug number in the title)
Scan the PR and verify that no changes (particularly to
.circleci/config.yml) will cause environment variables (particularly credentials) to be exposed in test logsEnsure the container image will be using permissions granted to telemetry-airflow responsibly.