To cut down on complexity, we don't require specifying any expiry versions.
Given that these events will be recorded non-persistently from off-train add-ons, they can be expired by shipping new add-on releases.
We also start to use the new "record on release" terminology here instead of opt-in/opt-out, but are not changing the internal functionality yet.
Technically, this is implemented by keeping a separate registry for the dynamic event information.
Built-in & dynamic events are tracked with separate numeric ids, so introduce a common identifier for both, an EventKey.
For actual event storage, the events are treated the same as built-in events. They are simply bucketed into the 'dynamic' process storage.
This approach ends up duplicating code paths that use the event info, but keeps a single implementation for recording, storage & serialization.
This ping will be sent as soon as an update is ready to be applied, after
it's downloaded. This is currently enabled but protected behind the
'toolkit.telemetry.updatePing.enabled' preference.
MozReview-Commit-ID: 4TuM0e5MzBl
Switch telemetry and experiments from AddonManager.getAddonsByTypes()
to AddonManager.getActiveAddons() which gives us less detailed information
in the environment during startup but also means we don't need to load the
extensions database until startup is complete.
MozReview-Commit-ID: 4SxdPHSPovB
Switch telemetry and experiments from AddonManager.getAddonsByTypes()
to AddonManager.getActiveAddons() which gives us less detailed information
in the environment during startup but also means we don't need to load the
extensions database until startup is complete.
MozReview-Commit-ID: 4SxdPHSPovB
This also removes the TelemetrySessionId field from the whitelist because that
field is already manually stripped and moved into the ping's root node.
Putting it in the whitelist is redundant.
MozReview-Commit-ID: B3WAyCSHoyR
This adds the RemoteType annotation to a content crash report so that we can
distinguish between content processes that crashed while running remote, local
or extension code. The annotation is passed along the others to Socorro by the
crashreporter and is also whitelisted for inclusion in the crash ping.
MozReview-Commit-ID: 4avo0IWfMGf
This gives us the most actionable piece of information from the perspective of correlating between how the sandbox is configured and behavior we see.
MozReview-Commit-ID: EWWQrDHns1R
If the "security.sandbox.content.level" preference is set to a value less than
1, all consumers will automatically treat it as if it were level 1. On Linux and
Nightly builds, setting the sandbox level to 0 is still allowed, for now.
MozReview-Commit-ID: 9QNTCkdbTfm
This gives us the most actionable piece of information from the perspective of correlating between how the sandbox is configured and behavior we see.
MozReview-Commit-ID: EWWQrDHns1R
If the "security.sandbox.content.level" preference is set to a value less than
1, all consumers will automatically treat it as if it were level 1. On Linux and
Nightly builds, setting the sandbox level to 0 is still allowed, for now.
MozReview-Commit-ID: 9QNTCkdbTfm
It schedules the ping to be sent on new profiles after 30 minutes
from the Firefox startup. The ping is eventually sent at shutdown
if the scheduled time wasn't reached.
To reliably prevent sending the ping more than once, the "session-state.json"
file is used to keep track of the "sent" state.
The "new-profile" ping is protected behind a pref, disabled by default
in this patch.
MozReview-Commit-ID: 4g4lPRXe9q6
The probes needing to record in gpu were determined by listing the probes that
submitted data for those measures on Nightly on April 18.
MozReview-Commit-ID: 85nQA8rCH1p
The probes needing to record in gpu were determined by listing the probes that
submitted data for those measures on Nightly on April 18.
MozReview-Commit-ID: 85nQA8rCH1p