Some more notes The values for update.startup.intervals.check will typically be a small number. When it isn't the client will likely not have automatic updates enabled which would have immediately started the update download. Also, the value is not affected by BITS. The values for update.startup.intervals.download_* are the time it took to complete the download either using the internal Firefox code or BITS. The values for update.startup.intervals.stage_* represents the time it took to stage the update and the value isn't affected by BITS. No value represents that staging was not attempted (e.g. disabled by pref, requirements not met, etc.). The values for update.startup.intervals.apply_* represents the time it took for the client to restart so the value can vary by quite a lot. This value isn't affected by BITS. When the client exits while downloading the number for update.startup.downloads.*_bytes will be different than the value of update.startup.mar_*_size_bytes values A couple of examples interpretting the data If there are values for: update.startup.downloads.bits_partial_seconds update.startup.downloads.internal_partial_seconds Without values for: update.startup.downloads.bits_complete_seconds update.startup.downloads.internal_complete_seconds This means: the BITS partial download failed the internal Firefox code partial download succeeded there should also be a value for update.startup.mar_complete_size_bytes since there should always be a complete update MAR file If there are values for: update.startup.downloads.bits_complete_seconds update.startup.downloads.internal_complete_seconds Without values for: update.startup.downloads.bits_partial_seconds update.startup.downloads.internal_partial_seconds This means: the BITS complete download failed the internal Firefox code complete download succeeded there was no partial update MAR file advertised which can also be determined by there not being a value for update.startup.mar_partial_size_bytes If there are values for: update.startup.downloads.bits_partial_seconds update.startup.downloads.bits_complete_seconds update.startup.intervals.stage_partial update.startup.intervals.stage_complete update.startup.intervals.apply_complete Without values for: update.startup.downloads.internal_partial_seconds update.startup.downloads.internal_complete_seconds update.startup.intervals.apply_partial This means: download of the partial using BITS succeeded download of the complete using BITS succeeded staging of the partial update failed staging of the complete update succeeded the complete update made it through to the end of the apply phase and whether it was successful or not can be determined by the value of the UPDATE_STATE_CODE_COMPLETE_STARTUP histogram. Below are two examples (one with BITS and one using the internal Firefox download code) of the telemetry submitted that I simulated on my system where a partial that had been successfully staged failed during the apply phase. | Scalar Telemetry probe name | Value | +-----------------------------------------------------+----------+ | update.startup.from_app_version | 68.0a1 | | update.startup.mar_partial_size_bytes | 5597747 | | update.startup.mar_complete_size_bytes | 52520731 | | update.startup.intervals.check | 167 | | update.startup.intervals.download_internal_partial | 4 | | update.startup.intervals.download_internal_complete | 32 | | update.startup.intervals.stage_partial | 5 | | update.startup.intervals.stage_complete | 6 | | update.startup.intervals.apply_partial | 91 | | update.startup.intervals.apply_complete | 8 | | update.startup.downloads.internal_partial_bytes | 5597747 | | update.startup.downloads.internal_partial_seconds | 4 | | update.startup.downloads.internal_complete_bytes | 52520731 | | update.startup.downloads.internal_complete_seconds | 31 | +-----------------------------------------------------+----------+ | Scalar Telemetry probe name | Value | +-----------------------------------------------------+----------+ | update.startup.from_app_version | 68.0a1 | | update.startup.mar_partial_size_bytes | 5079059 | | update.startup.mar_complete_size_bytes | 52537067 | | update.startup.intervals.check | 36 | | update.startup.intervals.download_bits_partial | 3 | | update.startup.intervals.download_bits_complete | 24 | | update.startup.intervals.stage_partial | 5 | | update.startup.intervals.stage_complete | 7 | | update.startup.intervals.apply_partial | 81 | | update.startup.intervals.apply_complete | 19 | | update.startup.downloads.bits_partial_bytes | 5079059 | | update.startup.downloads.bits_partial_seconds | 1 | | update.startup.downloads.bits_complete_bytes | 52537067 | | update.startup.downloads.bits_complete_seconds | 24 | +-----------------------------------------------------+----------+ Below is a typical example using BITS without any failures. | Scalar Telemetry probe name | Value | +-----------------------------------------------------+----------+ | update.startup.from_app_version | 68.0a1 | | update.startup.mar_partial_size_bytes | 6383239 | | update.startup.mar_complete_size_bytes | 52539591 | | update.startup.intervals.check | 1 | | update.startup.intervals.download_bits_partial | 3 | | update.startup.intervals.stage_partial | 6 | | update.startup.intervals.apply_partial | 12486 | | update.startup.downloads.bits_partial_bytes | 6383239 | | update.startup.downloads.bits_partial_seconds | 2 | +-----------------------------------------------------+----------+
Bug 1528278 Comment 17 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Some more notes The values for update.startup.intervals.check will typically be a small number. When it isn't the client will likely not have automatic updates enabled which would have immediately started the update download. Also, the value is not affected by BITS. The values for update.startup.intervals.download_<> are the time it took to complete the download either using the internal Firefox code or BITS. The values for update.startup.intervals.stage_<> represents the time it took to stage the update and the value isn't affected by BITS. No value represents that staging was not attempted (e.g. disabled by pref, requirements not met, etc.). The values for update.startup.intervals.apply_>? represents the time it took for the client to restart so the value can vary by quite a lot. This value isn't affected by BITS. When the client exits while downloading the number for update.startup.downloads.<>_bytes will be different than the value of update.startup.mar_<>_size_bytes values A couple of examples interpreting the data If there are values for: update.startup.downloads.bits_partial_seconds update.startup.downloads.internal_partial_seconds Without values for: update.startup.downloads.bits_complete_seconds update.startup.downloads.internal_complete_seconds This means: the BITS partial download failed the internal Firefox code partial download succeeded there should also be a value for update.startup.mar_complete_size_bytes since there should always be a complete update MAR file If there are values for: update.startup.downloads.bits_complete_seconds update.startup.downloads.internal_complete_seconds Without values for: update.startup.downloads.bits_partial_seconds update.startup.downloads.internal_partial_seconds This means: the BITS complete download failed the internal Firefox code complete download succeeded there was no partial update MAR file advertised which can also be determined by there not being a value for update.startup.mar_partial_size_bytes If there are values for: update.startup.downloads.bits_partial_seconds update.startup.downloads.bits_complete_seconds update.startup.intervals.stage_partial update.startup.intervals.stage_complete update.startup.intervals.apply_complete Without values for: update.startup.downloads.internal_partial_seconds update.startup.downloads.internal_complete_seconds update.startup.intervals.apply_partial This means: download of the partial using BITS succeeded download of the complete using BITS succeeded staging of the partial update failed staging of the complete update succeeded the complete update made it through to the end of the apply phase and whether it was successful or not can be determined by the value of the UPDATE_STATE_CODE_COMPLETE_STARTUP histogram. Below are two examples (one with BITS and one using the internal Firefox download code) of the telemetry submitted that I simulated on my system where a partial that had been successfully staged failed during the apply phase. | Scalar Telemetry probe name | Value | +-----------------------------------------------------+----------+ | update.startup.from_app_version | 68.0a1 | | update.startup.mar_partial_size_bytes | 5597747 | | update.startup.mar_complete_size_bytes | 52520731 | | update.startup.intervals.check | 167 | | update.startup.intervals.download_internal_partial | 4 | | update.startup.intervals.download_internal_complete | 32 | | update.startup.intervals.stage_partial | 5 | | update.startup.intervals.stage_complete | 6 | | update.startup.intervals.apply_partial | 91 | | update.startup.intervals.apply_complete | 8 | | update.startup.downloads.internal_partial_bytes | 5597747 | | update.startup.downloads.internal_partial_seconds | 4 | | update.startup.downloads.internal_complete_bytes | 52520731 | | update.startup.downloads.internal_complete_seconds | 31 | +-----------------------------------------------------+----------+ | Scalar Telemetry probe name | Value | +-----------------------------------------------------+----------+ | update.startup.from_app_version | 68.0a1 | | update.startup.mar_partial_size_bytes | 5079059 | | update.startup.mar_complete_size_bytes | 52537067 | | update.startup.intervals.check | 36 | | update.startup.intervals.download_bits_partial | 3 | | update.startup.intervals.download_bits_complete | 24 | | update.startup.intervals.stage_partial | 5 | | update.startup.intervals.stage_complete | 7 | | update.startup.intervals.apply_partial | 81 | | update.startup.intervals.apply_complete | 19 | | update.startup.downloads.bits_partial_bytes | 5079059 | | update.startup.downloads.bits_partial_seconds | 1 | | update.startup.downloads.bits_complete_bytes | 52537067 | | update.startup.downloads.bits_complete_seconds | 24 | +-----------------------------------------------------+----------+ Below is a typical example using BITS without any failures. | Scalar Telemetry probe name | Value | +-----------------------------------------------------+----------+ | update.startup.from_app_version | 68.0a1 | | update.startup.mar_partial_size_bytes | 6383239 | | update.startup.mar_complete_size_bytes | 52539591 | | update.startup.intervals.check | 1 | | update.startup.intervals.download_bits_partial | 3 | | update.startup.intervals.stage_partial | 6 | | update.startup.intervals.apply_partial | 12486 | | update.startup.downloads.bits_partial_bytes | 6383239 | | update.startup.downloads.bits_partial_seconds | 2 | +-----------------------------------------------------+----------+
Some more notes The values for update.startup.intervals.check will typically be a small number. When it isn't the client will likely not have automatic updates enabled which would have immediately started the update download. Also, the value is not affected by BITS. The values for update.startup.intervals.download_<> are the time it took to complete the download either using the internal Firefox code or BITS. The values for update.startup.intervals.stage_<> represents the time it took to stage the update and the value isn't affected by BITS. No value represents that staging was not attempted (e.g. disabled by pref, requirements not met, etc.). The values for update.startup.intervals.apply_<> represents the time it took for the client to restart so the value can vary by quite a lot. This value isn't affected by BITS. When the client exits while downloading the number for update.startup.downloads.<>_bytes will be different than the value of update.startup.mar_<>_size_bytes values A couple of examples interpreting the data If there are values for: update.startup.downloads.bits_partial_seconds update.startup.downloads.internal_partial_seconds Without values for: update.startup.downloads.bits_complete_seconds update.startup.downloads.internal_complete_seconds This means: the BITS partial download failed the internal Firefox code partial download succeeded there should also be a value for update.startup.mar_complete_size_bytes since there should always be a complete update MAR file If there are values for: update.startup.downloads.bits_complete_seconds update.startup.downloads.internal_complete_seconds Without values for: update.startup.downloads.bits_partial_seconds update.startup.downloads.internal_partial_seconds This means: the BITS complete download failed the internal Firefox code complete download succeeded there was no partial update MAR file advertised which can also be determined by there not being a value for update.startup.mar_partial_size_bytes If there are values for: update.startup.downloads.bits_partial_seconds update.startup.downloads.bits_complete_seconds update.startup.intervals.stage_partial update.startup.intervals.stage_complete update.startup.intervals.apply_complete Without values for: update.startup.downloads.internal_partial_seconds update.startup.downloads.internal_complete_seconds update.startup.intervals.apply_partial This means: download of the partial using BITS succeeded download of the complete using BITS succeeded staging of the partial update failed staging of the complete update succeeded the complete update made it through to the end of the apply phase and whether it was successful or not can be determined by the value of the UPDATE_STATE_CODE_COMPLETE_STARTUP histogram. Below are two examples (one with BITS and one using the internal Firefox download code) of the telemetry submitted that I simulated on my system where a partial that had been successfully staged failed during the apply phase. | Scalar Telemetry probe name | Value | +-----------------------------------------------------+----------+ | update.startup.from_app_version | 68.0a1 | | update.startup.mar_partial_size_bytes | 5597747 | | update.startup.mar_complete_size_bytes | 52520731 | | update.startup.intervals.check | 167 | | update.startup.intervals.download_internal_partial | 4 | | update.startup.intervals.download_internal_complete | 32 | | update.startup.intervals.stage_partial | 5 | | update.startup.intervals.stage_complete | 6 | | update.startup.intervals.apply_partial | 91 | | update.startup.intervals.apply_complete | 8 | | update.startup.downloads.internal_partial_bytes | 5597747 | | update.startup.downloads.internal_partial_seconds | 4 | | update.startup.downloads.internal_complete_bytes | 52520731 | | update.startup.downloads.internal_complete_seconds | 31 | +-----------------------------------------------------+----------+ | Scalar Telemetry probe name | Value | +-----------------------------------------------------+----------+ | update.startup.from_app_version | 68.0a1 | | update.startup.mar_partial_size_bytes | 5079059 | | update.startup.mar_complete_size_bytes | 52537067 | | update.startup.intervals.check | 36 | | update.startup.intervals.download_bits_partial | 3 | | update.startup.intervals.download_bits_complete | 24 | | update.startup.intervals.stage_partial | 5 | | update.startup.intervals.stage_complete | 7 | | update.startup.intervals.apply_partial | 81 | | update.startup.intervals.apply_complete | 19 | | update.startup.downloads.bits_partial_bytes | 5079059 | | update.startup.downloads.bits_partial_seconds | 1 | | update.startup.downloads.bits_complete_bytes | 52537067 | | update.startup.downloads.bits_complete_seconds | 24 | +-----------------------------------------------------+----------+ Below is a typical example using BITS without any failures. | Scalar Telemetry probe name | Value | +-----------------------------------------------------+----------+ | update.startup.from_app_version | 68.0a1 | | update.startup.mar_partial_size_bytes | 6383239 | | update.startup.mar_complete_size_bytes | 52539591 | | update.startup.intervals.check | 1 | | update.startup.intervals.download_bits_partial | 3 | | update.startup.intervals.stage_partial | 6 | | update.startup.intervals.apply_partial | 12486 | | update.startup.downloads.bits_partial_bytes | 6383239 | | update.startup.downloads.bits_partial_seconds | 2 | +-----------------------------------------------------+----------+
Some more notes The values for update.startup.intervals.check will typically be a small number. When it isn't the client will likely not have automatic updates enabled which would have immediately started the update download. Also, the value is not affected by BITS. The values for update.startup.intervals.download_<> are the time it took to complete the download either using the internal Firefox code or BITS. The values for update.startup.intervals.stage_<> represents the time it took to stage the update and the value isn't affected by BITS. No value represents that staging was not attempted (e.g. disabled by pref, requirements not met, etc.). The values for update.startup.intervals.apply_<> represents the time it took for the client to restart so the value can vary by quite a lot. This value isn't affected by BITS. When the client exits while downloading the number for update.startup.downloads.<>_bytes will be different than the value of update.startup.mar_<>_size_bytes values A couple of examples interpreting the data If there are values for: update.startup.downloads.bits_partial_seconds update.startup.downloads.internal_partial_seconds Without values for: update.startup.downloads.bits_complete_seconds update.startup.downloads.internal_complete_seconds This means: the BITS partial download failed the internal Firefox code partial download succeeded there should also be a value for update.startup.mar_complete_size_bytes since there should always be a complete update MAR file If there are values for: update.startup.downloads.bits_complete_seconds update.startup.downloads.internal_complete_seconds Without values for: update.startup.downloads.bits_partial_seconds update.startup.downloads.internal_partial_seconds This means: the BITS complete download failed the internal Firefox code complete download succeeded there was no partial update MAR file advertised which can also be determined by there not being a value for update.startup.mar_partial_size_bytes If there are values for: update.startup.downloads.bits_partial_seconds update.startup.downloads.bits_complete_seconds update.startup.intervals.stage_partial update.startup.intervals.stage_complete update.startup.intervals.apply_complete Without values for: update.startup.downloads.internal_partial_seconds update.startup.downloads.internal_complete_seconds update.startup.intervals.apply_partial This means: download of the partial using BITS succeeded download of the complete using BITS succeeded staging of the partial update failed staging of the complete update succeeded the complete update made it through to the end of the apply phase and whether it was successful or not can be determined by the value of the UPDATE_STATE_CODE_COMPLETE_STARTUP histogram. Below are two examples (one with BITS and one using the internal Firefox download code) of the telemetry submitted that I simulated on my system where a partial that had been successfully staged failed during the apply phase. ``` | Scalar Telemetry probe name | Value | +-----------------------------------------------------+----------+ | update.startup.from_app_version | 68.0a1 | | update.startup.mar_partial_size_bytes | 5597747 | | update.startup.mar_complete_size_bytes | 52520731 | | update.startup.intervals.check | 167 | | update.startup.intervals.download_internal_partial | 4 | | update.startup.intervals.download_internal_complete | 32 | | update.startup.intervals.stage_partial | 5 | | update.startup.intervals.stage_complete | 6 | | update.startup.intervals.apply_partial | 91 | | update.startup.intervals.apply_complete | 8 | | update.startup.downloads.internal_partial_bytes | 5597747 | | update.startup.downloads.internal_partial_seconds | 4 | | update.startup.downloads.internal_complete_bytes | 52520731 | | update.startup.downloads.internal_complete_seconds | 31 | +-----------------------------------------------------+----------+ ``` ``` | Scalar Telemetry probe name | Value | +-----------------------------------------------------+----------+ | update.startup.from_app_version | 68.0a1 | | update.startup.mar_partial_size_bytes | 5079059 | | update.startup.mar_complete_size_bytes | 52537067 | | update.startup.intervals.check | 36 | | update.startup.intervals.download_bits_partial | 3 | | update.startup.intervals.download_bits_complete | 24 | | update.startup.intervals.stage_partial | 5 | | update.startup.intervals.stage_complete | 7 | | update.startup.intervals.apply_partial | 81 | | update.startup.intervals.apply_complete | 19 | | update.startup.downloads.bits_partial_bytes | 5079059 | | update.startup.downloads.bits_partial_seconds | 1 | | update.startup.downloads.bits_complete_bytes | 52537067 | | update.startup.downloads.bits_complete_seconds | 24 | +-----------------------------------------------------+----------+ ``` Below is a typical example using BITS without any failures. ``` | Scalar Telemetry probe name | Value | +-----------------------------------------------------+----------+ | update.startup.from_app_version | 68.0a1 | | update.startup.mar_partial_size_bytes | 6383239 | | update.startup.mar_complete_size_bytes | 52539591 | | update.startup.intervals.check | 1 | | update.startup.intervals.download_bits_partial | 3 | | update.startup.intervals.stage_partial | 6 | | update.startup.intervals.apply_partial | 12486 | | update.startup.downloads.bits_partial_bytes | 6383239 | | update.startup.downloads.bits_partial_seconds | 2 | +-----------------------------------------------------+----------+ ```