diff --git a/fenix/views/marketing_attributable_metrics_table.view.lkml b/fenix/views/marketing_attributable_metrics_table.view.lkml new file mode 100644 index 000000000..144487ad6 --- /dev/null +++ b/fenix/views/marketing_attributable_metrics_table.view.lkml @@ -0,0 +1,90 @@ + +# *Do not manually modify this file* +# +# This file has been generated via https://github.com/mozilla/lookml-generator +# You can extend this view in the looker-spoke-default project (https://github.com/mozilla/looker-spoke-default) + +view: marketing_attributable_metrics_table { + dimension: ad_clicks { + sql: ${TABLE}.ad_clicks ;; + type: number + } + + dimension: adjust_adgroup { + sql: ${TABLE}.adjust_adgroup ;; + type: string + } + + dimension: adjust_campaign { + sql: ${TABLE}.adjust_campaign ;; + type: string + } + + dimension: adjust_creative { + sql: ${TABLE}.adjust_creative ;; + type: string + } + + dimension: adjust_network { + sql: ${TABLE}.adjust_network ;; + type: string + } + + dimension: client_id { + sql: ${TABLE}.client_id ;; + hidden: yes + } + + dimension: country { + sql: ${TABLE}.country ;; + type: string + map_layer_name: countries + } + + dimension: dau { + sql: ${TABLE}.dau ;; + type: number + } + + dimension: new_profiles { + sql: ${TABLE}.new_profiles ;; + type: number + } + + dimension: search_count { + sql: ${TABLE}.search_count ;; + type: number + } + + dimension_group: cohort { + sql: ${TABLE}.cohort_date ;; + type: time + timeframes: [ + raw, + date, + week, + month, + quarter, + year, + ] + convert_tz: no + datatype: date + } + + dimension_group: submission { + sql: ${TABLE}.submission_date ;; + type: time + timeframes: [ + raw, + date, + week, + month, + quarter, + year, + ] + convert_tz: no + datatype: date + } + + sql_table_name: `mozdata.fenix.marketing_attributable_metrics` ;; +} \ No newline at end of file diff --git a/focus_android/views/metrics.view.lkml b/focus_android/views/metrics.view.lkml index 5d6e45ed9..da8c3bb7a 100644 --- a/focus_android/views/metrics.view.lkml +++ b/focus_android/views/metrics.view.lkml @@ -1904,6 +1904,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ dimension: additional_properties { sql: ${TABLE}.additional_properties ;; hidden: yes + description: "A JSON string containing any payload properties not present in the schema" } dimension: client_info__android_sdk_version { @@ -1911,6 +1912,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Android Sdk Version" + description: "The optional Android specific SDK version of the software running on this hardware device." } dimension: client_info__app_build { @@ -1918,6 +1920,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "App Build" + description: "The build identifier generated by the CI system (e.g. \"1234/A\"). For language bindings that provide automatic detection for this value, (e.g. Android/Kotlin), in the unlikely event that the build identifier can not be retrieved from the OS, it is set to \"inaccessible\". For other language bindings, if the value was not provided through configuration, this metric gets set to `Unknown`." } dimension: client_info__app_channel { @@ -1925,6 +1928,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "App Channel" + description: "The channel the application is being distributed on." } dimension: client_info__app_display_version { @@ -1932,6 +1936,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "App Display Version" + description: "The user visible version string (e.g. \"1.0.3\"). In the unlikely event that the display version can not be retrieved, it is set to \"inaccessible\"." } dimension: client_info__architecture { @@ -1939,6 +1944,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Architecture" + description: "The architecture of the device, (e.g. \"arm\", \"x86\")." } dimension: client_info__build_date { @@ -1946,11 +1952,13 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Build Date" + description: "The date & time the application was built" } dimension: client_info__client_id { sql: ${TABLE}.client_info.client_id ;; hidden: yes + description: "A UUID uniquely identifying the client." } dimension: client_info__device_manufacturer { @@ -1958,6 +1966,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Device Manufacturer" + description: "The manufacturer of the device the application is running on. Not set if the device manufacturer can't be determined (e.g. on Desktop)." } dimension: client_info__device_model { @@ -1965,6 +1974,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Device Model" + description: "The model of the device the application is running on. On Android, this is Build.MODEL, the user-visible marketing name, like \"Pixel 2 XL\". Not set if the device model can't be determined (e.g. on Desktop)." } dimension: client_info__first_run_date { @@ -1972,6 +1982,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "First Run Date" + description: "The date of the first run of the application." } dimension: client_info__locale { @@ -1979,6 +1990,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Locale" + description: "The locale of the application during initialization (e.g. \"es-ES\"). If the locale can't be determined on the system, the value is [\"und\"](https://unicode.org/reports/tr35/#Unknown_or_Invalid_Identifiers), to indicate \"undetermined\"." } dimension: client_info__os { @@ -1986,6 +1998,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Os" + description: "The name of the operating system. Possible values: Android, iOS, Linux, Darwin, Windows, FreeBSD, NetBSD, OpenBSD, Solaris, unknown" } dimension: client_info__os_version { @@ -1993,6 +2006,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Os Version" + description: "The user-visible version of the operating system (e.g. \"1.2.3\"). If the version detection fails, this metric gets set to `Unknown`." } dimension: client_info__telemetry_sdk_build { @@ -2000,11 +2014,13 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Telemetry Sdk Build" + description: "The version of the Glean SDK" } dimension: document_id { sql: ${TABLE}.document_id ;; hidden: yes + description: "The document ID specified in the URI when the client sent this message" primary_key: yes } @@ -2026,6 +2042,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ group_label: "Metadata Geo" group_item_label: "Country" map_layer_name: countries + description: "An ISO 3166-1 alpha-2 country code" } dimension: metadata__geo__db_version { @@ -2033,6 +2050,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Geo" group_item_label: "Db Version" + description: "The specific geo database version used for this lookup" } dimension: metadata__geo__subdivision1 { @@ -2040,6 +2058,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Geo" group_item_label: "Subdivision1" + description: "First major country subdivision, typically a state, province, or county" } dimension: metadata__geo__subdivision2 { @@ -2047,6 +2066,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Geo" group_item_label: "Subdivision2" + description: "Second major country subdivision; not applicable for most countries" } dimension: metadata__header__date { @@ -2054,6 +2074,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "Date" + description: "Date HTTP header" } dimension: metadata__header__dnt { @@ -2061,6 +2082,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "Dnt" + description: "DNT (Do Not Track) HTTP header" } dimension: metadata__header__parsed_x_lb_tags__tls_cipher_hex { @@ -2087,6 +2109,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "X Debug Id" + description: "X-Debug-Id HTTP header" } dimension: metadata__header__x_foxsec_ip_reputation { @@ -2094,6 +2117,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "X Foxsec Ip Reputation" + description: "X-Foxsec-IP-Reputation header" } dimension: metadata__header__x_lb_tags { @@ -2101,6 +2125,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "X Lb Tags" + description: "X-LB-Tags HTTP header" } dimension: metadata__header__x_pingsender_version { @@ -2108,6 +2133,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "X Pingsender Version" + description: "X-PingSender-Version HTTP header" } dimension: metadata__header__x_source_tags { @@ -2115,6 +2141,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "X Source Tags" + description: "X-Source-Tags HTTP header" } dimension: metadata__header__x_telemetry_agent { @@ -2122,6 +2149,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "X Telemetry Agent" + description: "X-Telemetry-Agent HTTP header" } dimension: metadata__isp__db_version { @@ -2129,6 +2157,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Isp" group_item_label: "Db Version" + description: "The specific geo ISP database version used for this lookup" } dimension: metadata__isp__name { @@ -2136,6 +2165,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Isp" group_item_label: "Name" + description: "The name of the ISP associated with the client's IP address" } dimension: metadata__isp__organization { @@ -2143,6 +2173,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Isp" group_item_label: "Organization" + description: "The name of a specific business entity associated with the client's IP address when available; otherwise the ISP name" } dimension: metadata__user_agent__browser { @@ -2169,21 +2200,25 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ dimension: normalized_app_name { sql: ${TABLE}.normalized_app_name ;; type: string + description: "Set to \"Other\" if this message contained an unrecognized app name" } dimension: normalized_channel { sql: ${TABLE}.normalized_channel ;; type: string + description: "Set to \"Other\" if this message contained an unrecognized channel name" } dimension: normalized_country_code { sql: ${TABLE}.normalized_country_code ;; type: string + description: "An ISO 3166-1 alpha-2 country code" } dimension: normalized_os { sql: ${TABLE}.normalized_os ;; type: string + description: "Set to \"Other\" if this message contained an unrecognized OS name" } dimension: normalized_os_version { @@ -2234,6 +2269,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ dimension: sample_id { sql: ${TABLE}.sample_id ;; type: number + description: "Hashed version of client_id (if present) useful for partitioning; ranges from 0 to 99" } dimension_group: metadata__header__parsed { @@ -2293,6 +2329,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ quarter, year, ] + description: "Time when the ingestion edge server accepted this message" } measure: clients { diff --git a/focus_android/views/metrics_table.view.lkml b/focus_android/views/metrics_table.view.lkml index 13bae7830..3a419fc73 100644 --- a/focus_android/views/metrics_table.view.lkml +++ b/focus_android/views/metrics_table.view.lkml @@ -8,6 +8,7 @@ view: metrics_table { dimension: additional_properties { sql: ${TABLE}.additional_properties ;; hidden: yes + description: "A JSON string containing any payload properties not present in the schema" } dimension: client_info__android_sdk_version { @@ -15,6 +16,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Android Sdk Version" + description: "The optional Android specific SDK version of the software running on this hardware device." } dimension: client_info__app_build { @@ -22,6 +24,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "App Build" + description: "The build identifier generated by the CI system (e.g. \"1234/A\"). For language bindings that provide automatic detection for this value, (e.g. Android/Kotlin), in the unlikely event that the build identifier can not be retrieved from the OS, it is set to \"inaccessible\". For other language bindings, if the value was not provided through configuration, this metric gets set to `Unknown`." } dimension: client_info__app_channel { @@ -29,6 +32,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "App Channel" + description: "The channel the application is being distributed on." } dimension: client_info__app_display_version { @@ -36,6 +40,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "App Display Version" + description: "The user visible version string (e.g. \"1.0.3\"). In the unlikely event that the display version can not be retrieved, it is set to \"inaccessible\"." } dimension: client_info__architecture { @@ -43,6 +48,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Architecture" + description: "The architecture of the device, (e.g. \"arm\", \"x86\")." } dimension: client_info__build_date { @@ -50,11 +56,13 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Build Date" + description: "The date & time the application was built" } dimension: client_info__client_id { sql: ${TABLE}.client_info.client_id ;; hidden: yes + description: "A UUID uniquely identifying the client." } dimension: client_info__device_manufacturer { @@ -62,6 +70,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Device Manufacturer" + description: "The manufacturer of the device the application is running on. Not set if the device manufacturer can't be determined (e.g. on Desktop)." } dimension: client_info__device_model { @@ -69,6 +78,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Device Model" + description: "The model of the device the application is running on. On Android, this is Build.MODEL, the user-visible marketing name, like \"Pixel 2 XL\". Not set if the device model can't be determined (e.g. on Desktop)." } dimension: client_info__first_run_date { @@ -76,6 +86,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "First Run Date" + description: "The date of the first run of the application." } dimension: client_info__locale { @@ -83,6 +94,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Locale" + description: "The locale of the application during initialization (e.g. \"es-ES\"). If the locale can't be determined on the system, the value is [\"und\"](https://unicode.org/reports/tr35/#Unknown_or_Invalid_Identifiers), to indicate \"undetermined\"." } dimension: client_info__os { @@ -90,6 +102,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Os" + description: "The name of the operating system. Possible values: Android, iOS, Linux, Darwin, Windows, FreeBSD, NetBSD, OpenBSD, Solaris, unknown" } dimension: client_info__os_version { @@ -97,6 +110,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Os Version" + description: "The user-visible version of the operating system (e.g. \"1.2.3\"). If the version detection fails, this metric gets set to `Unknown`." } dimension: client_info__telemetry_sdk_build { @@ -104,11 +118,13 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Telemetry Sdk Build" + description: "The version of the Glean SDK" } dimension: document_id { sql: ${TABLE}.document_id ;; hidden: yes + description: "The document ID specified in the URI when the client sent this message" } dimension: events { @@ -129,6 +145,7 @@ view: metrics_table { group_label: "Metadata Geo" group_item_label: "Country" map_layer_name: countries + description: "An ISO 3166-1 alpha-2 country code" } dimension: metadata__geo__db_version { @@ -136,6 +153,7 @@ view: metrics_table { type: string group_label: "Metadata Geo" group_item_label: "Db Version" + description: "The specific geo database version used for this lookup" } dimension: metadata__geo__subdivision1 { @@ -143,6 +161,7 @@ view: metrics_table { type: string group_label: "Metadata Geo" group_item_label: "Subdivision1" + description: "First major country subdivision, typically a state, province, or county" } dimension: metadata__geo__subdivision2 { @@ -150,6 +169,7 @@ view: metrics_table { type: string group_label: "Metadata Geo" group_item_label: "Subdivision2" + description: "Second major country subdivision; not applicable for most countries" } dimension: metadata__header__date { @@ -157,6 +177,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "Date" + description: "Date HTTP header" } dimension: metadata__header__dnt { @@ -164,6 +185,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "Dnt" + description: "DNT (Do Not Track) HTTP header" } dimension: metadata__header__parsed_x_lb_tags__tls_cipher_hex { @@ -190,6 +212,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "X Debug Id" + description: "X-Debug-Id HTTP header" } dimension: metadata__header__x_foxsec_ip_reputation { @@ -197,6 +220,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "X Foxsec Ip Reputation" + description: "X-Foxsec-IP-Reputation header" } dimension: metadata__header__x_lb_tags { @@ -204,6 +228,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "X Lb Tags" + description: "X-LB-Tags HTTP header" } dimension: metadata__header__x_pingsender_version { @@ -211,6 +236,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "X Pingsender Version" + description: "X-PingSender-Version HTTP header" } dimension: metadata__header__x_source_tags { @@ -218,6 +244,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "X Source Tags" + description: "X-Source-Tags HTTP header" } dimension: metadata__header__x_telemetry_agent { @@ -225,6 +252,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "X Telemetry Agent" + description: "X-Telemetry-Agent HTTP header" } dimension: metadata__isp__db_version { @@ -232,6 +260,7 @@ view: metrics_table { type: string group_label: "Metadata Isp" group_item_label: "Db Version" + description: "The specific geo ISP database version used for this lookup" } dimension: metadata__isp__name { @@ -239,6 +268,7 @@ view: metrics_table { type: string group_label: "Metadata Isp" group_item_label: "Name" + description: "The name of the ISP associated with the client's IP address" } dimension: metadata__isp__organization { @@ -246,6 +276,7 @@ view: metrics_table { type: string group_label: "Metadata Isp" group_item_label: "Organization" + description: "The name of a specific business entity associated with the client's IP address when available; otherwise the ISP name" } dimension: metadata__user_agent__browser { @@ -274,6 +305,9 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Browser Is Default" + description: "Is Focus the default browser? This is true only if the user +changes the default browser through the app settings. +" } dimension: metrics__boolean__browser_ui_proton_enabled { @@ -281,6 +315,8 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Browser Ui Proton Enabled" + description: "True if the Proton default theme is enabled. +" } dimension: metrics__boolean__fog_failed_idle_registration { @@ -288,6 +324,10 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Fog Failed Idle Registration" + description: "True if we failed to register with the idle service. Absent otherwise. +Means IPC probably isn't working well. +Child-process data will likely be absent, or incomplete. +" } dimension: metrics__boolean__gifft_validation_main_ping_assembling { @@ -295,6 +335,10 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Gifft Validation Main Ping Assembling" + description: "The value `true`, recorded when a Firefox Telemetry \"main\" ping is about +to be assembled. +To be used to validate GIFFT. +" } dimension: metrics__boolean__glean_core_migration_successful { @@ -302,6 +346,7 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Glean Core Migration Successful" + description: "Reports `true` if the client was successfully migrated from the Android-specific implementation of the Glean SDK to the cross-platform one." } dimension: metrics__boolean__glean_error_preinit_tasks_timeout { @@ -309,6 +354,7 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Glean Error Preinit Tasks Timeout" + description: "Set to true if the tasks that are queued prior to Glean initialization time out." } dimension: metrics__boolean__metrics_search_widget_installed { @@ -316,6 +362,8 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Metrics Search Widget Installed" + description: "Whether or not the search widget is installed +" } dimension: metrics__boolean__metrics_start_reason_activity_error { @@ -323,6 +371,11 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Metrics Start Reason Activity Error" + description: "The `AppStartReasonProvider.ActivityLifecycleCallbacks.onActivityCreated` +was unexpectedly called twice. We can use this metric to validate our +assumptions about how these APIs are called. This probe can be removed +once we validate these assumptions. +" } dimension: metrics__boolean__metrics_start_reason_process_error { @@ -330,6 +383,11 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Metrics Start Reason Process Error" + description: "The `AppStartReasonProvider.ProcessLifecycleObserver.onCreate` was +unexpectedly called twice. We can use this metric to validate our +assumptions about how these APIs are called. This probe can be removed +once we validate these assumptions. +" } dimension: metrics__boolean__mozilla_products_has_fenix_installed { @@ -337,6 +395,8 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Mozilla Products Has Fenix Installed" + description: "If Fenix is installed on the users's device. +" } dimension: metrics__boolean__mozilla_products_is_fenix_default_browser { @@ -344,6 +404,8 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Mozilla Products Is Fenix Default Browser" + description: "Fenix is the default browser on user's device +" } dimension: metrics__boolean__tracking_protection_has_advertising_blocked { @@ -351,6 +413,9 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Tracking Protection Has Advertising Blocked" + description: "The user has changed the setting for enhanced tracking protection +at least once. +" } dimension: metrics__boolean__tracking_protection_has_analytics_blocked { @@ -358,6 +423,9 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Tracking Protection Has Analytics Blocked" + description: "The user has changed the setting for enhanced tracking protection +at least once. +" } dimension: metrics__boolean__tracking_protection_has_content_blocked { @@ -365,6 +433,9 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Tracking Protection Has Content Blocked" + description: "The user has changed the setting for enhanced tracking protection +at least once. +" } dimension: metrics__boolean__tracking_protection_has_ever_changed_etp { @@ -372,6 +443,9 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Tracking Protection Has Ever Changed Etp" + description: "The user has changed the setting for enhanced tracking protection +at least once. +" } dimension: metrics__boolean__tracking_protection_has_social_blocked { @@ -379,6 +453,9 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Tracking Protection Has Social Blocked" + description: "The user has changed the setting for enhanced tracking protection +at least once. +" } dimension: metrics__counter__autocomplete_domain_added { @@ -386,6 +463,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Autocomplete Domain Added" + description: "A counter that indicates how many times a user has added +a website to the autocomplete list. +" } dimension: metrics__counter__autocomplete_domain_removed { @@ -393,6 +473,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Autocomplete Domain Removed" + description: "A counter that indicates how many times a user has removed +a website from the autocomplete list. +" } dimension: metrics__counter__autocomplete_list_order_changed { @@ -400,6 +483,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Autocomplete List Order Changed" + description: "A counter that indicates how many times a user has reordered +the autocomplete list. +" } dimension: metrics__counter__browser_report_site_issue_counter { @@ -407,6 +493,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Browser Report Site Issue Counter" + description: "A counter that indicates how many times a user has tapped +the report site issue from browser menu +" } dimension: metrics__counter__browser_total_uri_count { @@ -414,6 +503,12 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Browser Total Uri Count" + description: "Records count of URIs visited by the user in the current session, +including page reloads. +It does not include background page requests and URIs from embedded pages +but may be incremented without user interaction by website scripts +that programmatically redirect to a new location. +" } dimension: metrics__counter__fog_ipc_flush_failures { @@ -421,6 +516,11 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Fog Ipc Flush Failures" + description: "The number of times we failed to flush all non-parent-process data, +throwing even partial results into the trash. +If this number is high, we might consider writing custom `MozPromise`- +handling code instead of using `MozPromise::All`. +" } dimension: metrics__counter__fog_ipc_replay_failures { @@ -428,6 +528,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Fog Ipc Replay Failures" + description: "The number of times the ipc buffer failed to be replayed in the +parent process. +" } dimension: metrics__counter__fog_ipc_shutdown_registration_failures { @@ -435,6 +538,15 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Fog Ipc Shutdown Registration Failures" + description: "The number of times we tried to register shutdown flush routines for +content child processes, and failed (probably because there was no main +thread). +As a result there may be data loss from content child processes. +Large or rising number of clients experiencing this indicates we should +perhaps refactor content child shutdown in FOG to try harder to register +flush operations. +Will likely be obsoleted by bug 1641989. +" } dimension: metrics__counter__glean_error_io { @@ -442,6 +554,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Error Io" + description: "The number of times we encountered an IO error +when writing a pending ping to disk. +" } dimension: metrics__counter__glean_error_preinit_tasks_overflow { @@ -449,6 +564,11 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Error Preinit Tasks Overflow" + description: "The number of tasks that overflowed the pre-initialization buffer. +Only sent if the buffer ever overflows. + +In Version 0 this reported the total number of tasks enqueued. +" } dimension: metrics__counter__glean_time_invalid_timezone_offset { @@ -456,6 +576,11 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Time Invalid Timezone Offset" + description: "Counts the number of times we encountered an invalid timezone offset +when trying to get the current time. +A timezone offset is invalid if it is outside [-24h, +24h]. +If invalid a UTC offset is used (+0h). +" } dimension: metrics__counter__glean_upload_deleted_pings_after_quota_hit { @@ -463,6 +588,12 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Upload Deleted Pings After Quota Hit" + description: "The number of pings deleted after the quota +for the size of the pending pings directory or number of files is hit. +Since quota is only calculated for the pending pings directory, +and deletion request ping live in a different directory, +deletion request pings are never deleted. +" } dimension: metrics__counter__glean_upload_pending_pings { @@ -470,6 +601,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Upload Pending Pings" + description: "The total number of pending pings at startup. +This does not include deletion-request pings. +" } dimension: metrics__counter__glean_validation_app_forceclosed_count { @@ -477,6 +611,7 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Validation App Forceclosed Count" + description: "This metric counts how many times a dirty bit was detected when starting the Glean SDK, on Android. This dirty bit is set to `true` when Android's lifecycle `ON_START` is hit and flipped back to false on `ON_STOP`. When an application is force-closed, it might not get the `ON_STOP` and so the value would stay `true`. The next time Glean starts, it will increment this counter." } dimension: metrics__counter__glean_validation_baseline_ping_count { @@ -484,6 +619,7 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Validation Baseline Ping Count" + description: "The number of baseline pings sent during the lifetime of this metrics ping." } dimension: metrics__counter__glean_validation_foreground_count { @@ -491,6 +627,8 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Validation Foreground Count" + description: "On mobile, the number of times the application went to foreground. +" } dimension: metrics__counter__power_cpu_time_bogus_values { @@ -498,6 +636,8 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Power Cpu Time Bogus Values" + description: "Impossibly large CPU time values that were discarded. +" } dimension: metrics__counter__power_gpu_time_bogus_values { @@ -505,6 +645,8 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Power Gpu Time Bogus Values" + description: "Impossibly large GPU time values that were discarded. +" } dimension: metrics__counter__power_total_cpu_time_ms { @@ -512,6 +654,8 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Power Total Cpu Time Ms" + description: "Total CPU time used by all processes in ms. +" } dimension: metrics__counter__power_total_gpu_time_ms { @@ -519,6 +663,8 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Power Total Gpu Time Ms" + description: "Total GPU time used by all processes in ms. +" } dimension: metrics__counter__power_total_thread_wakeups { @@ -526,6 +672,8 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Power Total Thread Wakeups" + description: "How many times threads woke up and could have woken up a CPU core. +" } dimension: metrics__counter__settings_screen_autocomplete_domain_added { @@ -533,6 +681,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Settings Screen Autocomplete Domain Added" + description: "A counter that indicates how many times a user has added +a website to the autocomplete list. +" } dimension: metrics__counter__settings_screen_whats_new_tapped { @@ -540,6 +691,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Settings Screen Whats New Tapped" + description: "A counter that indicates how many times a user has clicked +the whats new button from settings screen. +" } dimension: metrics__counter__shortcuts_shortcut_added_counter { @@ -547,6 +701,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Shortcuts Shortcut Added Counter" + description: "A counter that indicates how many times a user has added +a website to shortcuts. +" } dimension: metrics__counter__shortcuts_shortcut_opened_counter { @@ -554,6 +711,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Shortcuts Shortcut Opened Counter" + description: "A counter that indicates how many times a user has opened +a website from a shortcut in the home screen. +" } dimension: metrics__counter__tracking_protection_toolbar_shield_clicked { @@ -561,6 +721,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Tracking Protection Toolbar Shield Clicked" + description: "A counter that indicates how many times a user has opened +the tracking protection settings panel from the toolbar. +" } dimension: metrics__custom_distribution__power_battery_percentage_when_user_active__sum { @@ -592,6 +755,8 @@ view: metrics_table { type: string group_label: "Metrics Datetime" group_item_label: "Glean Validation First Run Hour" + description: "The hour of the first run of the application. +" } dimension: metrics__jwe { @@ -602,141 +767,244 @@ view: metrics_table { dimension: metrics__labeled_counter__browser_search_ad_clicks { sql: ${TABLE}.metrics.labeled_counter.browser_search_ad_clicks ;; hidden: yes + description: "Records clicks of adverts on SERP pages. +The key format is ``. +" } dimension: metrics__labeled_counter__browser_search_in_content { sql: ${TABLE}.metrics.labeled_counter.browser_search_in_content ;; hidden: yes + description: "Records the type of interaction a user has on SERP pages. +" } dimension: metrics__labeled_counter__browser_search_search_count { sql: ${TABLE}.metrics.labeled_counter.browser_search_search_count ;; hidden: yes + description: "The labels for this counter are `.`. + +If the search engine is bundled with Focus `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` +" } dimension: metrics__labeled_counter__browser_search_with_ads { sql: ${TABLE}.metrics.labeled_counter.browser_search_with_ads ;; hidden: yes + description: "Records counts of SERP pages with adverts displayed. +The key format is ``. +" } dimension: metrics__labeled_counter__crash_metrics_crash_count { sql: ${TABLE}.metrics.labeled_counter.crash_metrics_crash_count ;; hidden: yes + description: "Counts the number of crashes that occur in the application. This measures only the counts of each crash in association with the labeled type of the crash. The labels correspond to the types of crashes handled by lib-crash. +Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_code_crash` replaced by `main_proc_native_code_crash`, `fg_proc_native_code_crash` and `bg_proc_native_code_crash`. +" } dimension: metrics__labeled_counter__glean_error_invalid_label { sql: ${TABLE}.metrics.labeled_counter.glean_error_invalid_label ;; hidden: yes + description: "Counts the number of times a metric was set with an invalid label. +The labels are the `category.name` identifier of the metric. +" } dimension: metrics__labeled_counter__glean_error_invalid_overflow { sql: ${TABLE}.metrics.labeled_counter.glean_error_invalid_overflow ;; hidden: yes + description: "Counts the number of times a metric was set a value that overflowed. +The labels are the `category.name` identifier of the metric. +" } dimension: metrics__labeled_counter__glean_error_invalid_state { sql: ${TABLE}.metrics.labeled_counter.glean_error_invalid_state ;; hidden: yes + description: "Counts the number of times a timing metric was used incorrectly. +The labels are the `category.name` identifier of the metric. +" } dimension: metrics__labeled_counter__glean_error_invalid_value { sql: ${TABLE}.metrics.labeled_counter.glean_error_invalid_value ;; hidden: yes + description: "Counts the number of times a metric was set to an invalid value. +The labels are the `category.name` identifier of the metric. +" } dimension: metrics__labeled_counter__glean_upload_ping_upload_failure { sql: ${TABLE}.metrics.labeled_counter.glean_upload_ping_upload_failure ;; hidden: yes + description: "Counts the number of ping upload failures, by type of failure. +This includes failures for all ping types, +though the counts appear in the next successfully sent `metrics` ping. +" } dimension: metrics__labeled_counter__glean_validation_pings_submitted { sql: ${TABLE}.metrics.labeled_counter.glean_validation_pings_submitted ;; hidden: yes + description: "A count of the pings submitted, by ping type. + +This metric appears in both the metrics and baseline pings. + +- On the metrics ping, the counts include the number of pings sent since + the last metrics ping (including the last metrics ping) +- On the baseline ping, the counts include the number of pings send since + the last baseline ping (including the last baseline ping) +" } dimension: metrics__labeled_counter__gmp_update_xml_fetch_result { sql: ${TABLE}.metrics.labeled_counter.gmp_update_xml_fetch_result ;; hidden: yes + description: "The result of Gecko fetching an update.xml from Balrog. This captures 3 different data points: success or failure of the request, if cert pinning or content signatures were used to verify the result, and the reason for failure, if the request failed. +" } dimension: metrics__labeled_counter__netwerk_early_hints { sql: ${TABLE}.metrics.labeled_counter.netwerk_early_hints ;; hidden: yes + description: "Counts the different type of resources that are sent for early hints. +" } dimension: metrics__labeled_counter__perf_startup_startup_type { sql: ${TABLE}.metrics.labeled_counter.perf_startup_startup_type ;; hidden: yes + description: "Indicates how the browser was started. The label is divided into two +variables. `state` is how cached the browser is when started. `path` is +what code path we are expected to take. Together, they create a combined +label: `state_path`. For brevity, the specific states are documented in +the [Fenix perf +glossary](https://wiki.mozilla.org/index.php?title=Performance/Fenix/Glossary). +

