68 KiB
Metrics
This document enumerates the metrics collected by this project. This project may depend on other projects which also collect metrics. This means you might have to go searching through the dependency tree to get a full picture of everything collected by this project.
Pings
activation
This ping is intended to provide a measure of the activation of mobile products. It's generated when Fenix starts, right after Glean is initialized. It doesn't include the client_id, since it might be reporting an hashed version of the Google Advertising ID.
Data reviews for this ping:
Bugs related to this ping:
- 1538011
- 1501822
The following metrics are added to the ping:
| Name | Type | Description | Data reviews | Extras | Expiration | Data Sensitivity | | --- | --- | --- | --- | --- | --- | | activation.activation_id |uuid |An alternate identifier, not correlated with the client_id, generated once and only sent with the activation ping. |1||2020-10-01 | | | activation.identifier |string |A hashed and salted version of the Google Advertising ID from the device. This will never be sent in a ping that also contains the client_id. |1||2020-10-01 | |
events
This is a built-in ping that is assembled out of the box by the Glean SDK.
See the Glean SDK documentation for the events
ping.
The following metrics are added to the ping:
| Name | Type | Description | Data reviews | Extras | Expiration | Data Sensitivity | | --- | --- | --- | --- | --- | --- | | about_page.libraries_tapped |event |A user tapped on "Libraries that we use" item from About page |1||2020-10-01 | | | about_page.licensing_tapped |event |A user tapped on "Licensing information" item from About page |1||2020-10-01 | | | about_page.privacy_notice_tapped |event |A user tapped on "Privacy notice" item from About page |1||2020-10-01 | | | about_page.rights_tapped |event |A user tapped on "Know your rights" item from About page |1||2020-10-01 | | | about_page.support_tapped |event |A user tapped on "Support" item from About page |1||2020-10-01 | | | addons.open_addon_in_toolbar_menu |event |A user interacted with an installed add-on in the toolbar menu |1|
- addon_id: The id of the add-on that was interacted with in the toolbar menu
- source: The source from where dark theme was selected. The source can be 'SETTINGS' or 'ONBOARDING'
- from_screen: A string representing the screen from which the user pressed the save button. Currently one of:
browserMenu
,homeMenu
orhome
- tabs_open: The number of tabs open in the current session
- tabs_selected: The number of tabs added to the collection
- tabs_open: The number of tabs open in the current session
- tabs_selected: The number of tabs added to the collection
- named: The name of the item that was tapped. Available items are:
open_in_new_tab, open_in_private_tab, open_image_in_new_tab, save_image, share_link, copy_link, copy_image_location
- crash_submitted: A boolean that tells us whether or not the user submitted a crash report
- error_type: The error type of the error page encountered
- source: The method used to open Fenix. Possible values are:
app_icon
,custom_tab
orlink
- source: The method used to open Fenix. Possible values are
app_icon
,custom_tab
,link
orunknown
- item: A string containing the name of the item the user tapped. These items include: Settings, Help, Desktop Site toggle on/off, Find in Page, New Tab, Private Tab, Share, Report Site Issue, Back/Forward button, Reload Button, Quit, Reader Mode On, Reader Mode Off, Open In app, Add To Top Sites, Add-ons Manager, Bookmarks, History
- autocomplete: A boolean that tells us whether the URL was autofilled by an Autocomplete suggestion
- mode: The mode the link was opened in. Either 'PRIVATE' or 'NORMAL'.
- source: A string that tells us how the user performed the search. Possible values are: * default.action * default.suggestion * shortcut.action * shortcut.suggestion
- enabled: Whether or not the preference is now enabled
- preference_key: The preference key for the boolean (true/false) preference the user toggled. We currently track: show_search_suggestions, remote_debugging, telemetry, tracking_protection, search_bookmarks, search_browsing_history, show_clipboard_suggestions, show_search_shortcuts, open_links_in_a_private_tab (bug in implementation https://github.com/mozilla-mobile/fenix/issues/7384), pref_key_sync_logins, pref_key_sync_bookmarks, pref_key_sync_history, pref_key_show_voice_search, and pref_key_show_search_suggestions_in_private.
- source: The view the user was on when they initiated the search (For example:
Home
orBrowser
)
- item: A string containing the name of the item the user tapped. These items are: New tab, New private tab, Close tab
- setting: The new setting for saving logins the user selected. Either
ask_to_save
ornever_save
- theme: A string that indicates the theme LIGHT, DARK, or FOLLOW DEVICE. Default: FOLLOW DEVICE
- position: A string that indicates the position of the toolbar TOP or BOTTOM. Default: BOTTOM
- setting: A string that indicates the Tracking Protection policy STANDARD or STRICT. Default: Toggle ON, STANDARD
- engine: The name of the built-in search engine the user selected as a string
- identifier: The identifier of the tip closed
- identifier: The identifier of the tip displayed
- identifier: The identifier of the tip the action was taken on
- position: A string that indicates the new position of the toolbar TOP or BOTTOM
- etp_setting: The new setting for ETP: strict, standard, custom
first-session
This ping is intended to capture the source of the app install on the first session.
This ping includes the client id.
Data reviews for this ping:
Bugs related to this ping:
The following metrics are added to the ping:
| Name | Type | Description | Data reviews | Extras | Expiration | Data Sensitivity | | --- | --- | --- | --- | --- | --- | | first_session.adgroup |string |The name of the AdGroup that was used to source this installation. |1||2020-10-01 | | | first_session.campaign |string |The name of the campaign that is responsible for this installation. |1||2020-10-01 | | | first_session.creative |string |The identifier of the creative material that the user interacted with. |1||2020-10-01 | | | first_session.network |string |The name of the Network that sourced this installation. |1||2020-10-01 | | | first_session.timestamp |datetime |The Glean generated date and time of the installation. This is unique per app install, though the rest of the data in this ping is from Adjust and will remain static across installs. |1||2020-10-01 | |
metrics
This is a built-in ping that is assembled out of the box by the Glean SDK.
See the Glean SDK documentation for the metrics
ping.
The following metrics are added to the ping:
| Name | Type | Description | Data reviews | Extras | Expiration | Data Sensitivity |
| --- | --- | --- | --- | --- | --- |
| addons.enabled_addons |string_list |A list of all enabled add-ons on the device. |1||2020-10-01 | |
| addons.has_enabled_addons |boolean |Whether or not the user has enabled add-ons on the device. |1||2020-10-01 | |
| addons.has_installed_addons |boolean |Whether or not the user has installed add-ons on the device. |1||2020-10-01 | |
| addons.installed_addons |string_list |A list of all installed add-ons on the device. |1||2020-10-01 | |
| browser.search.ad_clicks |labeled_counter |Records clicks of adverts on SERP pages. The key format is ‘’. |1||2020-10-01 | |
| browser.search.in_content |labeled_counter |Records the type of interaction a user has on SERP pages. |1||2020-10-01 | |
| browser.search.with_ads |labeled_counter |Records counts of SERP pages with adverts displayed. The key format is ‘’. |1||2020-10-01 | |
| events.total_uri_count |counter |A counter of URIs visited by the user in the current session, including page reloads. This does not include background page requests and URIs from embedded pages or private browsing but may be incremented without user interaction by website scripts that programmatically redirect to a new location. |1, 2||2020-10-01 | |
| metrics.adjust_ad_group |string |A string containing the Adjust ad group ID from which the user installed Fenix. This will not send on the first session the user runs. If the install is organic, this will be empty. |1||2020-10-01 | |
| metrics.adjust_campaign |string |A string containing the Adjust campaign ID from which the user installed Fenix. This will not send on the first session the user runs. If the install is organic, this will be empty. |1||2020-10-01 | |
| metrics.adjust_creative |string |A string containing the Adjust creative ID from which the user installed Fenix. This will not send on the first session the user runs. If the install is organic, this will be empty. |1||2020-10-01 | |
| metrics.adjust_network |string |A string containing the Adjust network ID from which the user installed Fenix. This will not send on the first session the user runs. If the install is organic, this will be empty. |1||2020-10-01 | |
| metrics.default_browser |boolean |Is Fenix the default browser? |1||2020-10-01 | |
| metrics.default_moz_browser |string |The name of the default browser on device if and only if it's a Mozilla owned product |1, 2||2020-10-01 | |
| metrics.has_open_tabs |boolean |A boolean that indicates if the user has any open NORMAL tabs. |1||2020-10-01 | |
| metrics.has_recent_pwas |boolean |A boolean that indicates if the user has recently used PWAs. See recently_used_pwa_count for the actual count. |1||2020-12-01 | |
| metrics.has_top_sites |boolean |A boolean that indicates if the user has top sites |1||2020-10-01 | |
| metrics.mozilla_products |string_list |A list of all the Mozilla products installed on device. We currently scan for: Firefox, Firefox Beta, Firefox Aurora, Firefox Nightly, Firefox Fdroid, Firefox Lite, Reference Browser, Reference Browser Debug, Fenix, Focus, and Lockwise. |1, 2||2020-10-01 | |
| metrics.recently_used_pwa_count |counter |A counter that indicates how many PWAs a user has recently used. Threshold for "recency" set in HomeActivity#PWA_RECENTLY_USED_THRESHOLD. Currently we are not told by the OS when a PWA is removed by the user, so we use the "recently used" heuristic to judge how many PWAs are still active, as a proxy for "installed". This value will only be set if the user has at least one recently used PWA. If they have 0, this metric will not be sent, resulting in a null value during analysis on the server-side. To disambiguate between a failed recently_used_pwa_count
metric and 0 recent PWAs, please see has_recent_pwas
. |1||2020-12-01 | |
| metrics.search_count |labeled_counter |The labels for this counter are <search-engine-name>.<source>
. If the search engine is bundled with Fenix search-engine-name
will be the name of the search engine. If it's a custom search engine (defined: https://github.com/mozilla-mobile/fenix/issues/1607) the value will be custom
. source
will be: action
, suggestion
, widget
or shortcut
(depending on the source from which the search started). Also added the other
option for the source but it should never enter on this case. |1, 2, 3||2020-10-01 | |
| metrics.search_widget_installed |boolean |Whether or not the search widget is installed |1||2020-10-01 | |
| metrics.tabs_open_count |counter |A counter that indicates how many NORMAL tabs a user has open. This value will only be set if the user has at least one open tab. If they have 0, this ping will not get sent, resulting in a null value. To disambiguate between a failed tabs_open_count
ping and 0 open tabs, please see has_open_tabs
. |1||2020-10-01 | |
| metrics.toolbar_position |string |A string that indicates the new position of the toolbar TOP or BOTTOM |1||2020-10-01 | |
| metrics.top_sites_count |counter |A counter that indicates how many top sites a user has. This value will only be set if the user has at least one top site. If they have 0, this ping will not get sent, resulting in a null value. To disambiguate between a failed top_sites_count
ping and 0 top sites, please see has_top_sites
. |1||2020-10-01 | |
| perf.awesomebar.bookmark_suggestions |timing_distribution |Duration of a bookmarks awesomebar suggestion query. |1||2020-10-01 | |
| perf.awesomebar.clipboard_suggestions |timing_distribution |Duration of a clipboard awesomebar suggestion query. |1||2020-10-01 | |
| perf.awesomebar.history_suggestions |timing_distribution |Duration of a history awesomebar suggestion query. |1||2020-10-01 | |
| perf.awesomebar.search_engine_suggestions |timing_distribution |Duration of a search engine awesomebar suggestion query. |1||2020-10-01 | |
| perf.awesomebar.session_suggestions |timing_distribution |Duration of a session awesomebar suggestion query. |1||2020-10-01 | |
| perf.awesomebar.shortcuts_suggestions |timing_distribution |Duration of a shortcuts awesomebar suggestion query. |1||2020-10-01 | |
| perf.awesomebar.synced_tabs_suggestions |timing_distribution |Duration of a synced tabs awesomebar suggestion query. |1||2020-10-01 | |
| preferences.accessibility_services |string_list |Whether or not the user has touch exploration or switch services enabled. These are built into the Android OS, not Fenix prefs. default: "" |1||2020-10-01 | |
| preferences.open_links_in_a_private_tab |string_list |Whether or not the user has enabled open links in a private tab. default: false |1||2020-10-01 | |
| preferences.open_links_in_app |string_list |Whether or not the user has the open links in apps feature enabled. default: false |1||2020-10-01 | |
| preferences.remote_debugging |string_list |Whether or not the user has remote debugging enabled default: false |1||2020-10-01 | |
| preferences.search_bookmarks |string_list |Whether or not the user has enabled bookmark search suggestions default: true |1||2020-10-01 | |
| preferences.search_browsing_history |string_list |Whether or not the user has enabled browsing history suggestions. default: true |1||2020-10-01 | |
| preferences.search_suggestions_private |string_list |Whether or not the user has enabled showing search suggestions in private mode. default: false (we prompt the user, asking them to make a selection) |1||2020-10-01 | |
| preferences.show_clipboard_suggestions |string_list |Whether or not the user has enabled clipboard search suggestions. default: true |1||2020-10-01 | |
| preferences.show_search_shortcuts |string_list |Whether or not the user has enabled search shortcuts. default: true |1||2020-10-01 | |
| preferences.show_search_suggestions |string_list |Whether or not the user has search suggestions enabled default: true |1||2020-10-01 | |
| preferences.show_voice_search |string_list |Whether or not the user has enabled the voice search button. default: true |1||2020-10-01 | |
| preferences.sync |string_list |Whether or not the user is signed into FxA default: false |1||2020-10-01 | |
| preferences.sync_items |string_list |The list of items the user has chosen to sync with FxA. default: "" if the user is signed out. Otherwise defaults to whatever is set in their FxA account. New accounts set: [bookmarks, history, passwords, tabs] |1||2020-10-01 | |
| preferences.telemetry |string_list |Whether or not the user has telemetry enabled. Note we should never receive a "false" value for this since telemetry would not send in that case. default: true |1||2020-10-01 | |
| preferences.theme |string_list |The theme the user has enabled. "light," "dark," "system," or "battery" default: "system" for API 28+, else "light" |1||2020-10-01 | |
| preferences.toolbar_position |string_list |The position of the toolbar default: bottom (defaults to top if the user has accessibility services) |1||2020-10-01 | |
| preferences.tracking_protection |string_list |What type of enhanced tracking protection the user has enabled. "standard," "strict," "custom," or "" (if disabled) default: "standard" |1||2020-10-01 | |
| search.default_engine.code |string |If the search engine is pre-loaded with Fenix this value will be the search engine identifier. If it's a custom search engine (defined: https://github.com/mozilla-mobile/fenix/issues/1607) the value will be "custom" |1, 2||2020-10-01 | |
| search.default_engine.name |string |If the search engine is pre-loaded with Fenix this value will be the search engine name. If it's a custom search engine (defined: https://github.com/mozilla-mobile/fenix/issues/1607) the value will be "custom" |1, 2||2020-10-01 | |
| search.default_engine.submission_url |string |If the search engine is pre-loaded with Fenix this value will be he base URL we use to build the search query for the search engine. For example: https://mysearchengine.com/?query=%s. If it's a custom search engine (defined: https://github.com/mozilla-mobile/fenix/issues/1607) the value will be "custom" |1, 2||2020-10-01 | |
startup-timeline
This ping is intended to provide an understanding of startup performance.
The ping is intended to be captured by performance testing automation to report results there, in addition to user telemetry. We place these metrics into their own ping in order to isolate them and make this process easier.
Data reviews for this ping:
Bugs related to this ping:
The following metrics are added to the ping:
| Name | Type | Description | Data reviews | Extras | Expiration | Data Sensitivity |
| --- | --- | --- | --- | --- | --- |
| startup.timeline.clock_ticks_per_second |counter |The number of clock tick time units that occur in one second on this particular device. This value is expected to be used in conjunction with the framework_start
metric. |1||2020-10-01 | |
| startup.timeline.framework_start |timespan |The duration the Android framework takes to start before letting us run code in *Application.init
. This is calculated from appInitTimestamp - processStartTimestamp
. processStartTimestamp
is derived from the clock tick time unit, which is expected to be less granular than nanoseconds. Therefore, we convert and round our timestamps to clock ticks before computing the difference and convert back to nanoseconds to report. For debugging purposes, clock_ticks_per_second
, which may vary between devices, is also reported as a metric |1||2020-10-01 | |
| startup.timeline.framework_start_error |boolean |An error when attempting to record framework_start
- the application init timestamp returned a negative value - which is likely indicative of a bug in the implementation. |1||2020-10-01 | |
| startup.timeline.framework_start_read_error |boolean |An error when attempting to read stats from /proc pseudo-filesystem - privacy managers can block access to reading these files - the application will catch a file reading exception. |1||2020-10-01 | |
Data categories are defined here.