Bug 1364478 - Add edge case documentation for the 'new-profile' ping. r?gfritzsche draft
authorAlessio Placitelli <alessio.placitelli@gmail.com>
Tue, 16 May 2017 09:37:12 +0200
changeset 581103 4ca6fcf3c28a24ab0b5c30ef1bcd15efe4901318
parent 577862 0f4df67c5f162e00d6f52825badf468aefbfba19
child 629486 10082ad1282bf3216224e7cc3da33fa03802b744
push id59769
push useralessio.placitelli@gmail.com
push dateFri, 19 May 2017 08:51:03 +0000
reviewersgfritzsche
bugs1364478
milestone55.0a1
Bug 1364478 - Add edge case documentation for the 'new-profile' ping. r?gfritzsche MozReview-Commit-ID: 2sJuJuLELf2
toolkit/components/telemetry/docs/data/new-profile-ping.rst
--- a/toolkit/components/telemetry/docs/data/new-profile-ping.rst
+++ b/toolkit/components/telemetry/docs/data/new-profile-ping.rst
@@ -32,8 +32,30 @@ startup. If it contains ``shutdown``, th
 ping was scheduled. In the latter case, the ping is generated during shutdown and sent
 using the :doc:`../internals/pingsender`.
 
 Duplicate pings
 ---------------
 We expect a low fraction of duplicates of this ping, mostly due to crashes happening
 right after sending the ping and before the telemetry state gets flushed to the disk. This should
 be fairly low in practice and manageable during the analysis phase.
+
+Expected behaviours
+-------------------
+The following is a list of conditions and expected behaviours for the ``new-profile`` ping:
+
+- **The ping is generated at the browser shutdown on a new profile, after the privacy policy is displayed:**
+
+  - *for an user initiated browser shutdown*, ``new-profile`` is sent immediately using the :doc:`../internals/pingsender`;
+  - *for a browser shutdown triggered by OS shutdown*, ``new-profile`` is saved to disk and sent next time the browser restarts.
+- **The ping is generated before the privacy policy is displayed**: ``new-profile`` is saved to disk and sent
+  next time the browser restarts.
+- **The ping is set to be generated and Telemetry is disabled**: ``new-profile`` is never sent, even if Telemetry is
+  turned back on later.
+- **Firefox crashes before the ping can be generated**: ``new-profile`` will be scheduled to be generated and
+  sent again on the next restart.
+- **User performs a profile refresh**:
+
+  - *the ping was already sent*: ``new-profile`` will not be sent again.
+  - *the ping was not sent*: ``new-profile`` will be generated and sent.
+  - *the refresh happens immediately after the profile creation, before the policy is shown*: ``new-profile`` will not be sent again.
+- **Firefox is run with an old profile that already sent Telemetry data**: ``new-profile`` will not be generated
+  nor sent.