[DNR] Short term workaround for telemetry test failure due to telemetry mirroring mapping issue in artifact build
Categories
(WebExtensions :: Request Handling, task, P2)
Tracking
(firefox113 fixed)
| Tracking | Status | |
|---|---|---|
| firefox113 | --- | fixed |
People
(Reporter: rpl, Assigned: rpl)
References
Details
(Whiteboard: [addons-jira])
Attachments
(1 file)
Today's we noticed that the DNR xpcshell tests that are covering the DNR telemetry probes added in Bug 1803363 are failing consistently when executed on an artifact build, while they pass consistently in a full build (locally and also on autoland and non-artifact try pushes).
There are two issues being hit when running the DNR telemetry tests (included in test tasks part of test_ext_dnr_startup_cache.js, test_ext_dnr_dynamic_rules.js, test_ext_dnr_static_rules.js):
-
in a full build
Object.keys(Glean.extensionsApisDnr)returned the array of the metrics names part of theextensions.apis.dnrcategory, but in an artifact build is returning an empty array. This issue can be easily fixed on the test helper side by trying to asserting that the metric property is defined without enumerating the Glean.extensionsApisDnr properties -
in a full build the
aMetricIdreceived by the call to the GIFFT methods (e.g. GIFFT_TimingDistributionStart / GIFFT_TimingDistributionStopAndAccumulate for a timing distribution metric) matches the numeric id included in the map generated at build time part of HistogramGIFFTMap.h and so the call tomozilla::glean::HistogramIdForMetric(aMetricId)will return a definedmirrorIdas expected, while in an artifact build the calls to the GIFFT methods will received a differentaMetricIdand so the call tomozilla::glean::HistogramIdForMetricwill hit the default switch...case branch and returnsNothing(), and so the assertion on the mirrored metric would pass in a full build but fail in a artifact one. -
Fixing the underlying issue in the telemetry internals is tracked by Bug 1826797.
-
in this bug we will have to opt for a short term workaround (e.g. restrict the execution of the assertions related to the mirrored telemetry to full builds, skip it temporarily in artifact builds)
-
:chutten suggests to use
telemetry.fog.artifact_buildto determine when the assertion on the mirrored telemetry should be skipped in the shorter term (which is also mentioned in firefox-source-docs here) -
as part of a separate followup, which will depend on Bug 1826797, we would remove the short term workaround and let the assertions on mirrored telemetry to be executed also when running on artifact builds
Updated•2 years ago
|
| Assignee | ||
Comment 1•2 years ago
|
||
Updated•2 years ago
|
| Assignee | ||
Updated•2 years ago
|
Comment 3•2 years ago
|
||
| bugherder | ||
Description
•