Since the implementation of Firefox's Terms of Use, the flipping of the
`uploadEnabled` pref is no longer the simple one-stop-shop for disabling
data collection. Now it only disables the data collection for pings that
don't have `follows_collection_enabled: false` set.
Differential Revision: https://phabricator.services.mozilla.com/D299365
Only once the user interacted with the telemetry reporting policy modal
we can be sure that the preference for collection is valid.
If it's not we don't initialize Glean and thus don't collect any data.
Differential Revision: https://phabricator.services.mozilla.com/D239753
This patch specifically disables "baseline" and "events" pings through not
telling Glean about user (in)activity, which triggers their submission.
"baseline" should matter less, but if an "events" ping is submitted during a
test it could contain a test's recorded events that it will later want to
assert are present.
"metrics" pings are already suppressed in automation via the `MOZ_AUTOMATION`
envvar. So update the docs to note that.
"deletion-request" pings are permitted at all times for all reasons and are not
included in the builtin pings we're disabling.
Differential Revision: https://phabricator.services.mozilla.com/D212315
FOG needs to trigger JOG (artifact build support for runtime-defined metrics.
Allows changes and additions to metrics.yamls to be usable from JS without a
compile step) when running an Artifact Build.
So we take `MOZ_ARTIFACT_BUILDS` and pop it into a pref for FOG's use in C++.
Differential Revision: https://phabricator.services.mozilla.com/D173211
FOG gets to learn which app ids register which pings, allowing it to tell the
Glean SDK to trim all data not associated with those pings.
This will keep other app_ids' custom pings' events from growing without bound.
Alas, this does not come with tests as the trim behaviour is very internal to
the SDK. As such we'll have to rely on the SDK's tests.
Depends on D164604
Differential Revision: https://phabricator.services.mozilla.com/D164605
FOG gets to learn which app ids register which pings, allowing it to tell the
Glean SDK to trim all data not associated with those pings.
This will keep other app_ids' custom pings' events from growing without bound.
Alas, this does not come with tests as the trim behaviour is very internal to
the SDK. As such we'll have to rely on the SDK's tests.
Depends on D164604
Differential Revision: https://phabricator.services.mozilla.com/D164605
If there's no `COMPILE_ENVIRONMENT`, generate jogfile.json during build.
It contains information about all the metrics and pings.
If we are both not MOZILLA_OFFICIAL _and_ mozilla::IsDevelopmentBuild,
we look for the jogfile on the first use of the Glean or GleanPings global.
If we find the jogfile, we load our metric and ping info from there,
making it available to JS.
JOG isn't instrumented as it only does anything when !MOZILLA_OFFICIAL,
which is exactly the condition for disabling ping upload (see rust feature
`glean_disable_upload`), so we wouldn't expect to ever hear anything.
Differential Revision: https://phabricator.services.mozilla.com/D160540
If there's no `COMPILE_ENVIRONMENT`, generate jogfile.json during build.
It contains information about all the metrics and pings.
If we are both not MOZILLA_OFFICIAL _and_ mozilla::IsDevelopmentBuild,
we look for the jogfile on the first use of the Glean or GleanPings global.
If we find the jogfile, we load our metric and ping info from there,
making it available to JS.
JOG isn't instrumented as it only does anything when !MOZILLA_OFFICIAL,
which is exactly the condition for disabling ping upload (see rust feature
`glean_disable_upload`), so we wouldn't expect to ever hear anything.
Differential Revision: https://phabricator.services.mozilla.com/D160540
If there's no `COMPILE_ENVIRONMENT`, generate jogfile.json during build.
It contains information about all the metrics and pings.
If we are both not MOZILLA_OFFICIAL _and_ mozilla::IsDevelopmentBuild,
we look for the jogfile on the first use of the Glean or GleanPings global.
If we find the jogfile, we load our metric and ping info from there,
making it available to JS.
JOG isn't instrumented as it only does anything when !MOZILLA_OFFICIAL,
which is exactly the condition for disabling ping upload (see rust feature
`glean_disable_upload`), so we wouldn't expect to ever hear anything.
Differential Revision: https://phabricator.services.mozilla.com/D160540