Common ping format ================== This defines the top-level structure of a Telemetry ping. It contains basic information shared between different ping types, which enables proper storage and processing of the raw pings server-side. It also contains optional further information: * the :doc:`environment data <../data/environment>`, which contains important info to correlate the measurements against * the ``clientId``, a UUID identifying a profile and allowing user-oriented correlation of data *Note:* Both are not submitted with all ping types due to privacy concerns. This and the data it that can be correlated against is inspected under the `data collection policy `_. Finally, the structure also contains the `payload`, which is the specific data submitted for the respective *ping type*. Structure: .. code-block:: js { type: , // "main", "activation", "optout", "saved-session", ... id: , // a UUID that identifies this ping creationDate: , // the date the ping was generated version: , // the version of the ping format, currently 4 application: { architecture: , // build architecture, e.g. x86 buildId: , // "20141126041045" name: , // "Firefox" version: , // "35.0" displayVersion: , // "35.0b3" vendor: , // "Mozilla" platformVersion: , // "35.0" xpcomAbi: , // e.g. "x86-msvc" channel: , // "beta" }, clientId: , // optional environment: { ... }, // optional, not all pings contain the environment payload: { ... }, // the actual payload data for this ping type }