When the stub installer completes with almost any result 1, it generates a ping containing some data about the system and about how the installation went. This ping isn’t part of Firefox unified telemetry, it’s a bespoke system; we can’t use the telemetry client code when it isn’t installed yet.
Querying the stub ping¶
The stub ping data is available (to those with a Mozilla LDAP login) on Redash. Make sure to select the
DSMO-RS data source. The
download_stats table is the main data table. It contains the columns in the following list.
Some of the columns are marked [DEPRECATED] because they involve features that were removed when the stub installer was streamlined in Firefox 55. These columns were not removed to keep compatibility and so we could continue to use the old data, but they should no longer be used.
Time the ping was received
Channel the installer was built with the branding for (“release”, “beta”, “nightly”, or “default”)
Value of MOZ_UPDATE_CHANNEL for the installer build; should generally be the same as build_channel
Version number of the installed product, or 0 if the installation failed. This is not the version of the installer itself.
Build ID of the installed product, or 0 of the installation failed
Locale of the installer and of the installed product, in AB_CD format
True if a 64-bit build was selected for installation. This means the OS is 64-bit, the RAM requirement was met, and no third-party software that blocks 64-bit installations was found.
True if the version of Windows on the machine was 64-bit
Version number of Windows in
Latest Windows service pack installed on the machine
True if the installed OS is a server version of Windows
True if the installer was run by a user with administrator privileges (and the UAC prompt was accepted)
[DEPRECATED] True if the default installation path was not changed. We no longer support changing this in the streamlined stub, so this should always be true once bug 1351697 is fixed
[DEPRECATED] True if the option to set the new installation as the default browser was left selected. We no longer attempt to change the default browser setting in the streamlined stub, so this should always be false.
[DEPRECATED] True if the new installation was successfully made the default browser. We no longer attempt to change the default browser setting in the streamlined stub, so this should always be false.
True if an existing installation of Firefox was already set as the default browser
True if at least one existing installation of Firefox was found on the system prior to this installation
Version of the previously existing Firefox installation, if any
Build ID of the previously existing Firefox installation, if any
Size of the full installer data that was transferred before the download ended (whether it failed, was canceled, or completed normally)
Expected size of the full installer download according to the HTTP response headers
Number of times the full installer download was retried or resumed. 10 retries is the maximum.
Number of seconds spent downloading the full installer
Seconds between sending the full installer download request and receiving the first response data
IP address of the server the full installer was download from (can be either IPv4 or IPv6)
True if the user clicked on the button that opens the manual download page. The prompt to do that is shown after the installation fails or is canceled.
[DEPRECATED] Seconds the user spent on the intro screen. The streamlined stub no longer has this screen, so this should always be 0.
[DEPRECATED] Seconds the user spent on the options screen. The streamlined stub no longer has this screen, so this should always be 0.
Seconds spent in the download phase; should be very close to download_time, since nothing else happens in this phase.
Seconds spent verifying the downloaded full installer and preparing to run it
Seconds the full installer ran for
Seconds spent waiting for the installed application to launch
True if a new installation was successfully created. False if that didn’t happen for any reason, including when the user closed the installer window.
[DEPRECATED] True if the installation failed because the drive we’re trying to install to does not have enough space. The streamlined stub no longer sends a ping in this case, because the installation drive can no longer be selected.
[DEPRECATED] True if the installation failed because the user doesn’t have permission to write to the path we’re trying to install to. The streamlined stub no longer sends a ping in this case, because the installation drive can no longer be selected.
True if the installation failed because the user closed the window during the download.
True if the installation failed because the download had to be retried too many times (currently 10)
True if the installation failed because the downloaded file couldn’t be read from
True if the installation failed because the signature on the downloaded file wasn’t valid and/or wasn’t signed by a trusted authority
True if the installation failed because the signature on the downloaded file didn’t have the expected subject and issuer names
True if the installation failed because running the full installer timed out. Currently that means it ran for more than 150 seconds for a new installation, or 165 seconds for a paveover installation.
True if the installation succeeded and we were able to launch the newly installed application.
True if the installation succeeded and we weren’t able to launch the newly installed application because a copy of Firefox was already running.
Any attribution data that was included with the installer
0: neither profile cleanup prompt was shown
1: the “reinstall” version of the profile cleanup prompt was shown (no existing installation was found, but the user did have an old Firefox profile)
2: the “paveover” version of the profile cleanup prompt was shown (an installation of Firefox was already present, but it’s an older version)
True if either profile cleanup prompt was shown and the user accepted the prompt
No ping is sent if the installer exits early because initial system requirements checks fail.
Previous versions of Windows have used a very small set of build numbers through their entire lifecycle. However, Windows 10 gets a new build number with every major update (about every 6 months), and many more builds have been released on its insider channels. So, to prevent a huge amount of noise, queries using this field should generally filter out the build number and only use the major and minor version numbers to differentiate Windows versions, unless the build number is specifically needed.