+This implementation is intended to be simple, not comprehensive. We list +the implications below. + +

+These ways of opening the app undesirably adds events to our primary +buckets (non-`unknown` cases): +
- App switcher cold/warm: `cold/warm_` + duplicates path from +previous launch +
- An Intent is sent internally that's uses `ACTION_MAIN` or +`ACTION_VIEW` could be: `*_main/view` (unknown if this ever happens) +
- A command-line launch uses `ACTION_MAIN` or `ACTION_VIEW` could be: +`*_main/view` + +

+These ways of opening the app undesirably do not add their events to our +primary buckets: +
- Close and reopen " } dimension: metrics__labeled_counter__power_cpu_ms_per_thread_content_background { sql: ${TABLE}.metrics.labeled_counter.power_cpu_ms_per_thread_content_background ;; hidden: yes + description: "How many miliseconds of CPU time were used. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_cpu_ms_per_thread_content_foreground { sql: ${TABLE}.metrics.labeled_counter.power_cpu_ms_per_thread_content_foreground ;; hidden: yes + description: "How many miliseconds of CPU time were used. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_cpu_ms_per_thread_gpu_process { sql: ${TABLE}.metrics.labeled_counter.power_cpu_ms_per_thread_gpu_process ;; hidden: yes + description: "How many miliseconds of CPU time were used. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_cpu_ms_per_thread_parent_active { sql: ${TABLE}.metrics.labeled_counter.power_cpu_ms_per_thread_parent_active ;; hidden: yes + description: "How many miliseconds of CPU time were used. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_cpu_ms_per_thread_parent_inactive { sql: ${TABLE}.metrics.labeled_counter.power_cpu_ms_per_thread_parent_inactive ;; hidden: yes + description: "How many miliseconds of CPU time were used. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_cpu_time_per_process_type_ms { sql: ${TABLE}.metrics.labeled_counter.power_cpu_time_per_process_type_ms ;; hidden: yes + description: "CPU time used by each process type in ms. +" } dimension: metrics__labeled_counter__power_gpu_time_per_process_type_ms { sql: ${TABLE}.metrics.labeled_counter.power_gpu_time_per_process_type_ms ;; hidden: yes + description: "GPU time used by each process type in ms. +" } dimension: metrics__labeled_counter__power_wakeups_per_process_type { sql: ${TABLE}.metrics.labeled_counter.power_wakeups_per_process_type ;; hidden: yes + description: "How many times threads woke up and could have woken up a CPU core. Broken down by process type. +" } dimension: metrics__labeled_counter__power_wakeups_per_thread_content_background { sql: ${TABLE}.metrics.labeled_counter.power_wakeups_per_thread_content_background ;; hidden: yes + description: "How many times threads woke up and could have woken up a CPU core. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_wakeups_per_thread_content_foreground { sql: ${TABLE}.metrics.labeled_counter.power_wakeups_per_thread_content_foreground ;; hidden: yes + description: "How many times threads woke up and could have woken up a CPU core. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_wakeups_per_thread_gpu_process { sql: ${TABLE}.metrics.labeled_counter.power_wakeups_per_thread_gpu_process ;; hidden: yes + description: "How many times threads woke up and could have woken up a CPU core. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_wakeups_per_thread_parent_active { sql: ${TABLE}.metrics.labeled_counter.power_wakeups_per_thread_parent_active ;; hidden: yes + description: "How many times threads woke up and could have woken up a CPU core. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_wakeups_per_thread_parent_inactive { sql: ${TABLE}.metrics.labeled_counter.power_wakeups_per_thread_parent_inactive ;; hidden: yes + description: "How many times threads woke up and could have woken up a CPU core. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__shortcuts_shortcut_removed_counter { sql: ${TABLE}.metrics.labeled_counter.shortcuts_shortcut_removed_counter ;; hidden: yes + description: "A counter that indicates how many times a user has removed +a website from shortcuts. +It also indicates the screen it was removed from, home or browser. +" } dimension: metrics__labeled_rate { @@ -797,6 +1065,9 @@ view: metrics_table { type: number group_label: "Metrics Quantity" group_item_label: "Shortcuts Shortcuts On Home Number" + description: "The number of shortcuts the user has on home screen, +0, 1, 2, 3 or 4 (maximum) +" } dimension: metrics__string__browser_default_search_engine { @@ -804,6 +1075,8 @@ view: metrics_table { type: string group_label: "Metrics String" group_item_label: "Browser Default Search Engine" + description: "A string containing the default search engine name. +" } dimension: metrics__string__browser_install_source { @@ -811,6 +1084,7 @@ view: metrics_table { type: string group_label: "Metrics String" group_item_label: "Browser Install Source" + description: "Used to identify the source the app was installed from." } dimension: metrics__string__browser_locale_override { @@ -818,6 +1092,9 @@ view: metrics_table { type: string group_label: "Metrics String" group_item_label: "Browser Locale Override" + description: "The locale that differs from the system locale if a user +specifically overrides it for the app. +" } dimension: metrics__string__geckoview_validation_build_id { @@ -825,6 +1102,8 @@ view: metrics_table { type: string group_label: "Metrics String" group_item_label: "Geckoview Validation Build Id" + description: "The Buildid of the Gecko engine, example: 20200205124310 Mirror of `geckoview.build_id` for validation of migrated data. +" } dimension: metrics__string__geckoview_validation_version { @@ -832,6 +1111,8 @@ view: metrics_table { type: string group_label: "Metrics String" group_item_label: "Geckoview Validation Version" + description: "The version of the Gecko engine, example: 74.0a1 Mirror of `geckoview.version` for validation of migrated data. +" } dimension: metrics__string__ping_reason { @@ -839,6 +1120,10 @@ view: metrics_table { type: string group_label: "Metrics String" group_item_label: "Ping Reason" + description: "The optional reason the ping was submitted. +The specific values for reason are specific to each ping, and are +documented in the ping's pings.yaml file. +" } dimension: metrics__string__preferences_user_theme { @@ -846,6 +1131,8 @@ view: metrics_table { type: string group_label: "Metrics String" group_item_label: "Preferences User Theme" + description: "A string that indicates the theme. Can be one of LIGHT, DARK, or FOLLOW DEVICE. Default is FOLLOW DEVICE. +" } dimension: metrics__text { @@ -1565,21 +1852,25 @@ view: metrics_table { dimension: normalized_app_name { sql: ${TABLE}.normalized_app_name ;; type: string + description: "Set to \"Other\" if this message contained an unrecognized app name" } dimension: normalized_channel { sql: ${TABLE}.normalized_channel ;; type: string + description: "Set to \"Other\" if this message contained an unrecognized channel name" } dimension: normalized_country_code { sql: ${TABLE}.normalized_country_code ;; type: string + description: "An ISO 3166-1 alpha-2 country code" } dimension: normalized_os { sql: ${TABLE}.normalized_os ;; type: string + description: "Set to \"Other\" if this message contained an unrecognized OS name" } dimension: normalized_os_version { @@ -1630,6 +1921,7 @@ view: metrics_table { dimension: sample_id { sql: ${TABLE}.sample_id ;; type: number + description: "Hashed version of client_id (if present) useful for partitioning; ranges from 0 to 99" } dimension_group: metadata__header__parsed { @@ -1689,6 +1981,7 @@ view: metrics_table { quarter, year, ] + description: "Time when the ingestion edge server accepted this message" } parameter: channel { diff --git a/klar_android/views/metrics.view.lkml b/klar_android/views/metrics.view.lkml index 26f61ade8..5fdf9a9b3 100644 --- a/klar_android/views/metrics.view.lkml +++ b/klar_android/views/metrics.view.lkml @@ -1904,6 +1904,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ dimension: additional_properties { sql: ${TABLE}.additional_properties ;; hidden: yes + description: "A JSON string containing any payload properties not present in the schema" } dimension: client_info__android_sdk_version { @@ -1911,6 +1912,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Android Sdk Version" + description: "The optional Android specific SDK version of the software running on this hardware device." } dimension: client_info__app_build { @@ -1918,6 +1920,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "App Build" + description: "The build identifier generated by the CI system (e.g. \"1234/A\"). For language bindings that provide automatic detection for this value, (e.g. Android/Kotlin), in the unlikely event that the build identifier can not be retrieved from the OS, it is set to \"inaccessible\". For other language bindings, if the value was not provided through configuration, this metric gets set to `Unknown`." } dimension: client_info__app_channel { @@ -1925,6 +1928,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "App Channel" + description: "The channel the application is being distributed on." } dimension: client_info__app_display_version { @@ -1932,6 +1936,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "App Display Version" + description: "The user visible version string (e.g. \"1.0.3\"). In the unlikely event that the display version can not be retrieved, it is set to \"inaccessible\"." } dimension: client_info__architecture { @@ -1939,6 +1944,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Architecture" + description: "The architecture of the device, (e.g. \"arm\", \"x86\")." } dimension: client_info__build_date { @@ -1946,11 +1952,13 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Build Date" + description: "The date & time the application was built" } dimension: client_info__client_id { sql: ${TABLE}.client_info.client_id ;; hidden: yes + description: "A UUID uniquely identifying the client." } dimension: client_info__device_manufacturer { @@ -1958,6 +1966,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Device Manufacturer" + description: "The manufacturer of the device the application is running on. Not set if the device manufacturer can't be determined (e.g. on Desktop)." } dimension: client_info__device_model { @@ -1965,6 +1974,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Device Model" + description: "The model of the device the application is running on. On Android, this is Build.MODEL, the user-visible marketing name, like \"Pixel 2 XL\". Not set if the device model can't be determined (e.g. on Desktop)." } dimension: client_info__first_run_date { @@ -1972,6 +1982,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "First Run Date" + description: "The date of the first run of the application." } dimension: client_info__locale { @@ -1979,6 +1990,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Locale" + description: "The locale of the application during initialization (e.g. \"es-ES\"). If the locale can't be determined on the system, the value is [\"und\"](https://unicode.org/reports/tr35/#Unknown_or_Invalid_Identifiers), to indicate \"undetermined\"." } dimension: client_info__os { @@ -1986,6 +1998,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Os" + description: "The name of the operating system. Possible values: Android, iOS, Linux, Darwin, Windows, FreeBSD, NetBSD, OpenBSD, Solaris, unknown" } dimension: client_info__os_version { @@ -1993,6 +2006,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Os Version" + description: "The user-visible version of the operating system (e.g. \"1.2.3\"). If the version detection fails, this metric gets set to `Unknown`." } dimension: client_info__telemetry_sdk_build { @@ -2000,11 +2014,13 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Client Info" group_item_label: "Telemetry Sdk Build" + description: "The version of the Glean SDK" } dimension: document_id { sql: ${TABLE}.document_id ;; hidden: yes + description: "The document ID specified in the URI when the client sent this message" primary_key: yes } @@ -2026,6 +2042,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ group_label: "Metadata Geo" group_item_label: "Country" map_layer_name: countries + description: "An ISO 3166-1 alpha-2 country code" } dimension: metadata__geo__db_version { @@ -2033,6 +2050,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Geo" group_item_label: "Db Version" + description: "The specific geo database version used for this lookup" } dimension: metadata__geo__subdivision1 { @@ -2040,6 +2058,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Geo" group_item_label: "Subdivision1" + description: "First major country subdivision, typically a state, province, or county" } dimension: metadata__geo__subdivision2 { @@ -2047,6 +2066,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Geo" group_item_label: "Subdivision2" + description: "Second major country subdivision; not applicable for most countries" } dimension: metadata__header__date { @@ -2054,6 +2074,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "Date" + description: "Date HTTP header" } dimension: metadata__header__dnt { @@ -2061,6 +2082,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "Dnt" + description: "DNT (Do Not Track) HTTP header" } dimension: metadata__header__parsed_x_lb_tags__tls_cipher_hex { @@ -2087,6 +2109,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "X Debug Id" + description: "X-Debug-Id HTTP header" } dimension: metadata__header__x_foxsec_ip_reputation { @@ -2094,6 +2117,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "X Foxsec Ip Reputation" + description: "X-Foxsec-IP-Reputation header" } dimension: metadata__header__x_lb_tags { @@ -2101,6 +2125,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "X Lb Tags" + description: "X-LB-Tags HTTP header" } dimension: metadata__header__x_pingsender_version { @@ -2108,6 +2133,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "X Pingsender Version" + description: "X-PingSender-Version HTTP header" } dimension: metadata__header__x_source_tags { @@ -2115,6 +2141,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "X Source Tags" + description: "X-Source-Tags HTTP header" } dimension: metadata__header__x_telemetry_agent { @@ -2122,6 +2149,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Header" group_item_label: "X Telemetry Agent" + description: "X-Telemetry-Agent HTTP header" } dimension: metadata__isp__db_version { @@ -2129,6 +2157,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Isp" group_item_label: "Db Version" + description: "The specific geo ISP database version used for this lookup" } dimension: metadata__isp__name { @@ -2136,6 +2165,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Isp" group_item_label: "Name" + description: "The name of the ISP associated with the client's IP address" } dimension: metadata__isp__organization { @@ -2143,6 +2173,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ type: string group_label: "Metadata Isp" group_item_label: "Organization" + description: "The name of a specific business entity associated with the client's IP address when available; otherwise the ISP name" } dimension: metadata__user_agent__browser { @@ -2169,21 +2200,25 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ dimension: normalized_app_name { sql: ${TABLE}.normalized_app_name ;; type: string + description: "Set to \"Other\" if this message contained an unrecognized app name" } dimension: normalized_channel { sql: ${TABLE}.normalized_channel ;; type: string + description: "Set to \"Other\" if this message contained an unrecognized channel name" } dimension: normalized_country_code { sql: ${TABLE}.normalized_country_code ;; type: string + description: "An ISO 3166-1 alpha-2 country code" } dimension: normalized_os { sql: ${TABLE}.normalized_os ;; type: string + description: "Set to \"Other\" if this message contained an unrecognized OS name" } dimension: normalized_os_version { @@ -2234,6 +2269,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ dimension: sample_id { sql: ${TABLE}.sample_id ;; type: number + description: "Hashed version of client_id (if present) useful for partitioning; ranges from 0 to 99" } dimension_group: metadata__header__parsed { @@ -2293,6 +2329,7 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_ quarter, year, ] + description: "Time when the ingestion edge server accepted this message" } measure: clients { diff --git a/klar_android/views/metrics_table.view.lkml b/klar_android/views/metrics_table.view.lkml index 20b6f7639..707b48ed5 100644 --- a/klar_android/views/metrics_table.view.lkml +++ b/klar_android/views/metrics_table.view.lkml @@ -8,6 +8,7 @@ view: metrics_table { dimension: additional_properties { sql: ${TABLE}.additional_properties ;; hidden: yes + description: "A JSON string containing any payload properties not present in the schema" } dimension: client_info__android_sdk_version { @@ -15,6 +16,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Android Sdk Version" + description: "The optional Android specific SDK version of the software running on this hardware device." } dimension: client_info__app_build { @@ -22,6 +24,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "App Build" + description: "The build identifier generated by the CI system (e.g. \"1234/A\"). For language bindings that provide automatic detection for this value, (e.g. Android/Kotlin), in the unlikely event that the build identifier can not be retrieved from the OS, it is set to \"inaccessible\". For other language bindings, if the value was not provided through configuration, this metric gets set to `Unknown`." } dimension: client_info__app_channel { @@ -29,6 +32,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "App Channel" + description: "The channel the application is being distributed on." } dimension: client_info__app_display_version { @@ -36,6 +40,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "App Display Version" + description: "The user visible version string (e.g. \"1.0.3\"). In the unlikely event that the display version can not be retrieved, it is set to \"inaccessible\"." } dimension: client_info__architecture { @@ -43,6 +48,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Architecture" + description: "The architecture of the device, (e.g. \"arm\", \"x86\")." } dimension: client_info__build_date { @@ -50,11 +56,13 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Build Date" + description: "The date & time the application was built" } dimension: client_info__client_id { sql: ${TABLE}.client_info.client_id ;; hidden: yes + description: "A UUID uniquely identifying the client." } dimension: client_info__device_manufacturer { @@ -62,6 +70,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Device Manufacturer" + description: "The manufacturer of the device the application is running on. Not set if the device manufacturer can't be determined (e.g. on Desktop)." } dimension: client_info__device_model { @@ -69,6 +78,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Device Model" + description: "The model of the device the application is running on. On Android, this is Build.MODEL, the user-visible marketing name, like \"Pixel 2 XL\". Not set if the device model can't be determined (e.g. on Desktop)." } dimension: client_info__first_run_date { @@ -76,6 +86,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "First Run Date" + description: "The date of the first run of the application." } dimension: client_info__locale { @@ -83,6 +94,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Locale" + description: "The locale of the application during initialization (e.g. \"es-ES\"). If the locale can't be determined on the system, the value is [\"und\"](https://unicode.org/reports/tr35/#Unknown_or_Invalid_Identifiers), to indicate \"undetermined\"." } dimension: client_info__os { @@ -90,6 +102,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Os" + description: "The name of the operating system. Possible values: Android, iOS, Linux, Darwin, Windows, FreeBSD, NetBSD, OpenBSD, Solaris, unknown" } dimension: client_info__os_version { @@ -97,6 +110,7 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Os Version" + description: "The user-visible version of the operating system (e.g. \"1.2.3\"). If the version detection fails, this metric gets set to `Unknown`." } dimension: client_info__telemetry_sdk_build { @@ -104,11 +118,13 @@ view: metrics_table { type: string group_label: "Client Info" group_item_label: "Telemetry Sdk Build" + description: "The version of the Glean SDK" } dimension: document_id { sql: ${TABLE}.document_id ;; hidden: yes + description: "The document ID specified in the URI when the client sent this message" } dimension: events { @@ -129,6 +145,7 @@ view: metrics_table { group_label: "Metadata Geo" group_item_label: "Country" map_layer_name: countries + description: "An ISO 3166-1 alpha-2 country code" } dimension: metadata__geo__db_version { @@ -136,6 +153,7 @@ view: metrics_table { type: string group_label: "Metadata Geo" group_item_label: "Db Version" + description: "The specific geo database version used for this lookup" } dimension: metadata__geo__subdivision1 { @@ -143,6 +161,7 @@ view: metrics_table { type: string group_label: "Metadata Geo" group_item_label: "Subdivision1" + description: "First major country subdivision, typically a state, province, or county" } dimension: metadata__geo__subdivision2 { @@ -150,6 +169,7 @@ view: metrics_table { type: string group_label: "Metadata Geo" group_item_label: "Subdivision2" + description: "Second major country subdivision; not applicable for most countries" } dimension: metadata__header__date { @@ -157,6 +177,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "Date" + description: "Date HTTP header" } dimension: metadata__header__dnt { @@ -164,6 +185,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "Dnt" + description: "DNT (Do Not Track) HTTP header" } dimension: metadata__header__parsed_x_lb_tags__tls_cipher_hex { @@ -190,6 +212,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "X Debug Id" + description: "X-Debug-Id HTTP header" } dimension: metadata__header__x_foxsec_ip_reputation { @@ -197,6 +220,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "X Foxsec Ip Reputation" + description: "X-Foxsec-IP-Reputation header" } dimension: metadata__header__x_lb_tags { @@ -204,6 +228,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "X Lb Tags" + description: "X-LB-Tags HTTP header" } dimension: metadata__header__x_pingsender_version { @@ -211,6 +236,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "X Pingsender Version" + description: "X-PingSender-Version HTTP header" } dimension: metadata__header__x_source_tags { @@ -218,6 +244,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "X Source Tags" + description: "X-Source-Tags HTTP header" } dimension: metadata__header__x_telemetry_agent { @@ -225,6 +252,7 @@ view: metrics_table { type: string group_label: "Metadata Header" group_item_label: "X Telemetry Agent" + description: "X-Telemetry-Agent HTTP header" } dimension: metadata__isp__db_version { @@ -232,6 +260,7 @@ view: metrics_table { type: string group_label: "Metadata Isp" group_item_label: "Db Version" + description: "The specific geo ISP database version used for this lookup" } dimension: metadata__isp__name { @@ -239,6 +268,7 @@ view: metrics_table { type: string group_label: "Metadata Isp" group_item_label: "Name" + description: "The name of the ISP associated with the client's IP address" } dimension: metadata__isp__organization { @@ -246,6 +276,7 @@ view: metrics_table { type: string group_label: "Metadata Isp" group_item_label: "Organization" + description: "The name of a specific business entity associated with the client's IP address when available; otherwise the ISP name" } dimension: metadata__user_agent__browser { @@ -274,6 +305,9 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Browser Is Default" + description: "Is Focus the default browser? This is true only if the user +changes the default browser through the app settings. +" } dimension: metrics__boolean__browser_ui_proton_enabled { @@ -281,6 +315,8 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Browser Ui Proton Enabled" + description: "True if the Proton default theme is enabled. +" } dimension: metrics__boolean__fog_failed_idle_registration { @@ -288,6 +324,10 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Fog Failed Idle Registration" + description: "True if we failed to register with the idle service. Absent otherwise. +Means IPC probably isn't working well. +Child-process data will likely be absent, or incomplete. +" } dimension: metrics__boolean__gifft_validation_main_ping_assembling { @@ -295,6 +335,10 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Gifft Validation Main Ping Assembling" + description: "The value `true`, recorded when a Firefox Telemetry \"main\" ping is about +to be assembled. +To be used to validate GIFFT. +" } dimension: metrics__boolean__glean_core_migration_successful { @@ -302,6 +346,7 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Glean Core Migration Successful" + description: "Reports `true` if the client was successfully migrated from the Android-specific implementation of the Glean SDK to the cross-platform one." } dimension: metrics__boolean__glean_error_preinit_tasks_timeout { @@ -309,6 +354,7 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Glean Error Preinit Tasks Timeout" + description: "Set to true if the tasks that are queued prior to Glean initialization time out." } dimension: metrics__boolean__metrics_search_widget_installed { @@ -316,6 +362,8 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Metrics Search Widget Installed" + description: "Whether or not the search widget is installed +" } dimension: metrics__boolean__metrics_start_reason_activity_error { @@ -323,6 +371,11 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Metrics Start Reason Activity Error" + description: "The `AppStartReasonProvider.ActivityLifecycleCallbacks.onActivityCreated` +was unexpectedly called twice. We can use this metric to validate our +assumptions about how these APIs are called. This probe can be removed +once we validate these assumptions. +" } dimension: metrics__boolean__metrics_start_reason_process_error { @@ -330,6 +383,11 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Metrics Start Reason Process Error" + description: "The `AppStartReasonProvider.ProcessLifecycleObserver.onCreate` was +unexpectedly called twice. We can use this metric to validate our +assumptions about how these APIs are called. This probe can be removed +once we validate these assumptions. +" } dimension: metrics__boolean__mozilla_products_has_fenix_installed { @@ -337,6 +395,8 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Mozilla Products Has Fenix Installed" + description: "If Fenix is installed on the users's device. +" } dimension: metrics__boolean__mozilla_products_is_fenix_default_browser { @@ -344,6 +404,8 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Mozilla Products Is Fenix Default Browser" + description: "Fenix is the default browser on user's device +" } dimension: metrics__boolean__tracking_protection_has_advertising_blocked { @@ -351,6 +413,9 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Tracking Protection Has Advertising Blocked" + description: "The user has changed the setting for enhanced tracking protection +at least once. +" } dimension: metrics__boolean__tracking_protection_has_analytics_blocked { @@ -358,6 +423,9 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Tracking Protection Has Analytics Blocked" + description: "The user has changed the setting for enhanced tracking protection +at least once. +" } dimension: metrics__boolean__tracking_protection_has_content_blocked { @@ -365,6 +433,9 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Tracking Protection Has Content Blocked" + description: "The user has changed the setting for enhanced tracking protection +at least once. +" } dimension: metrics__boolean__tracking_protection_has_ever_changed_etp { @@ -372,6 +443,9 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Tracking Protection Has Ever Changed Etp" + description: "The user has changed the setting for enhanced tracking protection +at least once. +" } dimension: metrics__boolean__tracking_protection_has_social_blocked { @@ -379,6 +453,9 @@ view: metrics_table { type: yesno group_label: "Metrics Boolean" group_item_label: "Tracking Protection Has Social Blocked" + description: "The user has changed the setting for enhanced tracking protection +at least once. +" } dimension: metrics__counter__autocomplete_domain_added { @@ -386,6 +463,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Autocomplete Domain Added" + description: "A counter that indicates how many times a user has added +a website to the autocomplete list. +" } dimension: metrics__counter__autocomplete_domain_removed { @@ -393,6 +473,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Autocomplete Domain Removed" + description: "A counter that indicates how many times a user has removed +a website from the autocomplete list. +" } dimension: metrics__counter__autocomplete_list_order_changed { @@ -400,6 +483,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Autocomplete List Order Changed" + description: "A counter that indicates how many times a user has reordered +the autocomplete list. +" } dimension: metrics__counter__browser_report_site_issue_counter { @@ -407,6 +493,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Browser Report Site Issue Counter" + description: "A counter that indicates how many times a user has tapped +the report site issue from browser menu +" } dimension: metrics__counter__browser_total_uri_count { @@ -414,6 +503,12 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Browser Total Uri Count" + description: "Records count of URIs visited by the user in the current session, +including page reloads. +It does not include background page requests and URIs from embedded pages +but may be incremented without user interaction by website scripts +that programmatically redirect to a new location. +" } dimension: metrics__counter__fog_ipc_flush_failures { @@ -421,6 +516,11 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Fog Ipc Flush Failures" + description: "The number of times we failed to flush all non-parent-process data, +throwing even partial results into the trash. +If this number is high, we might consider writing custom `MozPromise`- +handling code instead of using `MozPromise::All`. +" } dimension: metrics__counter__fog_ipc_replay_failures { @@ -428,6 +528,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Fog Ipc Replay Failures" + description: "The number of times the ipc buffer failed to be replayed in the +parent process. +" } dimension: metrics__counter__fog_ipc_shutdown_registration_failures { @@ -435,6 +538,15 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Fog Ipc Shutdown Registration Failures" + description: "The number of times we tried to register shutdown flush routines for +content child processes, and failed (probably because there was no main +thread). +As a result there may be data loss from content child processes. +Large or rising number of clients experiencing this indicates we should +perhaps refactor content child shutdown in FOG to try harder to register +flush operations. +Will likely be obsoleted by bug 1641989. +" } dimension: metrics__counter__glean_error_io { @@ -442,6 +554,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Error Io" + description: "The number of times we encountered an IO error +when writing a pending ping to disk. +" } dimension: metrics__counter__glean_error_preinit_tasks_overflow { @@ -449,6 +564,11 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Error Preinit Tasks Overflow" + description: "The number of tasks that overflowed the pre-initialization buffer. +Only sent if the buffer ever overflows. + +In Version 0 this reported the total number of tasks enqueued. +" } dimension: metrics__counter__glean_time_invalid_timezone_offset { @@ -456,6 +576,11 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Time Invalid Timezone Offset" + description: "Counts the number of times we encountered an invalid timezone offset +when trying to get the current time. +A timezone offset is invalid if it is outside [-24h, +24h]. +If invalid a UTC offset is used (+0h). +" } dimension: metrics__counter__glean_upload_deleted_pings_after_quota_hit { @@ -463,6 +588,12 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Upload Deleted Pings After Quota Hit" + description: "The number of pings deleted after the quota +for the size of the pending pings directory or number of files is hit. +Since quota is only calculated for the pending pings directory, +and deletion request ping live in a different directory, +deletion request pings are never deleted. +" } dimension: metrics__counter__glean_upload_pending_pings { @@ -470,6 +601,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Upload Pending Pings" + description: "The total number of pending pings at startup. +This does not include deletion-request pings. +" } dimension: metrics__counter__glean_validation_app_forceclosed_count { @@ -477,6 +611,7 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Validation App Forceclosed Count" + description: "This metric counts how many times a dirty bit was detected when starting the Glean SDK, on Android. This dirty bit is set to `true` when Android's lifecycle `ON_START` is hit and flipped back to false on `ON_STOP`. When an application is force-closed, it might not get the `ON_STOP` and so the value would stay `true`. The next time Glean starts, it will increment this counter." } dimension: metrics__counter__glean_validation_baseline_ping_count { @@ -484,6 +619,7 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Validation Baseline Ping Count" + description: "The number of baseline pings sent during the lifetime of this metrics ping." } dimension: metrics__counter__glean_validation_foreground_count { @@ -491,6 +627,8 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Glean Validation Foreground Count" + description: "On mobile, the number of times the application went to foreground. +" } dimension: metrics__counter__power_cpu_time_bogus_values { @@ -498,6 +636,8 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Power Cpu Time Bogus Values" + description: "Impossibly large CPU time values that were discarded. +" } dimension: metrics__counter__power_gpu_time_bogus_values { @@ -505,6 +645,8 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Power Gpu Time Bogus Values" + description: "Impossibly large GPU time values that were discarded. +" } dimension: metrics__counter__power_total_cpu_time_ms { @@ -512,6 +654,8 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Power Total Cpu Time Ms" + description: "Total CPU time used by all processes in ms. +" } dimension: metrics__counter__power_total_gpu_time_ms { @@ -519,6 +663,8 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Power Total Gpu Time Ms" + description: "Total GPU time used by all processes in ms. +" } dimension: metrics__counter__power_total_thread_wakeups { @@ -526,6 +672,8 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Power Total Thread Wakeups" + description: "How many times threads woke up and could have woken up a CPU core. +" } dimension: metrics__counter__settings_screen_autocomplete_domain_added { @@ -533,6 +681,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Settings Screen Autocomplete Domain Added" + description: "A counter that indicates how many times a user has added +a website to the autocomplete list. +" } dimension: metrics__counter__settings_screen_whats_new_tapped { @@ -540,6 +691,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Settings Screen Whats New Tapped" + description: "A counter that indicates how many times a user has clicked +the whats new button from settings screen. +" } dimension: metrics__counter__shortcuts_shortcut_added_counter { @@ -547,6 +701,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Shortcuts Shortcut Added Counter" + description: "A counter that indicates how many times a user has added +a website to shortcuts. +" } dimension: metrics__counter__shortcuts_shortcut_opened_counter { @@ -554,6 +711,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Shortcuts Shortcut Opened Counter" + description: "A counter that indicates how many times a user has opened +a website from a shortcut in the home screen. +" } dimension: metrics__counter__tracking_protection_toolbar_shield_clicked { @@ -561,6 +721,9 @@ view: metrics_table { type: number group_label: "Metrics Counter" group_item_label: "Tracking Protection Toolbar Shield Clicked" + description: "A counter that indicates how many times a user has opened +the tracking protection settings panel from the toolbar. +" } dimension: metrics__custom_distribution__power_battery_percentage_when_user_active__sum { @@ -592,6 +755,8 @@ view: metrics_table { type: string group_label: "Metrics Datetime" group_item_label: "Glean Validation First Run Hour" + description: "The hour of the first run of the application. +" } dimension: metrics__jwe { @@ -602,141 +767,244 @@ view: metrics_table { dimension: metrics__labeled_counter__browser_search_ad_clicks { sql: ${TABLE}.metrics.labeled_counter.browser_search_ad_clicks ;; hidden: yes + description: "Records clicks of adverts on SERP pages. +The key format is ``. +" } dimension: metrics__labeled_counter__browser_search_in_content { sql: ${TABLE}.metrics.labeled_counter.browser_search_in_content ;; hidden: yes + description: "Records the type of interaction a user has on SERP pages. +" } dimension: metrics__labeled_counter__browser_search_search_count { sql: ${TABLE}.metrics.labeled_counter.browser_search_search_count ;; hidden: yes + description: "The labels for this counter are `.`. + +If the search engine is bundled with Focus `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` +" } dimension: metrics__labeled_counter__browser_search_with_ads { sql: ${TABLE}.metrics.labeled_counter.browser_search_with_ads ;; hidden: yes + description: "Records counts of SERP pages with adverts displayed. +The key format is ``. +" } dimension: metrics__labeled_counter__crash_metrics_crash_count { sql: ${TABLE}.metrics.labeled_counter.crash_metrics_crash_count ;; hidden: yes + description: "Counts the number of crashes that occur in the application. This measures only the counts of each crash in association with the labeled type of the crash. The labels correspond to the types of crashes handled by lib-crash. +Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_code_crash` replaced by `main_proc_native_code_crash`, `fg_proc_native_code_crash` and `bg_proc_native_code_crash`. +" } dimension: metrics__labeled_counter__glean_error_invalid_label { sql: ${TABLE}.metrics.labeled_counter.glean_error_invalid_label ;; hidden: yes + description: "Counts the number of times a metric was set with an invalid label. +The labels are the `category.name` identifier of the metric. +" } dimension: metrics__labeled_counter__glean_error_invalid_overflow { sql: ${TABLE}.metrics.labeled_counter.glean_error_invalid_overflow ;; hidden: yes + description: "Counts the number of times a metric was set a value that overflowed. +The labels are the `category.name` identifier of the metric. +" } dimension: metrics__labeled_counter__glean_error_invalid_state { sql: ${TABLE}.metrics.labeled_counter.glean_error_invalid_state ;; hidden: yes + description: "Counts the number of times a timing metric was used incorrectly. +The labels are the `category.name` identifier of the metric. +" } dimension: metrics__labeled_counter__glean_error_invalid_value { sql: ${TABLE}.metrics.labeled_counter.glean_error_invalid_value ;; hidden: yes + description: "Counts the number of times a metric was set to an invalid value. +The labels are the `category.name` identifier of the metric. +" } dimension: metrics__labeled_counter__glean_upload_ping_upload_failure { sql: ${TABLE}.metrics.labeled_counter.glean_upload_ping_upload_failure ;; hidden: yes + description: "Counts the number of ping upload failures, by type of failure. +This includes failures for all ping types, +though the counts appear in the next successfully sent `metrics` ping. +" } dimension: metrics__labeled_counter__glean_validation_pings_submitted { sql: ${TABLE}.metrics.labeled_counter.glean_validation_pings_submitted ;; hidden: yes + description: "A count of the pings submitted, by ping type. + +This metric appears in both the metrics and baseline pings. + +- On the metrics ping, the counts include the number of pings sent since + the last metrics ping (including the last metrics ping) +- On the baseline ping, the counts include the number of pings send since + the last baseline ping (including the last baseline ping) +" } dimension: metrics__labeled_counter__gmp_update_xml_fetch_result { sql: ${TABLE}.metrics.labeled_counter.gmp_update_xml_fetch_result ;; hidden: yes + description: "The result of Gecko fetching an update.xml from Balrog. This captures 3 different data points: success or failure of the request, if cert pinning or content signatures were used to verify the result, and the reason for failure, if the request failed. +" } dimension: metrics__labeled_counter__netwerk_early_hints { sql: ${TABLE}.metrics.labeled_counter.netwerk_early_hints ;; hidden: yes + description: "Counts the different type of resources that are sent for early hints. +" } dimension: metrics__labeled_counter__perf_startup_startup_type { sql: ${TABLE}.metrics.labeled_counter.perf_startup_startup_type ;; hidden: yes + description: "Indicates how the browser was started. The label is divided into two +variables. `state` is how cached the browser is when started. `path` is +what code path we are expected to take. Together, they create a combined +label: `state_path`. For brevity, the specific states are documented in +the [Fenix perf +glossary](https://wiki.mozilla.org/index.php?title=Performance/Fenix/Glossary). +

+This implementation is intended to be simple, not comprehensive. We list +the implications below. + +

+These ways of opening the app undesirably adds events to our primary +buckets (non-`unknown` cases): +
- App switcher cold/warm: `cold/warm_` + duplicates path from +previous launch +
- An Intent is sent internally that's uses `ACTION_MAIN` or +`ACTION_VIEW` could be: `*_main/view` (unknown if this ever happens) +
- A command-line launch uses `ACTION_MAIN` or `ACTION_VIEW` could be: +`*_main/view` + +

+These ways of opening the app undesirably do not add their events to our +primary buckets: +
- Close and reopen " } dimension: metrics__labeled_counter__power_cpu_ms_per_thread_content_background { sql: ${TABLE}.metrics.labeled_counter.power_cpu_ms_per_thread_content_background ;; hidden: yes + description: "How many miliseconds of CPU time were used. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_cpu_ms_per_thread_content_foreground { sql: ${TABLE}.metrics.labeled_counter.power_cpu_ms_per_thread_content_foreground ;; hidden: yes + description: "How many miliseconds of CPU time were used. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_cpu_ms_per_thread_gpu_process { sql: ${TABLE}.metrics.labeled_counter.power_cpu_ms_per_thread_gpu_process ;; hidden: yes + description: "How many miliseconds of CPU time were used. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_cpu_ms_per_thread_parent_active { sql: ${TABLE}.metrics.labeled_counter.power_cpu_ms_per_thread_parent_active ;; hidden: yes + description: "How many miliseconds of CPU time were used. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_cpu_ms_per_thread_parent_inactive { sql: ${TABLE}.metrics.labeled_counter.power_cpu_ms_per_thread_parent_inactive ;; hidden: yes + description: "How many miliseconds of CPU time were used. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_cpu_time_per_process_type_ms { sql: ${TABLE}.metrics.labeled_counter.power_cpu_time_per_process_type_ms ;; hidden: yes + description: "CPU time used by each process type in ms. +" } dimension: metrics__labeled_counter__power_gpu_time_per_process_type_ms { sql: ${TABLE}.metrics.labeled_counter.power_gpu_time_per_process_type_ms ;; hidden: yes + description: "GPU time used by each process type in ms. +" } dimension: metrics__labeled_counter__power_wakeups_per_process_type { sql: ${TABLE}.metrics.labeled_counter.power_wakeups_per_process_type ;; hidden: yes + description: "How many times threads woke up and could have woken up a CPU core. Broken down by process type. +" } dimension: metrics__labeled_counter__power_wakeups_per_thread_content_background { sql: ${TABLE}.metrics.labeled_counter.power_wakeups_per_thread_content_background ;; hidden: yes + description: "How many times threads woke up and could have woken up a CPU core. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_wakeups_per_thread_content_foreground { sql: ${TABLE}.metrics.labeled_counter.power_wakeups_per_thread_content_foreground ;; hidden: yes + description: "How many times threads woke up and could have woken up a CPU core. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_wakeups_per_thread_gpu_process { sql: ${TABLE}.metrics.labeled_counter.power_wakeups_per_thread_gpu_process ;; hidden: yes + description: "How many times threads woke up and could have woken up a CPU core. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_wakeups_per_thread_parent_active { sql: ${TABLE}.metrics.labeled_counter.power_wakeups_per_thread_parent_active ;; hidden: yes + description: "How many times threads woke up and could have woken up a CPU core. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__power_wakeups_per_thread_parent_inactive { sql: ${TABLE}.metrics.labeled_counter.power_wakeups_per_thread_parent_inactive ;; hidden: yes + description: "How many times threads woke up and could have woken up a CPU core. Broken down by thread name for a given process type. +" } dimension: metrics__labeled_counter__shortcuts_shortcut_removed_counter { sql: ${TABLE}.metrics.labeled_counter.shortcuts_shortcut_removed_counter ;; hidden: yes + description: "A counter that indicates how many times a user has removed +a website from shortcuts. +It also indicates the screen it was removed from, home or browser. +" } dimension: metrics__labeled_rate { @@ -797,6 +1065,9 @@ view: metrics_table { type: number group_label: "Metrics Quantity" group_item_label: "Shortcuts Shortcuts On Home Number" + description: "The number of shortcuts the user has on home screen, +0, 1, 2, 3 or 4 (maximum) +" } dimension: metrics__string__browser_default_search_engine { @@ -804,6 +1075,8 @@ view: metrics_table { type: string group_label: "Metrics String" group_item_label: "Browser Default Search Engine" + description: "A string containing the default search engine name. +" } dimension: metrics__string__browser_install_source { @@ -811,6 +1084,7 @@ view: metrics_table { type: string group_label: "Metrics String" group_item_label: "Browser Install Source" + description: "Used to identify the source the app was installed from." } dimension: metrics__string__browser_locale_override { @@ -818,6 +1092,9 @@ view: metrics_table { type: string group_label: "Metrics String" group_item_label: "Browser Locale Override" + description: "The locale that differs from the system locale if a user +specifically overrides it for the app. +" } dimension: metrics__string__geckoview_validation_build_id { @@ -825,6 +1102,8 @@ view: metrics_table { type: string group_label: "Metrics String" group_item_label: "Geckoview Validation Build Id" + description: "The Buildid of the Gecko engine, example: 20200205124310 Mirror of `geckoview.build_id` for validation of migrated data. +" } dimension: metrics__string__geckoview_validation_version { @@ -832,6 +1111,8 @@ view: metrics_table { type: string group_label: "Metrics String" group_item_label: "Geckoview Validation Version" + description: "The version of the Gecko engine, example: 74.0a1 Mirror of `geckoview.version` for validation of migrated data. +" } dimension: metrics__string__ping_reason { @@ -839,6 +1120,10 @@ view: metrics_table { type: string group_label: "Metrics String" group_item_label: "Ping Reason" + description: "The optional reason the ping was submitted. +The specific values for reason are specific to each ping, and are +documented in the ping's pings.yaml file. +" } dimension: metrics__string__preferences_user_theme { @@ -846,6 +1131,8 @@ view: metrics_table { type: string group_label: "Metrics String" group_item_label: "Preferences User Theme" + description: "A string that indicates the theme. Can be one of LIGHT, DARK, or FOLLOW DEVICE. Default is FOLLOW DEVICE. +" } dimension: metrics__text { @@ -1565,21 +1852,25 @@ view: metrics_table { dimension: normalized_app_name { sql: ${TABLE}.normalized_app_name ;; type: string + description: "Set to \"Other\" if this message contained an unrecognized app name" } dimension: normalized_channel { sql: ${TABLE}.normalized_channel ;; type: string + description: "Set to \"Other\" if this message contained an unrecognized channel name" } dimension: normalized_country_code { sql: ${TABLE}.normalized_country_code ;; type: string + description: "An ISO 3166-1 alpha-2 country code" } dimension: normalized_os { sql: ${TABLE}.normalized_os ;; type: string + description: "Set to \"Other\" if this message contained an unrecognized OS name" } dimension: normalized_os_version { @@ -1630,6 +1921,7 @@ view: metrics_table { dimension: sample_id { sql: ${TABLE}.sample_id ;; type: number + description: "Hashed version of client_id (if present) useful for partitioning; ranges from 0 to 99" } dimension_group: metadata__header__parsed { @@ -1689,6 +1981,7 @@ view: metrics_table { quarter, year, ] + description: "Time when the ingestion edge server accepted this message" } sql_table_name: `mozdata.org_mozilla_klar.metrics` ;; diff --git a/namespaces.yaml b/namespaces.yaml index 7a83c859a..97ffbb60c 100644 --- a/namespaces.yaml +++ b/namespaces.yaml @@ -769,6 +769,11 @@ fenix: - channel: nightly table: mozdata.org_mozilla_fenix.logins_sync type: table_view + marketing_attributable_metrics_table: + tables: + - channel: release + table: mozdata.fenix.marketing_attributable_metrics + type: table_view metrics: tables: - channel: release