-
Notifications
You must be signed in to change notification settings - Fork 217
Telemetry
For clients that have "send anonymous usage data" enabled, Firefox Reality sends a "core" ping and an "event" ping to Mozilla's telemetry service. Sending telemetry can be disabled in the app's settings. Builds of Firefox Reality have telemetry enabled by default ("opt-out").
Firefox Reality creates and tries to send a "core" ping whenever the app is started or goes to the background. This core ping uses the same format as Firefox for Android and is documented on firefox-source-docs.mozilla.org.
Event | location | identifier |
---|---|---|
Record Search | actionbar | search engine |
In addition to the core ping an event ping for UI telemetry is generated and sent as soon as the app is sent to the background.
Event | category | method | object | value |
---|---|---|---|---|
Start session (App is in the foreground) | action | foreground | app | |
Stop session (App is in the background) | action | background | app |
Event | category | method | object | value | extras |
---|---|---|---|---|---|
URL entered | action | type_url | search_bar | ||
Search entered | action | type_query | search_bar | bundled engine name |
Event | category | method | object | extras |
---|---|---|---|---|
Histogram for Page Load Times for Foreground Session | histogram | foreground | browser | histogram* |
(*) There are 200 extras attached to this event, each a bucket of 100 ms each, with the key as the minimum value in the bucket and the value as the corresponding number of events in the bucket. Anything over 20,000 is put in the last bucket. For example:
{”0":"2"}
{“100”:"3"}
...
{"19900", "4"}
Event | category | method | object | extras |
---|---|---|---|---|
Histogram for Times spent in Immersive Mode | histogram | immersive_mode | browser | histogram* |
(*) There are 200 extras attached to this event, each a bucket of 10000 ms each, with the key as the minimum value in the bucket and the value as the corresponding number of events in the bucket. Anything over 200,000 is put in the last bucket. For example:
{”0":"2"}
{“100”:"3"}
...
{"199000", "4"}
Event | Category | Method | Object | Extra |
---|---|---|---|---|
The count of the total non-unique http(s) URIs visited in a subsession, including page reloads, after the session has been restored. This does not include background page requests and URIs from embedded pages or private browsing | action | open | browser | total_uri_count |
The count of the unique domains visited in a subsession, after the session has been restored. Subdomains under eTLD are aggregated after the first level (i.e. test.example.com and other.example.com are only counted once). This does not include background page requests and domains from embedded pages or private browsing. | action | open | browser | unique_domains_count |
Event | Category | Method | Object | value | Extra |
---|---|---|---|---|---|
Search used voice input | action | voice_query | voice_input | bundled engine name |
Event | Category | Method | Object | Extra |
---|---|---|---|---|
How long is a window open for | histogram | window_lifetime | Window | histogram* |
Frequency of window moves per session | action | windows_move_freq | Window | {"windows_moves_count": num } |
Frequency of window resizes per session | action | windows_resize_freq | Window | {"windows_resize_count": num } |
Time spent in active window position, per session | action | place_active_time | Window | {"left_window_active_time": num, "front_window_active_time": num, "right_window_active_time": num } |
How long are one, two or three windows open, per session | action | open_windows_time | Window | {"one_w_open_time": num, "two_w_open_time": num, "three_w_open_time": num } |
How many windows are open at a time, per session | action | windows_open_w | Window | {"one_w_open": num, "two_w_open": num, "three_w_open": num, "one_pri_w_open": num, "two_pri_w_open": num, "thr_pri_w_open": num} |
(*) There are 200 extras attached to this event, each a bucket of 1000 ms each, with the key as the minimum value in the bucket and the value as the corresponding number of events in the bucket. Anything over 200,000 is put in the last bucket.
This ping is the first ping to be sent when the user enables the Telemetry and the last one when the user disables it.
Event | Category | Method | Object | Extra | |
---|---|---|---|---|---|
Current status of the telemetry | action | telemetry_status | App | {"telemetry_status": boolean } |
No limits are set to the number of pings we send.
Firefox Reality is using Glean component to replace the existing system. Pings are defined by the Glean component and documented in the Glean repository. The list of metrics being collected is available in the metrics. The data is reviewed at this link.
Firefox Reality uses components from Mozilla Android Components. Some of them are using Glean as the tool to do data collection.
- Sync Storage - A syncable implementation of concept-storage and documented in storage-sync. The list of metrics being collected is available in the metrics. The data is reviewed at this link.
- Firefox accounts - A library for integrating with Firefox Accounts and documented in firefox-accounts. The list of metrics being collected is available in the metrics. The data is reviewed at this link.