Bug 1249073 - main-ping fields with undocumented structure. r=gfritzsche
authorAlessio Placitelli <alessio.placitelli@gmail.com>
Mon, 29 Feb 2016 06:47:00 -0500
changeset 322360 04634ec900b2fb94962733148ecdeac7ae98e0e2
parent 322359 37ca88b45a72c955fda3069a4f9eb2b2e3d04b0a
child 322361 2dc35ef10107dba0e719c458cbc6bf4a6de70835
push id5913
push userjlund@mozilla.com
push dateMon, 25 Apr 2016 16:57:49 +0000
treeherdermozilla-beta@dcaf0a6fa115 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgfritzsche
bugs1249073
milestone47.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1249073 - main-ping fields with undocumented structure. r=gfritzsche
toolkit/components/telemetry/docs/main-ping.rst
--- a/toolkit/components/telemetry/docs/main-ping.rst
+++ b/toolkit/components/telemetry/docs/main-ping.rst
@@ -278,17 +278,17 @@ Structure::
         ... other data ...
       ],
       ...
     ]
 
 
 webrtc
 ------
-Contains special statistics gathered by WebRTC releated components.
+Contains special statistics gathered by WebRTC related components.
 
 So far only a bitmask for the ICE candidate type present in a successful or
 failed WebRTC connection is getting reported through C++ code as
 IceCandidatesStats, because the required bitmask is too big to be represented
 in a regular enum histogram. Further this data differentiates between Loop
 (aka Firefox Hello) connections and everything else, which is categorized as
 WebRTC.
 
@@ -336,29 +336,110 @@ Structure::
         stats, // Number of stat operations
       ],
       "{profile}": [ ... ],
       ...
     }
 
 lateWrites
 ----------
-This sections reports writes to the file system that happen during shutdown.
+This sections reports writes to the file system that happen during shutdown. The reported data contains the stack and the loaded libraries at the time the writes happened.
+
+Structure::
+
+    "lateWrites" : {
+      "memoryMap" : [
+        ["wgdi32.pdb", "08A541B5942242BDB4AEABD8C87E4CFF2"],
+        ... other entries in the format ["module name", "breakpad identifier"] ...
+       ],
+      "stacks" : [
+        [
+          [
+            0, // the module index or -1 for invalid module indices
+            190649 // the offset of this program counter in its module or an absolute pc
+          ],
+          [1, 2540075],
+          ... other frames ...
+         ],
+         ... other stacks ...
+      ],
+    },
 
 addonDetails
 ------------
-This section contains per-addon telemetry details, as reported by each addon provider.
+This section contains per-addon telemetry details, as reported by each addon provider. The XPI provider is the only one reporting at the time of writing (`see DXR <https://dxr.mozilla.org/mozilla-central/search?q=setTelemetryDetails&case=true>`_). Telemetry does not manipulate or enforce a specific format for the supplied provider's data.
+
+Structure::
+
+    "addonDetails": {
+      "XPI": {
+        "adbhelper@mozilla.org": {
+          "scan_items": 24,
+          "scan_MS": 3,
+          "location": "app-profile",
+          "name": "ADB Helper",
+          "creator": "Mozilla & Android Open Source Project",
+          "startup_MS": 30
+        },
+        ...
+      },
+      ...
+    }
 
 addonHistograms
 ---------------
 This section contains the histogram registered by the addons (`see here <https://dxr.mozilla.org/mozilla-central/rev/584870f1cbc5d060a57e147ce249f736956e2b62/toolkit/components/telemetry/nsITelemetry.idl#303>`_). This section is not present if no addon histogram is available.
 
 UITelemetry
 -----------
 See the ``UITelemetry data format`` documentation.
 
 slowSQL
 -------
 This section contains the informations about the slow SQL queries for both the main and other threads. The execution of an SQL statement is considered slow if it takes 50ms or more on the main thread or 100ms or more on other threads. Slow SQL statements will be automatically trimmed to 1000 characters. This limit doesn't include the ellipsis and database name, that are appended at the end of the stored statement.
 
+Structure::
+
+    "slowSQL": {
+      "mainThread": {
+        "Sanitized SQL Statement": [
+          1, // the number of times this statement was hit
+          200  // the total time (in milliseconds) that was spent on this statement
+        ],
+        ...
+      },
+      "otherThreads": {
+        "VACUUM /* places.sqlite */": [
+          1,
+          330
+        ],
+        ...
+      }
+    },
+
 slowSQLStartup
 --------------
-This section contains the slow SQL statements gathered at startup (until the "sessionstore-windows-restored" event is fired).
+This section contains the slow SQL statements gathered at startup (until the "sessionstore-windows-restored" event is fired). The structure of this section resembles the one for `slowSQL`_.
+
+UIMeasurements
+--------------
+This section contains UI specific telemetry measurements and events. This section is mainly populated with Android-specific data and events (`see here <https://dxr.mozilla.org/mozilla-central/search?q=regexp%3AUITelemetry.%28addEvent|startSession|stopSession%29&redirect=false&case=false>`_).
+
+Structure::
+
+    "UIMeasurements": [
+      {
+        "type": "event", // either "session" or "event"
+        "action": "action.1",
+        "method": "menu",
+        "sessions": [],
+        "timestamp": 12345,
+        "extras": "settings"
+      },
+      {
+        "type": "session",
+        "name": "awesomescreen.1",
+        "reason": "commit",
+        "start": 123,
+        "end": 456
+      }
+      ...
+    ],