mozilla / glam

Mozilla's primary interactive dashboard for examining the distribution of telemetry values.
https://glam.telemetry.mozilla.org
Mozilla Public License 2.0
20 stars 23 forks source link

Site stops working when selecting normalization option 'none' #2774

Closed jonco3 closed 6 months ago

jonco3 commented 6 months ago

STR:

Result:

The site becomes unresponsive. The console reports the following exception was thrown:

Uncaught (in promise) TypeError: n[(n.length - 1)][Gn(...)].map is not a function
    l QuantileExplorerView.svelte:77
    update QuantileExplorerView.svelte:89
    xt index.mjs:1343
    _t index.mjs:1307
edugfilho commented 6 months ago

Thanks for reporting! The probe doesn't have non-normalized data and that's breaking the page. Still investigating why there's no normalized data and why that's not being handled properly.

edugfilho commented 6 months ago

Probe Dictionary says this probe's population is prerelease, and the Expiry section doesn't mention release. @jonco3 would that mean this probe is not supposed to have data for release? In any case, GLAM must handle it appropriately. Still investigating

jonco3 commented 6 months ago

I guess it's 'prerelease' because this probe doesn't have {"releaseChannelCollection": "opt-out"} in histograms.json and so it doesn't get release channel data by default. I didn't realise that this was the case.

But there is obviously some release channel data there, because it's displaying the normalized version.

edugfilho commented 6 months ago

GLAM breaks when normalization: none is selected because there's no non-normalized data for that probe (behavior which needs to be fixed), and that is because GLAM only started aggregating non-normalized data after it stopped collecting data for that probe. Notice that we did not backfill non-normalized data because that was prohibitively expensive, time and money-wise.

Looking at the raw data I learned GLAM was never supposed to have collected release data for the probe in question at all, due to the low client counts. The reason why there are two builds there is because those builds were aggregated before a better client count filtering was put in place for release.

For info, the probe seems to be still collecting data for a recent build, in case you want to dig further.

In summary: