Saptarshi, I'm just about done with the implementation and changed a couple of things. Since it isn't possible to guarantee the bytes per second for the full download and it is possible that the time recording the download is extremely small I decided to go with recording the number of seconds spent recording the download and the number of bytes downloaded during that period. This makes it possible to exclude records based off of the time spent recording the download, the number of bytes downloaded, or both if desired. This will of course require dividing the bytes downloaded by the seconds downloading when querying telemetry. Since a BITS update download can fallback to an in Firefox update download I am going to add data so it is possible to tell if the update download was done using BITS, Firefox, or BITS with a fallback to Firefox. I went with only recording successful updates since a successful update only occurs after restarting and scalars can only be recorded once per session. This way there won't be any chance of records being overwritten. The MAR file size for the entire download will still be recorded as well. The other data points mentioned will still be recorded at the same time after a successful update. Is this acceptable for you?
Bug 1528278 Comment 13 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Saptarshi, I'm just about done with the implementation and changed a couple of things. Since it isn't possible to guarantee the bytes per second for the full download and it is possible that the time recording the download is extremely small I decided to go with recording the number of seconds spent recording the download and the number of bytes downloaded during that period. This makes it possible to exclude records based off of the time spent recording the download, the number of bytes downloaded, or both if desired. This will of course require dividing the bytes downloaded by the seconds downloading when querying telemetry. Since a BITS update download can fallback to an in Firefox update download I am going to add a new data point so it is possible to tell if the update download was done using BITS, Firefox, or BITS then falling back to Firefox. I went with only recording successful updates since a successful update only occurs after restarting and scalars can only be recorded once per session. This way there won't be any chance of records being overwritten. The MAR file size for the entire download will still be recorded as well. The other data points mentioned will still be recorded at the same time after a successful update. Is this acceptable for you?