Stub Ping

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.

timestamp
Time the ping was received
build_channel
Channel the installer was built with the branding for (“release”, “beta”, “nightly”, or “default”)
update_channel
Value of MOZ_UPDATE_CHANNEL for the installer build; should generally be the same as build_channel
version
Version number of the installed product, or 0 if the installation failed. This is not the version of the installer itself.
build_id
Build ID of the installed product, or 0 of the installation failed
locale
Locale of the installer and of the installed product, in AB_CD format
amd64_bit_build
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.
amd64bit_os
True if the version of Windows on the machine was 64-bit
os_version
Version number of Windows in major.minor.build format [2]
service_pack
Latest Windows service pack installed on the machine
server_os
True if the installed OS is a server version of Windows
admin_user
True if the installer was run by a user with administrator privileges (and the UAC prompt was accepted)
default_path
[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
set_default
[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.
new_default
[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.
old_default
True if an existing installation of Firefox was already set as the default browser
had_old_install
True if at least one existing installation of Firefox was found on the system prior to this installation
old_version
Version of the previously existing Firefox installation, if any
old_build_id
Build ID of the previously existing Firefox installation, if any
bytes_downloaded
Size of the full installer data that was transferred before the download ended (whether it failed, was canceled, or completed normally)
download_size
Expected size of the full installer download according to the HTTP response headers
download_retries
Number of times the full installer download was retried or resumed. 10 retries is the maximum.
download_time
Number of seconds spent downloading the full installer
download_latency
Seconds between sending the full installer download request and receiving the first response data
download_ip
IP address of the server the full installer was download from (can be either IPv4 or IPv6)
manual_download
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.
intro_time
[DEPRECATED] Seconds the user spent on the intro screen. The streamlined stub no longer has this screen, so this should always be 0.
options_time
[DEPRECATED] Seconds the user spent on the options screen. The streamlined stub no longer has this screen, so this should always be 0.
download_phase_time
Seconds spent in the download phase; should be very close to download_time, since nothing else happens in this phase.
preinstall_time
Seconds spent verifying the downloaded full installer and preparing to run it
install_time
Seconds the full installer ran for
finish_time
Seconds spent waiting for the installed application to launch
succeeded
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.
disk_space_error
[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.
no_write_access
[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.
download_cancelled
True if the installation failed because the user closed the window during the download.
out_of_retries
True if the installation failed because the download had to be retried too many times (currently 10)
file_error
True if the installation failed because the downloaded file couldn’t be read from
sig_not_trusted
True if the installation failed because the signature on the downloaded file wasn’t valid and/or wasn’t signed by a trusted authority
sig_unexpected
True if the installation failed because the signature on the downloaded file didn’t have the expected subject and issuer names
install_timeout
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.
new_launched
True if the installation succeeded and we were able to launch the newly installed application.
old_running
True if the installation succeeded and we weren’t able to launch the newly installed application because a copy of Firefox was already running.
attribution
Any attribution data that was included with the installer
profile_cleanup_prompt

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)

profile_cleanup_requested
True if either profile cleanup prompt was shown and the user accepted the prompt
[1]No ping is sent if the installer exits early because initial system requirements checks fail.
[2]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.