зеркало из https://github.com/mozilla/looker-hub.git
Auto-push from LookML generation
This commit is contained in:
Родитель
f2f388f29c
Коммит
8d14c99968
|
@ -0,0 +1,56 @@
|
|||
|
||||
# *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)
|
||||
|
||||
include: "/looker-hub/firefox_desktop/views/pseudo_main.view.lkml"
|
||||
|
||||
explore: pseudo_main {
|
||||
sql_always_where: ${pseudo_main.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Pseudo_Main"
|
||||
description: "Explore for the pseudo_main ping. A ping designed to be submitted on the same schedule as the Legacy Telemetry \"main\" ping. See \"main\" ping documentation for details."
|
||||
view_name: pseudo_main
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: pseudo_main__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${pseudo_main.metrics__labeled_counter__glean_error_invalid_label}) AS pseudo_main__metrics__labeled_counter__glean_error_invalid_label ON ${pseudo_main.document_id} = ${pseudo_main__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: pseudo_main__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${pseudo_main.metrics__labeled_counter__glean_error_invalid_overflow}) AS pseudo_main__metrics__labeled_counter__glean_error_invalid_overflow ON ${pseudo_main.document_id} = ${pseudo_main__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: pseudo_main__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${pseudo_main.metrics__labeled_counter__glean_error_invalid_state}) AS pseudo_main__metrics__labeled_counter__glean_error_invalid_state ON ${pseudo_main.document_id} = ${pseudo_main__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: pseudo_main__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${pseudo_main.metrics__labeled_counter__glean_error_invalid_value}) AS pseudo_main__metrics__labeled_counter__glean_error_invalid_value ON ${pseudo_main.document_id} = ${pseudo_main__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
explore: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
explore: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_state {
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
explore: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_value {
|
||||
hidden: yes
|
||||
}
|
|
@ -0,0 +1,833 @@
|
|||
|
||||
# *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: pseudo_main {
|
||||
dimension: metrics__uuid__legacy_telemetry_client_id {
|
||||
label: "Legacy Telemetry Client Id"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.uuid.legacy_telemetry_client_id ;;
|
||||
type: string
|
||||
group_label: "Legacy Telemetry"
|
||||
group_item_label: "Client Id"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Legacy Telemetry Client Id"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/legacy_telemetry_client_id"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The client_id according to Telemetry.
|
||||
Might not always have a value due to being too early for it to have
|
||||
loaded.
|
||||
Value may be the canary client id `c0ffeec0-ffee-c0ff-eec0-ffeec0ffeec0`
|
||||
in pings near when the data upload pref is disabled (if Telemetry gets
|
||||
to go first), or between when a client_id has been removed and when it
|
||||
has been regenerated.
|
||||
Does not need to be sent in the Glean \"deletion-request\" ping.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__legacy_telemetry_profile_subsession_counter {
|
||||
label: "Legacy Telemetry Profile Subsession Counter"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.quantity.legacy_telemetry_profile_subsession_counter ;;
|
||||
type: number
|
||||
group_label: "Legacy Telemetry"
|
||||
group_item_label: "Profile Subsession Counter"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Legacy Telemetry Profile Subsession Counter"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/legacy_telemetry_profile_subsession_counter"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The `profileSubsessionCounter` from the Legacy Telemetry \"main\" ping.
|
||||
This is a value that monotonically increases once for every \"main\" ping
|
||||
that has been submitted.
|
||||
It is a sequence number by a longer name.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__timing_distribution__wr_renderer_time__sum {
|
||||
label: "Wr Renderer Time Sum"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.timing_distribution.wr_renderer_time.sum ;;
|
||||
type: number
|
||||
group_label: "Wr"
|
||||
group_item_label: "Renderer Time Sum"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Wr Renderer Time Sum"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/wr_renderer_time"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "WebRender renderer time.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__labeled_counter__glean_error_invalid_label {
|
||||
label: "Glean Error Invalid Label"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.labeled_counter.glean_error_invalid_label ;;
|
||||
group_label: "Glean Error"
|
||||
group_item_label: "Invalid Label"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Error Invalid Label"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/glean_error_invalid_label"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
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 {
|
||||
label: "Glean Error Invalid Overflow"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.labeled_counter.glean_error_invalid_overflow ;;
|
||||
group_label: "Glean Error"
|
||||
group_item_label: "Invalid Overflow"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Error Invalid Overflow"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/glean_error_invalid_overflow"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
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 {
|
||||
label: "Glean Error Invalid State"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.labeled_counter.glean_error_invalid_state ;;
|
||||
group_label: "Glean Error"
|
||||
group_item_label: "Invalid State"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Error Invalid State"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/glean_error_invalid_state"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
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 {
|
||||
label: "Glean Error Invalid Value"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.labeled_counter.glean_error_invalid_value ;;
|
||||
group_label: "Glean Error"
|
||||
group_item_label: "Invalid Value"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Error Invalid Value"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/glean_error_invalid_value"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
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: 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 {
|
||||
sql: ${TABLE}.client_info.android_sdk_version ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.app_build ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.app_channel ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.app_display_version ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.architecture ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.build_date ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.device_manufacturer ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.device_model ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.first_run_date ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.locale ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.os ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.os_version ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.telemetry_sdk_build ;;
|
||||
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
|
||||
}
|
||||
|
||||
dimension: events {
|
||||
sql: ${TABLE}.events ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: metadata__geo__city {
|
||||
sql: ${TABLE}.metadata.geo.city ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "City"
|
||||
}
|
||||
|
||||
dimension: metadata__geo__country {
|
||||
sql: ${TABLE}.metadata.geo.country ;;
|
||||
type: string
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.geo.db_version ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.geo.subdivision1 ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.geo.subdivision2 ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "Subdivision2"
|
||||
description: "Second major country subdivision; not applicable for most countries"
|
||||
}
|
||||
|
||||
dimension: metadata__header__date {
|
||||
sql: ${TABLE}.metadata.header.date ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "Date"
|
||||
description: "Date HTTP header"
|
||||
}
|
||||
|
||||
dimension: metadata__header__dnt {
|
||||
sql: ${TABLE}.metadata.header.dnt ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.header.parsed_x_lb_tags.tls_cipher_hex ;;
|
||||
type: string
|
||||
group_label: "Metadata Header Parsed X Lb Tags"
|
||||
group_item_label: "Tls Cipher Hex"
|
||||
}
|
||||
|
||||
dimension: metadata__header__parsed_x_lb_tags__tls_version {
|
||||
sql: ${TABLE}.metadata.header.parsed_x_lb_tags.tls_version ;;
|
||||
type: string
|
||||
group_label: "Metadata Header Parsed X Lb Tags"
|
||||
group_item_label: "Tls Version"
|
||||
}
|
||||
|
||||
dimension: metadata__header__parsed_x_source_tags {
|
||||
sql: ${TABLE}.metadata.header.parsed_x_source_tags ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: metadata__header__x_debug_id {
|
||||
sql: ${TABLE}.metadata.header.x_debug_id ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.header.x_foxsec_ip_reputation ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.header.x_lb_tags ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "X Lb Tags"
|
||||
description: "X-LB-Tags HTTP header"
|
||||
}
|
||||
|
||||
dimension: metadata__header__x_pingsender_version {
|
||||
sql: ${TABLE}.metadata.header.x_pingsender_version ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "X Pingsender Version"
|
||||
description: "X-PingSender-Version HTTP header"
|
||||
}
|
||||
|
||||
dimension: metadata__header__x_source_tags {
|
||||
sql: ${TABLE}.metadata.header.x_source_tags ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "X Source Tags"
|
||||
description: "X-Source-Tags HTTP header"
|
||||
}
|
||||
|
||||
dimension: metadata__header__x_telemetry_agent {
|
||||
sql: ${TABLE}.metadata.header.x_telemetry_agent ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "X Telemetry Agent"
|
||||
description: "X-Telemetry-Agent HTTP header"
|
||||
}
|
||||
|
||||
dimension: metadata__isp__db_version {
|
||||
sql: ${TABLE}.metadata.isp.db_version ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.isp.name ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.isp.organization ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.user_agent.browser ;;
|
||||
type: string
|
||||
group_label: "Metadata User Agent"
|
||||
group_item_label: "Browser"
|
||||
}
|
||||
|
||||
dimension: metadata__user_agent__os {
|
||||
sql: ${TABLE}.metadata.user_agent.os ;;
|
||||
type: string
|
||||
group_label: "Metadata User Agent"
|
||||
group_item_label: "Os"
|
||||
}
|
||||
|
||||
dimension: metadata__user_agent__version {
|
||||
sql: ${TABLE}.metadata.user_agent.version ;;
|
||||
type: string
|
||||
group_label: "Metadata User Agent"
|
||||
group_item_label: "Version"
|
||||
}
|
||||
|
||||
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 {
|
||||
sql: ${TABLE}.normalized_os_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: ping_info__end_time {
|
||||
sql: ${TABLE}.ping_info.end_time ;;
|
||||
type: string
|
||||
group_label: "Ping Info"
|
||||
group_item_label: "End Time"
|
||||
}
|
||||
|
||||
dimension: ping_info__experiments {
|
||||
sql: ${TABLE}.ping_info.experiments ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: ping_info__ping_type {
|
||||
sql: ${TABLE}.ping_info.ping_type ;;
|
||||
type: string
|
||||
group_label: "Ping Info"
|
||||
group_item_label: "Ping Type"
|
||||
}
|
||||
|
||||
dimension: ping_info__reason {
|
||||
sql: ${TABLE}.ping_info.reason ;;
|
||||
type: string
|
||||
group_label: "Ping Info"
|
||||
group_item_label: "Reason"
|
||||
}
|
||||
|
||||
dimension: ping_info__seq {
|
||||
sql: ${TABLE}.ping_info.seq ;;
|
||||
type: number
|
||||
group_label: "Ping Info"
|
||||
group_item_label: "Seq"
|
||||
}
|
||||
|
||||
dimension: ping_info__start_time {
|
||||
sql: ${TABLE}.ping_info.start_time ;;
|
||||
type: string
|
||||
group_label: "Ping Info"
|
||||
group_item_label: "Start Time"
|
||||
}
|
||||
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.header.parsed_date ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
label: "Metadata Header: Parsed Date"
|
||||
}
|
||||
|
||||
dimension_group: ping_info__parsed_end {
|
||||
sql: ${TABLE}.ping_info.parsed_end_time ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
label: "Ping Info: Parsed End Time"
|
||||
}
|
||||
|
||||
dimension_group: ping_info__parsed_start {
|
||||
sql: ${TABLE}.ping_info.parsed_start_time ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
label: "Ping Info: Parsed Start Time"
|
||||
}
|
||||
|
||||
dimension_group: submission {
|
||||
sql: ${TABLE}.submission_timestamp ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
description: "Time when the ingestion edge server accepted this message"
|
||||
}
|
||||
|
||||
measure: clients {
|
||||
type: count_distinct
|
||||
sql: ${client_info__client_id} ;;
|
||||
}
|
||||
|
||||
measure: ping_count {
|
||||
type: count
|
||||
}
|
||||
|
||||
sql_table_name: `mozdata.firefox_desktop.pseudo_main` ;;
|
||||
}
|
||||
|
||||
view: pseudo_main__metrics__labeled_counter__glean_error_invalid_label {
|
||||
label: "Glean Error - Invalid Label"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${pseudo_main.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${pseudo_main.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
suggest_explore: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_label
|
||||
suggest_dimension: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_label.key
|
||||
hidden: no
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${pseudo_main.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: pseudo_main__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
label: "Glean Error - Invalid Overflow"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${pseudo_main.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${pseudo_main.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
suggest_explore: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_overflow
|
||||
suggest_dimension: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_overflow.key
|
||||
hidden: no
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${pseudo_main.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: pseudo_main__metrics__labeled_counter__glean_error_invalid_state {
|
||||
label: "Glean Error - Invalid State"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${pseudo_main.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${pseudo_main.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
suggest_explore: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_state
|
||||
suggest_dimension: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_state.key
|
||||
hidden: no
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${pseudo_main.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: pseudo_main__metrics__labeled_counter__glean_error_invalid_value {
|
||||
label: "Glean Error - Invalid Value"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${pseudo_main.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${pseudo_main.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
suggest_explore: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_value
|
||||
suggest_dimension: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_value.key
|
||||
hidden: no
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${pseudo_main.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_label {
|
||||
derived_table: {
|
||||
sql: select
|
||||
m.key,
|
||||
count(*) as n
|
||||
from mozdata.firefox_desktop.pseudo_main as t,
|
||||
unnest(metrics.labeled_counter.glean_error_invalid_label) as m
|
||||
where date(submission_timestamp) > date_sub(current_date, interval 30 day)
|
||||
and sample_id = 0
|
||||
group by key
|
||||
order by n desc ;;
|
||||
}
|
||||
|
||||
dimension: key {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
}
|
||||
}
|
||||
|
||||
view: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
derived_table: {
|
||||
sql: select
|
||||
m.key,
|
||||
count(*) as n
|
||||
from mozdata.firefox_desktop.pseudo_main as t,
|
||||
unnest(metrics.labeled_counter.glean_error_invalid_overflow) as m
|
||||
where date(submission_timestamp) > date_sub(current_date, interval 30 day)
|
||||
and sample_id = 0
|
||||
group by key
|
||||
order by n desc ;;
|
||||
}
|
||||
|
||||
dimension: key {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
}
|
||||
}
|
||||
|
||||
view: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_state {
|
||||
derived_table: {
|
||||
sql: select
|
||||
m.key,
|
||||
count(*) as n
|
||||
from mozdata.firefox_desktop.pseudo_main as t,
|
||||
unnest(metrics.labeled_counter.glean_error_invalid_state) as m
|
||||
where date(submission_timestamp) > date_sub(current_date, interval 30 day)
|
||||
and sample_id = 0
|
||||
group by key
|
||||
order by n desc ;;
|
||||
}
|
||||
|
||||
dimension: key {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
}
|
||||
}
|
||||
|
||||
view: suggest__pseudo_main__metrics__labeled_counter__glean_error_invalid_value {
|
||||
derived_table: {
|
||||
sql: select
|
||||
m.key,
|
||||
count(*) as n
|
||||
from mozdata.firefox_desktop.pseudo_main as t,
|
||||
unnest(metrics.labeled_counter.glean_error_invalid_value) as m
|
||||
where date(submission_timestamp) > date_sub(current_date, interval 30 day)
|
||||
and sample_id = 0
|
||||
group by key
|
||||
order by n desc ;;
|
||||
}
|
||||
|
||||
dimension: key {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,618 @@
|
|||
|
||||
# *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: pseudo_main_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 {
|
||||
sql: ${TABLE}.client_info.android_sdk_version ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.app_build ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.app_channel ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.app_display_version ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.architecture ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.build_date ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.device_manufacturer ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.device_model ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.first_run_date ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.locale ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.os ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.os_version ;;
|
||||
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 {
|
||||
sql: ${TABLE}.client_info.telemetry_sdk_build ;;
|
||||
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 {
|
||||
sql: ${TABLE}.events ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: metadata__geo__city {
|
||||
sql: ${TABLE}.metadata.geo.city ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "City"
|
||||
}
|
||||
|
||||
dimension: metadata__geo__country {
|
||||
sql: ${TABLE}.metadata.geo.country ;;
|
||||
type: string
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.geo.db_version ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.geo.subdivision1 ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.geo.subdivision2 ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "Subdivision2"
|
||||
description: "Second major country subdivision; not applicable for most countries"
|
||||
}
|
||||
|
||||
dimension: metadata__header__date {
|
||||
sql: ${TABLE}.metadata.header.date ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "Date"
|
||||
description: "Date HTTP header"
|
||||
}
|
||||
|
||||
dimension: metadata__header__dnt {
|
||||
sql: ${TABLE}.metadata.header.dnt ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.header.parsed_x_lb_tags.tls_cipher_hex ;;
|
||||
type: string
|
||||
group_label: "Metadata Header Parsed X Lb Tags"
|
||||
group_item_label: "Tls Cipher Hex"
|
||||
}
|
||||
|
||||
dimension: metadata__header__parsed_x_lb_tags__tls_version {
|
||||
sql: ${TABLE}.metadata.header.parsed_x_lb_tags.tls_version ;;
|
||||
type: string
|
||||
group_label: "Metadata Header Parsed X Lb Tags"
|
||||
group_item_label: "Tls Version"
|
||||
}
|
||||
|
||||
dimension: metadata__header__parsed_x_source_tags {
|
||||
sql: ${TABLE}.metadata.header.parsed_x_source_tags ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: metadata__header__x_debug_id {
|
||||
sql: ${TABLE}.metadata.header.x_debug_id ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.header.x_foxsec_ip_reputation ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.header.x_lb_tags ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "X Lb Tags"
|
||||
description: "X-LB-Tags HTTP header"
|
||||
}
|
||||
|
||||
dimension: metadata__header__x_pingsender_version {
|
||||
sql: ${TABLE}.metadata.header.x_pingsender_version ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "X Pingsender Version"
|
||||
description: "X-PingSender-Version HTTP header"
|
||||
}
|
||||
|
||||
dimension: metadata__header__x_source_tags {
|
||||
sql: ${TABLE}.metadata.header.x_source_tags ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "X Source Tags"
|
||||
description: "X-Source-Tags HTTP header"
|
||||
}
|
||||
|
||||
dimension: metadata__header__x_telemetry_agent {
|
||||
sql: ${TABLE}.metadata.header.x_telemetry_agent ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "X Telemetry Agent"
|
||||
description: "X-Telemetry-Agent HTTP header"
|
||||
}
|
||||
|
||||
dimension: metadata__isp__db_version {
|
||||
sql: ${TABLE}.metadata.isp.db_version ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.isp.name ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.isp.organization ;;
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.user_agent.browser ;;
|
||||
type: string
|
||||
group_label: "Metadata User Agent"
|
||||
group_item_label: "Browser"
|
||||
}
|
||||
|
||||
dimension: metadata__user_agent__os {
|
||||
sql: ${TABLE}.metadata.user_agent.os ;;
|
||||
type: string
|
||||
group_label: "Metadata User Agent"
|
||||
group_item_label: "Os"
|
||||
}
|
||||
|
||||
dimension: metadata__user_agent__version {
|
||||
sql: ${TABLE}.metadata.user_agent.version ;;
|
||||
type: string
|
||||
group_label: "Metadata User Agent"
|
||||
group_item_label: "Version"
|
||||
}
|
||||
|
||||
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__quantity__legacy_telemetry_profile_subsession_counter {
|
||||
sql: ${TABLE}.metrics.quantity.legacy_telemetry_profile_subsession_counter ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Legacy Telemetry Profile Subsession Counter"
|
||||
description: "The `profileSubsessionCounter` from the Legacy Telemetry \"main\" ping.
|
||||
This is a value that monotonically increases once for every \"main\" ping
|
||||
that has been submitted.
|
||||
It is a sequence number by a longer name.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__timing_distribution__wr_renderer_time__bucket_count {
|
||||
sql: ${TABLE}.metrics.timing_distribution.wr_renderer_time.bucket_count ;;
|
||||
type: number
|
||||
group_label: "Metrics Timing Distribution Wr Renderer Time"
|
||||
group_item_label: "Bucket Count"
|
||||
}
|
||||
|
||||
dimension: metrics__timing_distribution__wr_renderer_time__histogram_type {
|
||||
sql: ${TABLE}.metrics.timing_distribution.wr_renderer_time.histogram_type ;;
|
||||
type: string
|
||||
group_label: "Metrics Timing Distribution Wr Renderer Time"
|
||||
group_item_label: "Histogram Type"
|
||||
}
|
||||
|
||||
dimension: metrics__timing_distribution__wr_renderer_time__overflow {
|
||||
sql: ${TABLE}.metrics.timing_distribution.wr_renderer_time.overflow ;;
|
||||
type: number
|
||||
group_label: "Metrics Timing Distribution Wr Renderer Time"
|
||||
group_item_label: "Overflow"
|
||||
}
|
||||
|
||||
dimension: metrics__timing_distribution__wr_renderer_time__range {
|
||||
sql: ${TABLE}.metrics.timing_distribution.wr_renderer_time.range ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: metrics__timing_distribution__wr_renderer_time__sum {
|
||||
sql: ${TABLE}.metrics.timing_distribution.wr_renderer_time.sum ;;
|
||||
type: number
|
||||
group_label: "Metrics Timing Distribution Wr Renderer Time"
|
||||
group_item_label: "Sum"
|
||||
}
|
||||
|
||||
dimension: metrics__timing_distribution__wr_renderer_time__time_unit {
|
||||
sql: ${TABLE}.metrics.timing_distribution.wr_renderer_time.time_unit ;;
|
||||
type: string
|
||||
group_label: "Metrics Timing Distribution Wr Renderer Time"
|
||||
group_item_label: "Time Unit"
|
||||
}
|
||||
|
||||
dimension: metrics__timing_distribution__wr_renderer_time__underflow {
|
||||
sql: ${TABLE}.metrics.timing_distribution.wr_renderer_time.underflow ;;
|
||||
type: number
|
||||
group_label: "Metrics Timing Distribution Wr Renderer Time"
|
||||
group_item_label: "Underflow"
|
||||
}
|
||||
|
||||
dimension: metrics__timing_distribution__wr_renderer_time__values {
|
||||
sql: ${TABLE}.metrics.timing_distribution.wr_renderer_time.values ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: metrics__uuid__legacy_telemetry_client_id {
|
||||
sql: ${TABLE}.metrics.uuid.legacy_telemetry_client_id ;;
|
||||
type: string
|
||||
group_label: "Metrics Uuid"
|
||||
group_item_label: "Legacy Telemetry Client Id"
|
||||
description: "The client_id according to Telemetry.
|
||||
Might not always have a value due to being too early for it to have
|
||||
loaded.
|
||||
Value may be the canary client id `c0ffeec0-ffee-c0ff-eec0-ffeec0ffeec0`
|
||||
in pings near when the data upload pref is disabled (if Telemetry gets
|
||||
to go first), or between when a client_id has been removed and when it
|
||||
has been regenerated.
|
||||
Does not need to be sent in the Glean \"deletion-request\" ping.
|
||||
"
|
||||
}
|
||||
|
||||
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 {
|
||||
sql: ${TABLE}.normalized_os_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: ping_info__end_time {
|
||||
sql: ${TABLE}.ping_info.end_time ;;
|
||||
type: string
|
||||
group_label: "Ping Info"
|
||||
group_item_label: "End Time"
|
||||
}
|
||||
|
||||
dimension: ping_info__experiments {
|
||||
sql: ${TABLE}.ping_info.experiments ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: ping_info__ping_type {
|
||||
sql: ${TABLE}.ping_info.ping_type ;;
|
||||
type: string
|
||||
group_label: "Ping Info"
|
||||
group_item_label: "Ping Type"
|
||||
}
|
||||
|
||||
dimension: ping_info__reason {
|
||||
sql: ${TABLE}.ping_info.reason ;;
|
||||
type: string
|
||||
group_label: "Ping Info"
|
||||
group_item_label: "Reason"
|
||||
}
|
||||
|
||||
dimension: ping_info__seq {
|
||||
sql: ${TABLE}.ping_info.seq ;;
|
||||
type: number
|
||||
group_label: "Ping Info"
|
||||
group_item_label: "Seq"
|
||||
}
|
||||
|
||||
dimension: ping_info__start_time {
|
||||
sql: ${TABLE}.ping_info.start_time ;;
|
||||
type: string
|
||||
group_label: "Ping Info"
|
||||
group_item_label: "Start Time"
|
||||
}
|
||||
|
||||
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 {
|
||||
sql: ${TABLE}.metadata.header.parsed_date ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
label: "Metadata Header: Parsed Date"
|
||||
}
|
||||
|
||||
dimension_group: ping_info__parsed_end {
|
||||
sql: ${TABLE}.ping_info.parsed_end_time ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
label: "Ping Info: Parsed End Time"
|
||||
}
|
||||
|
||||
dimension_group: ping_info__parsed_start {
|
||||
sql: ${TABLE}.ping_info.parsed_start_time ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
label: "Ping Info: Parsed Start Time"
|
||||
}
|
||||
|
||||
dimension_group: submission {
|
||||
sql: ${TABLE}.submission_timestamp ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
description: "Time when the ingestion edge server accepted this message"
|
||||
}
|
||||
|
||||
sql_table_name: `mozdata.firefox_desktop.pseudo_main` ;;
|
||||
}
|
||||
|
||||
view: pseudo_main_table__events {
|
||||
dimension: category {
|
||||
sql: ${TABLE}.category ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: extra {
|
||||
sql: ${TABLE}.extra ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: name {
|
||||
sql: ${TABLE}.name ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: timestamp {
|
||||
sql: ${TABLE}.timestamp ;;
|
||||
type: number
|
||||
}
|
||||
}
|
||||
|
||||
view: pseudo_main_table__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: pseudo_main_table__metrics__timing_distribution__wr_renderer_time__values {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: number
|
||||
}
|
||||
}
|
||||
|
||||
view: pseudo_main_table__ping_info__experiments {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value__branch {
|
||||
sql: ${TABLE}.value.branch ;;
|
||||
type: string
|
||||
group_label: "Value"
|
||||
group_item_label: "Branch"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1038,6 +1038,10 @@ firefox_desktop:
|
|||
type: glean_ping_explore
|
||||
views:
|
||||
base_view: newtab
|
||||
pseudo_main:
|
||||
type: glean_ping_explore
|
||||
views:
|
||||
base_view: pseudo_main
|
||||
glean_app: true
|
||||
owners:
|
||||
- chutten@mozilla.com
|
||||
|
@ -1177,6 +1181,15 @@ firefox_desktop:
|
|||
- channel: null
|
||||
table: mozdata.firefox_desktop.newtab
|
||||
type: table_view
|
||||
pseudo_main:
|
||||
tables:
|
||||
- table: mozdata.firefox_desktop.pseudo_main
|
||||
type: glean_ping_view
|
||||
pseudo_main_table:
|
||||
tables:
|
||||
- channel: null
|
||||
table: mozdata.firefox_desktop.pseudo_main
|
||||
type: table_view
|
||||
firefox_desktop_background_update:
|
||||
explores:
|
||||
background_update:
|
||||
|
@ -5735,6 +5748,10 @@ search_private:
|
|||
tables:
|
||||
- table: moz-fx-data-shared-prod.search_terms.sanitization_job_languages
|
||||
type: table_view
|
||||
search_term_data_validation_reports:
|
||||
tables:
|
||||
- table: moz-fx-data-shared-prod.search_terms_derived.search_term_data_validation_reports_v1
|
||||
type: table_view
|
||||
search_term_sanitization_job_metadata_daily:
|
||||
tables:
|
||||
- table: moz-fx-data-shared-prod.search_terms_derived.sanitization_job_metadata_v2
|
||||
|
|
|
@ -0,0 +1,127 @@
|
|||
|
||||
# *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: search_term_data_validation_reports {
|
||||
dimension: full_lookback_window_num_days {
|
||||
sql: ${TABLE}.full_lookback_window_num_days ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: mean_alarm {
|
||||
sql: ${TABLE}.mean_alarm ;;
|
||||
type: yesno
|
||||
}
|
||||
|
||||
dimension: mean_high {
|
||||
sql: ${TABLE}.mean_high ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: mean_low {
|
||||
sql: ${TABLE}.mean_low ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: mean_percentile_lower_bound {
|
||||
sql: ${TABLE}.mean_percentile_lower_bound ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: mean_percentile_upper_bound {
|
||||
sql: ${TABLE}.mean_percentile_upper_bound ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: mean_test_vals {
|
||||
sql: ${TABLE}.mean_test_vals ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: metric {
|
||||
sql: ${TABLE}.metric ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: moving_average_window_num_days {
|
||||
sql: ${TABLE}.moving_average_window_num_days ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: num_moving_averages_compared {
|
||||
sql: ${TABLE}.num_moving_averages_compared ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: num_ranges_compared {
|
||||
sql: ${TABLE}.num_ranges_compared ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: range_alarm {
|
||||
sql: ${TABLE}.range_alarm ;;
|
||||
type: yesno
|
||||
}
|
||||
|
||||
dimension: range_high {
|
||||
sql: ${TABLE}.range_high ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: range_low {
|
||||
sql: ${TABLE}.range_low ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: range_percentile_lower_bound {
|
||||
sql: ${TABLE}.range_percentile_lower_bound ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: range_percentile_upper_bound {
|
||||
sql: ${TABLE}.range_percentile_upper_bound ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: range_test_vals {
|
||||
sql: ${TABLE}.range_test_vals ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: test_window_num_days {
|
||||
sql: ${TABLE}.test_window_num_days ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension_group: from_sanitization_job_finished_at {
|
||||
sql: ${TABLE}.from_sanitization_job_finished_at ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
}
|
||||
|
||||
dimension_group: started_at {
|
||||
sql: ${TABLE}.started_at ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
}
|
||||
|
||||
sql_table_name: `moz-fx-data-shared-prod.search_terms_derived.search_term_data_validation_reports_v1` ;;
|
||||
}
|
Загрузка…
Ссылка в новой задаче