зеркало из https://github.com/mozilla/looker-hub.git
Auto-push from LookML generation
This commit is contained in:
Родитель
6ca4ad982d
Коммит
712b7ec80d
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: deletion_request_v1_last_updated {
|
||||
label: "deletion_request_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'bedrock_stable'
|
||||
AND table_name = 'deletion_request_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.bedrock_stable.deletion_request_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: events_stream_v1_last_updated {
|
||||
label: "Events Stream Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'bedrock_derived'
|
||||
AND table_name = 'events_stream_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.bedrock_derived.events_stream_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: events_v1_last_updated {
|
||||
label: "events_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'bedrock_stable'
|
||||
AND table_name = 'events_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.bedrock_stable.events_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: interaction_v1_last_updated {
|
||||
label: "interaction_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'bedrock_stable'
|
||||
AND table_name = 'interaction_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.bedrock_stable.interaction_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: non_interaction_v1_last_updated {
|
||||
label: "non_interaction_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'bedrock_stable'
|
||||
AND table_name = 'non_interaction_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.bedrock_stable.non_interaction_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: page_view_v1_last_updated {
|
||||
label: "page_view_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'bedrock_stable'
|
||||
AND table_name = 'page_view_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.bedrock_stable.page_view_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
|
||||
# *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/bedrock/views/deletion_request.view.lkml"
|
||||
|
||||
explore: deletion_request {
|
||||
sql_always_where: ${deletion_request.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Deletion_Request"
|
||||
description: "Explore for the deletion_request ping. This ping is submitted when a user opts out of sending technical and interaction data to Mozilla. This ping is intended to communicate to the Data Pipeline that the user wishes to have their reported Telemetry data deleted. As such it attempts to send itself at the moment the user opts out of data collection."
|
||||
view_name: deletion_request
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: deletion_request__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.metrics__labeled_counter__glean_error_invalid_label}) AS deletion_request__metrics__labeled_counter__glean_error_invalid_label ON ${deletion_request.document_id} = ${deletion_request__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: deletion_request__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.metrics__labeled_counter__glean_error_invalid_overflow}) AS deletion_request__metrics__labeled_counter__glean_error_invalid_overflow ON ${deletion_request.document_id} = ${deletion_request__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: deletion_request__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.metrics__labeled_counter__glean_error_invalid_state}) AS deletion_request__metrics__labeled_counter__glean_error_invalid_state ON ${deletion_request.document_id} = ${deletion_request__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: deletion_request__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.metrics__labeled_counter__glean_error_invalid_value}) AS deletion_request__metrics__labeled_counter__glean_error_invalid_value ON ${deletion_request.document_id} = ${deletion_request__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
|
||||
join: deletion_request__events {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.events}) AS deletion_request__events ;;
|
||||
}
|
||||
|
||||
join: deletion_request__events__extra {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request__events.extra}) AS deletion_request__events__extra ;;
|
||||
}
|
||||
|
||||
join: deletion_request__ping_info__experiments {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.ping_info__experiments}) AS deletion_request__ping_info__experiments ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__deletion_request__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
|
||||
# *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/bedrock/views/events.view.lkml"
|
||||
|
||||
explore: event_counts {
|
||||
sql_always_where: ${events.submission_date} >= '2010-01-01' ;;
|
||||
view_name: events
|
||||
description: "Event counts over time."
|
||||
|
||||
join: events_unnested_table__event_extra {
|
||||
view_label: "Events Event Extra"
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${events.event_extra}) AS events_unnested_table__event_extra ;;
|
||||
}
|
||||
|
||||
join: events_unnested_table__ping_info__experiments {
|
||||
view_label: "Events Ping Info Experiments"
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${events.ping_info__experiments}) AS events_unnested_table__ping_info__experiments ;;
|
||||
}
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
query: all_event_counts {
|
||||
description: "Event counts from all events over the past two weeks."
|
||||
dimensions: [submission_date]
|
||||
measures: [event_count]
|
||||
filters: [
|
||||
submission_date: "14 days",
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
|
||||
# *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/bedrock/views/events_stream_table.view.lkml"
|
||||
|
||||
explore: events_stream_table {
|
||||
sql_always_where: ${events_stream_table.submission_date} >= '2010-01-01' ;;
|
||||
view_name: events_stream_table
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
|
||||
# *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/bedrock/views/interaction.view.lkml"
|
||||
|
||||
explore: interaction {
|
||||
sql_always_where: ${interaction.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Interaction"
|
||||
description: "Explore for the interaction ping. A ping which is sent when a page element is interacted with."
|
||||
view_name: interaction
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: interaction__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${interaction.metrics__labeled_counter__glean_error_invalid_label}) AS interaction__metrics__labeled_counter__glean_error_invalid_label ON ${interaction.document_id} = ${interaction__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: interaction__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${interaction.metrics__labeled_counter__glean_error_invalid_overflow}) AS interaction__metrics__labeled_counter__glean_error_invalid_overflow ON ${interaction.document_id} = ${interaction__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: interaction__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${interaction.metrics__labeled_counter__glean_error_invalid_state}) AS interaction__metrics__labeled_counter__glean_error_invalid_state ON ${interaction.document_id} = ${interaction__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: interaction__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${interaction.metrics__labeled_counter__glean_error_invalid_value}) AS interaction__metrics__labeled_counter__glean_error_invalid_value ON ${interaction.document_id} = ${interaction__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
|
||||
join: interaction__events {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${interaction.events}) AS interaction__events ;;
|
||||
}
|
||||
|
||||
join: interaction__events__extra {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${interaction__events.extra}) AS interaction__events__extra ;;
|
||||
}
|
||||
|
||||
join: interaction__ping_info__experiments {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${interaction.ping_info__experiments}) AS interaction__ping_info__experiments ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__interaction__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
|
||||
# *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/bedrock/views/non_interaction.view.lkml"
|
||||
|
||||
explore: non_interaction {
|
||||
sql_always_where: ${non_interaction.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Non_Interaction"
|
||||
description: "Explore for the non_interaction ping. A ping which is sent when a non-user initiated event occurs. Examples: a specific banner impression is displayed, a video auto-plays on scroll."
|
||||
view_name: non_interaction
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: non_interaction__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${non_interaction.metrics__labeled_counter__glean_error_invalid_label}) AS non_interaction__metrics__labeled_counter__glean_error_invalid_label ON ${non_interaction.document_id} = ${non_interaction__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: non_interaction__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${non_interaction.metrics__labeled_counter__glean_error_invalid_overflow}) AS non_interaction__metrics__labeled_counter__glean_error_invalid_overflow ON ${non_interaction.document_id} = ${non_interaction__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: non_interaction__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${non_interaction.metrics__labeled_counter__glean_error_invalid_state}) AS non_interaction__metrics__labeled_counter__glean_error_invalid_state ON ${non_interaction.document_id} = ${non_interaction__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: non_interaction__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${non_interaction.metrics__labeled_counter__glean_error_invalid_value}) AS non_interaction__metrics__labeled_counter__glean_error_invalid_value ON ${non_interaction.document_id} = ${non_interaction__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
|
||||
join: non_interaction__events {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${non_interaction.events}) AS non_interaction__events ;;
|
||||
}
|
||||
|
||||
join: non_interaction__events__extra {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${non_interaction__events.extra}) AS non_interaction__events__extra ;;
|
||||
}
|
||||
|
||||
join: non_interaction__ping_info__experiments {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${non_interaction.ping_info__experiments}) AS non_interaction__ping_info__experiments ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__non_interaction__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
|
||||
# *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/bedrock/views/page_view.view.lkml"
|
||||
|
||||
explore: page_view {
|
||||
sql_always_where: ${page_view.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Page_View"
|
||||
description: "Explore for the page_view ping. A ping which is sent every time a page is viewed."
|
||||
view_name: page_view
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: page_view__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${page_view.metrics__labeled_counter__glean_error_invalid_label}) AS page_view__metrics__labeled_counter__glean_error_invalid_label ON ${page_view.document_id} = ${page_view__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: page_view__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${page_view.metrics__labeled_counter__glean_error_invalid_overflow}) AS page_view__metrics__labeled_counter__glean_error_invalid_overflow ON ${page_view.document_id} = ${page_view__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: page_view__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${page_view.metrics__labeled_counter__glean_error_invalid_state}) AS page_view__metrics__labeled_counter__glean_error_invalid_state ON ${page_view.document_id} = ${page_view__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: page_view__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${page_view.metrics__labeled_counter__glean_error_invalid_value}) AS page_view__metrics__labeled_counter__glean_error_invalid_value ON ${page_view.document_id} = ${page_view__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
|
||||
join: page_view__events {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${page_view.events}) AS page_view__events ;;
|
||||
}
|
||||
|
||||
join: page_view__events__extra {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${page_view__events.extra}) AS page_view__events__extra ;;
|
||||
}
|
||||
|
||||
join: page_view__ping_info__experiments {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${page_view.ping_info__experiments}) AS page_view__ping_info__experiments ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__page_view__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
|
@ -1,811 +0,0 @@
|
|||
|
||||
# *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: deletion_request {
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
label: "Glean Client Annotation Experimentation Id"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Glean Client Annotation"
|
||||
group_item_label: "Experimentation Id"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Client Annotation Experimentation Id"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/glean_client_annotation_experimentation_id"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
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/bedrock/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/bedrock/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/bedrock/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/bedrock/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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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.bedrock.deletion_request` ;;
|
||||
}
|
||||
|
||||
view: deletion_request__metrics__labeled_counter__glean_error_invalid_label {
|
||||
label: "Glean Error - Invalid Label"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
suggest_explore: suggest__deletion_request__metrics__labeled_counter__glean_error_invalid_label
|
||||
suggest_dimension: suggest__deletion_request__metrics__labeled_counter__glean_error_invalid_label.key
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${deletion_request.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: deletion_request__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
label: "Glean Error - Invalid Overflow"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${deletion_request.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: deletion_request__metrics__labeled_counter__glean_error_invalid_state {
|
||||
label: "Glean Error - Invalid State"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${deletion_request.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: deletion_request__metrics__labeled_counter__glean_error_invalid_value {
|
||||
label: "Glean Error - Invalid Value"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${deletion_request.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: suggest__deletion_request__metrics__labeled_counter__glean_error_invalid_label {
|
||||
derived_table: {
|
||||
sql: select
|
||||
m.key,
|
||||
count(*) as n
|
||||
from mozdata.bedrock.deletion_request 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: deletion_request__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: deletion_request__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: deletion_request__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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,567 +0,0 @@
|
|||
|
||||
# *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: deletion_request_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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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__string__glean_client_annotation_experimentation_id {
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Client Annotation Experimentation Id"
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
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.bedrock.deletion_request` ;;
|
||||
}
|
||||
|
||||
view: deletion_request_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: deletion_request_table__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: deletion_request_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
|
||||
# *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: "events_unnested_table.view.lkml"
|
||||
|
||||
view: events {
|
||||
extends: [events_unnested_table]
|
||||
|
||||
measure: event_count {
|
||||
type: count
|
||||
description: "The number of times the event(s) occurred."
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: ${client_info__client_id} ;;
|
||||
description: "The number of clients that completed the event(s)."
|
||||
}
|
||||
|
||||
dimension: event_id {
|
||||
primary_key: yes
|
||||
}
|
||||
}
|
|
@ -1,446 +0,0 @@
|
|||
|
||||
# *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: events_stream_table {
|
||||
dimension: additional_properties {
|
||||
sql: ${TABLE}.additional_properties ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: client_id {
|
||||
sql: ${TABLE}.client_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: client_info__app_build {
|
||||
sql: ${TABLE}.client_info.app_build ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "App Build"
|
||||
}
|
||||
|
||||
dimension: client_info__app_channel {
|
||||
sql: ${TABLE}.client_info.app_channel ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "App Channel"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: client_info__architecture {
|
||||
sql: ${TABLE}.client_info.architecture ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Architecture"
|
||||
}
|
||||
|
||||
dimension: client_info__build_date {
|
||||
sql: ${TABLE}.client_info.build_date ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Build Date"
|
||||
}
|
||||
|
||||
dimension: client_info__device_manufacturer {
|
||||
sql: ${TABLE}.client_info.device_manufacturer ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Device Manufacturer"
|
||||
}
|
||||
|
||||
dimension: client_info__device_model {
|
||||
sql: ${TABLE}.client_info.device_model ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Device Model"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: client_info__locale {
|
||||
sql: ${TABLE}.client_info.locale ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Locale"
|
||||
}
|
||||
|
||||
dimension: client_info__os {
|
||||
sql: ${TABLE}.client_info.os ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Os"
|
||||
}
|
||||
|
||||
dimension: client_info__os_version {
|
||||
sql: ${TABLE}.client_info.os_version ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Os Version"
|
||||
}
|
||||
|
||||
dimension: client_info__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: document_id {
|
||||
sql: ${TABLE}.document_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: event {
|
||||
sql: ${TABLE}.event ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: event_category {
|
||||
sql: ${TABLE}.event_category ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: event_extra {
|
||||
sql: ${TABLE}.event_extra ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: event_name {
|
||||
sql: ${TABLE}.event_name ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: experiments {
|
||||
sql: ${TABLE}.experiments ;;
|
||||
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
|
||||
}
|
||||
|
||||
dimension: metadata__geo__db_version {
|
||||
sql: ${TABLE}.metadata.geo.db_version ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "Db Version"
|
||||
}
|
||||
|
||||
dimension: metadata__geo__subdivision1 {
|
||||
sql: ${TABLE}.metadata.geo.subdivision1 ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "Subdivision1"
|
||||
}
|
||||
|
||||
dimension: metadata__geo__subdivision2 {
|
||||
sql: ${TABLE}.metadata.geo.subdivision2 ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "Subdivision2"
|
||||
}
|
||||
|
||||
dimension: metadata__header__date {
|
||||
sql: ${TABLE}.metadata.header.date ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "Date"
|
||||
}
|
||||
|
||||
dimension: metadata__header__dnt {
|
||||
sql: ${TABLE}.metadata.header.dnt ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "Dnt"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: metadata__isp__db_version {
|
||||
sql: ${TABLE}.metadata.isp.db_version ;;
|
||||
type: string
|
||||
group_label: "Metadata Isp"
|
||||
group_item_label: "Db Version"
|
||||
}
|
||||
|
||||
dimension: metadata__isp__name {
|
||||
sql: ${TABLE}.metadata.isp.name ;;
|
||||
type: string
|
||||
group_label: "Metadata Isp"
|
||||
group_item_label: "Name"
|
||||
}
|
||||
|
||||
dimension: metadata__isp__organization {
|
||||
sql: ${TABLE}.metadata.isp.organization ;;
|
||||
type: string
|
||||
group_label: "Metadata Isp"
|
||||
group_item_label: "Organization"
|
||||
}
|
||||
|
||||
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 {
|
||||
sql: ${TABLE}.metrics ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: normalized_app_name {
|
||||
sql: ${TABLE}.normalized_app_name ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_channel {
|
||||
sql: ${TABLE}.normalized_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_country_code {
|
||||
sql: ${TABLE}.normalized_country_code ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os {
|
||||
sql: ${TABLE}.normalized_os ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
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__ping_type {
|
||||
sql: ${TABLE}.ping_info.ping_type ;;
|
||||
type: string
|
||||
group_label: "Ping Info"
|
||||
group_item_label: "Ping Type"
|
||||
}
|
||||
|
||||
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: profile_group_id {
|
||||
sql: ${TABLE}.profile_group_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: reason {
|
||||
sql: ${TABLE}.reason ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: sample_id {
|
||||
sql: ${TABLE}.sample_id ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension_group: event {
|
||||
sql: ${TABLE}.event_timestamp ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
}
|
||||
|
||||
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,
|
||||
]
|
||||
}
|
||||
|
||||
sql_table_name: `mozdata.bedrock.events_stream` ;;
|
||||
}
|
|
@ -1,657 +0,0 @@
|
|||
|
||||
# *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: events_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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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__datetime__raw_page_viewed {
|
||||
sql: ${TABLE}.metrics.datetime.raw_page_viewed ;;
|
||||
type: string
|
||||
group_label: "Metrics Datetime"
|
||||
group_item_label: "Raw Page Viewed"
|
||||
}
|
||||
|
||||
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_string__page_query_params {
|
||||
sql: ${TABLE}.metrics.labeled_string.page_query_params ;;
|
||||
hidden: yes
|
||||
description: "Query parameters associated with the URL of
|
||||
the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Client Annotation Experimentation Id"
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_http_status {
|
||||
sql: ${TABLE}.metrics.string.page_http_status ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Http Status"
|
||||
description: "The HTTP status code of the page.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_locale {
|
||||
sql: ${TABLE}.metrics.string.page_locale ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Locale"
|
||||
description: "The locale of the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_path {
|
||||
sql: ${TABLE}.metrics.string.page_path ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Path"
|
||||
description: "The URL path of the page that was viewed, excluding locale.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_referrer {
|
||||
sql: ${TABLE}.metrics.string.page_referrer ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Referrer"
|
||||
description: "The referring URL that linked to the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__uuid__glean_page_id {
|
||||
sql: ${TABLE}.metrics.uuid.glean_page_id ;;
|
||||
type: string
|
||||
group_label: "Metrics Uuid"
|
||||
group_item_label: "Glean Page Id"
|
||||
description: "Uniquely identifies a page_load, not the page itself, for the purpose of associating other events with the specific page load event. This gets
|
||||
rotated with each page load and is sent along with each event 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: metrics__datetime__page_viewed {
|
||||
sql: ${TABLE}.metrics.datetime.page_viewed ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
label: "Metrics Datetime: Page Viewed"
|
||||
description: "The time a page was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
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.bedrock.events` ;;
|
||||
}
|
||||
|
||||
view: events_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: events_table__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: events_table__metrics__labeled_string__page_query_params {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: events_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,467 +0,0 @@
|
|||
|
||||
# *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: events_unnested_table {
|
||||
dimension: additional_properties {
|
||||
sql: ${TABLE}.additional_properties ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: client_info__app_build {
|
||||
sql: ${TABLE}.client_info.app_build ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "App Build"
|
||||
}
|
||||
|
||||
dimension: client_info__app_channel {
|
||||
sql: ${TABLE}.client_info.app_channel ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "App Channel"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: client_info__architecture {
|
||||
sql: ${TABLE}.client_info.architecture ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Architecture"
|
||||
}
|
||||
|
||||
dimension: client_info__build_date {
|
||||
sql: ${TABLE}.client_info.build_date ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Build Date"
|
||||
}
|
||||
|
||||
dimension: client_info__client_id {
|
||||
sql: ${TABLE}.client_info.client_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: client_info__device_manufacturer {
|
||||
sql: ${TABLE}.client_info.device_manufacturer ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Device Manufacturer"
|
||||
}
|
||||
|
||||
dimension: client_info__device_model {
|
||||
sql: ${TABLE}.client_info.device_model ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Device Model"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: client_info__locale {
|
||||
sql: ${TABLE}.client_info.locale ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Locale"
|
||||
}
|
||||
|
||||
dimension: client_info__os {
|
||||
sql: ${TABLE}.client_info.os ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Os"
|
||||
}
|
||||
|
||||
dimension: client_info__os_version {
|
||||
sql: ${TABLE}.client_info.os_version ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Os Version"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: document_id {
|
||||
sql: ${TABLE}.document_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: event_category {
|
||||
sql: ${TABLE}.event_category ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: event_extra {
|
||||
sql: ${TABLE}.event_extra ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: event_id {
|
||||
sql: ${TABLE}.event_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: event_name {
|
||||
sql: ${TABLE}.event_name ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: event_timestamp {
|
||||
sql: ${TABLE}.event_timestamp ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
dimension: metadata__geo__db_version {
|
||||
sql: ${TABLE}.metadata.geo.db_version ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "Db Version"
|
||||
}
|
||||
|
||||
dimension: metadata__geo__subdivision1 {
|
||||
sql: ${TABLE}.metadata.geo.subdivision1 ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "Subdivision1"
|
||||
}
|
||||
|
||||
dimension: metadata__geo__subdivision2 {
|
||||
sql: ${TABLE}.metadata.geo.subdivision2 ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "Subdivision2"
|
||||
}
|
||||
|
||||
dimension: metadata__header__date {
|
||||
sql: ${TABLE}.metadata.header.date ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "Date"
|
||||
}
|
||||
|
||||
dimension: metadata__header__dnt {
|
||||
sql: ${TABLE}.metadata.header.dnt ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "Dnt"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: metadata__isp__db_version {
|
||||
sql: ${TABLE}.metadata.isp.db_version ;;
|
||||
type: string
|
||||
group_label: "Metadata Isp"
|
||||
group_item_label: "Db Version"
|
||||
}
|
||||
|
||||
dimension: metadata__isp__name {
|
||||
sql: ${TABLE}.metadata.isp.name ;;
|
||||
type: string
|
||||
group_label: "Metadata Isp"
|
||||
group_item_label: "Name"
|
||||
}
|
||||
|
||||
dimension: metadata__isp__organization {
|
||||
sql: ${TABLE}.metadata.isp.organization ;;
|
||||
type: string
|
||||
group_label: "Metadata Isp"
|
||||
group_item_label: "Organization"
|
||||
}
|
||||
|
||||
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_id {
|
||||
sql: ${TABLE}.normalized_app_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_app_name {
|
||||
sql: ${TABLE}.normalized_app_name ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_channel {
|
||||
sql: ${TABLE}.normalized_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_country_code {
|
||||
sql: ${TABLE}.normalized_country_code ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os {
|
||||
sql: ${TABLE}.normalized_os ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
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,
|
||||
]
|
||||
}
|
||||
|
||||
sql_table_name: `mozdata.bedrock.events_unnested` ;;
|
||||
}
|
||||
|
||||
view: events_unnested_table__event_extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: events_unnested_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,932 +0,0 @@
|
|||
|
||||
# *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: interaction {
|
||||
dimension: metrics__string__page_http_status {
|
||||
label: "Page Http Status"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.page_http_status ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Http Status"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Http Status"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_http_status"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The HTTP status code of the page.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_locale {
|
||||
label: "Page Locale"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.page_locale ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Locale"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Locale"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_locale"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The locale of the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_path {
|
||||
label: "Page Path"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.page_path ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Path"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Path"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_path"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The URL path of the page that was viewed, excluding locale.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__labeled_string__page_query_params {
|
||||
label: "Page Query Params"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.labeled_string.page_query_params ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Query Params"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Query Params"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_query_params"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "Query parameters associated with the URL of
|
||||
the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_referrer {
|
||||
label: "Page Referrer"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.page_referrer ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Referrer"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Referrer"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_referrer"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The referring URL that linked to the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
label: "Glean Client Annotation Experimentation Id"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Glean Client Annotation"
|
||||
group_item_label: "Experimentation Id"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Client Annotation Experimentation Id"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/glean_client_annotation_experimentation_id"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
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/bedrock/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/bedrock/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/bedrock/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/bedrock/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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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: metrics__datetime__page_viewed {
|
||||
label: "Page Viewed"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.datetime.page_viewed ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
description: "The time a page was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
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.bedrock.interaction` ;;
|
||||
}
|
||||
|
||||
view: interaction__metrics__labeled_counter__glean_error_invalid_label {
|
||||
label: "Glean Error - Invalid Label"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${interaction.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${interaction.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
suggest_explore: suggest__interaction__metrics__labeled_counter__glean_error_invalid_label
|
||||
suggest_dimension: suggest__interaction__metrics__labeled_counter__glean_error_invalid_label.key
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${interaction.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: interaction__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
label: "Glean Error - Invalid Overflow"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${interaction.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${interaction.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${interaction.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: interaction__metrics__labeled_counter__glean_error_invalid_state {
|
||||
label: "Glean Error - Invalid State"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${interaction.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${interaction.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${interaction.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: interaction__metrics__labeled_counter__glean_error_invalid_value {
|
||||
label: "Glean Error - Invalid Value"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${interaction.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${interaction.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${interaction.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: suggest__interaction__metrics__labeled_counter__glean_error_invalid_label {
|
||||
derived_table: {
|
||||
sql: select
|
||||
m.key,
|
||||
count(*) as n
|
||||
from mozdata.bedrock.interaction 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: interaction__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: interaction__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: interaction__metrics__labeled_string__page_query_params {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: interaction__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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,647 +0,0 @@
|
|||
|
||||
# *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: interaction_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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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__datetime__raw_page_viewed {
|
||||
sql: ${TABLE}.metrics.datetime.raw_page_viewed ;;
|
||||
type: string
|
||||
group_label: "Metrics Datetime"
|
||||
group_item_label: "Raw Page Viewed"
|
||||
}
|
||||
|
||||
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_string__page_query_params {
|
||||
sql: ${TABLE}.metrics.labeled_string.page_query_params ;;
|
||||
hidden: yes
|
||||
description: "Query parameters associated with the URL of
|
||||
the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Client Annotation Experimentation Id"
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_http_status {
|
||||
sql: ${TABLE}.metrics.string.page_http_status ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Http Status"
|
||||
description: "The HTTP status code of the page.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_locale {
|
||||
sql: ${TABLE}.metrics.string.page_locale ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Locale"
|
||||
description: "The locale of the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_path {
|
||||
sql: ${TABLE}.metrics.string.page_path ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Path"
|
||||
description: "The URL path of the page that was viewed, excluding locale.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_referrer {
|
||||
sql: ${TABLE}.metrics.string.page_referrer ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Referrer"
|
||||
description: "The referring URL that linked to the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
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: metrics__datetime__page_viewed {
|
||||
sql: ${TABLE}.metrics.datetime.page_viewed ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
label: "Metrics Datetime: Page Viewed"
|
||||
description: "The time a page was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
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.bedrock.interaction` ;;
|
||||
}
|
||||
|
||||
view: interaction_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: interaction_table__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: interaction_table__metrics__labeled_string__page_query_params {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: interaction_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,932 +0,0 @@
|
|||
|
||||
# *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: non_interaction {
|
||||
dimension: metrics__string__page_http_status {
|
||||
label: "Page Http Status"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.page_http_status ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Http Status"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Http Status"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_http_status"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The HTTP status code of the page.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_locale {
|
||||
label: "Page Locale"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.page_locale ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Locale"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Locale"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_locale"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The locale of the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_path {
|
||||
label: "Page Path"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.page_path ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Path"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Path"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_path"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The URL path of the page that was viewed, excluding locale.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__labeled_string__page_query_params {
|
||||
label: "Page Query Params"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.labeled_string.page_query_params ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Query Params"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Query Params"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_query_params"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "Query parameters associated with the URL of
|
||||
the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_referrer {
|
||||
label: "Page Referrer"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.page_referrer ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Referrer"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Referrer"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_referrer"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The referring URL that linked to the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
label: "Glean Client Annotation Experimentation Id"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Glean Client Annotation"
|
||||
group_item_label: "Experimentation Id"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Client Annotation Experimentation Id"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/glean_client_annotation_experimentation_id"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
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/bedrock/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/bedrock/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/bedrock/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/bedrock/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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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: metrics__datetime__page_viewed {
|
||||
label: "Page Viewed"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.datetime.page_viewed ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
description: "The time a page was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
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.bedrock.non_interaction` ;;
|
||||
}
|
||||
|
||||
view: non_interaction__metrics__labeled_counter__glean_error_invalid_label {
|
||||
label: "Glean Error - Invalid Label"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${non_interaction.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${non_interaction.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
suggest_explore: suggest__non_interaction__metrics__labeled_counter__glean_error_invalid_label
|
||||
suggest_dimension: suggest__non_interaction__metrics__labeled_counter__glean_error_invalid_label.key
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${non_interaction.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: non_interaction__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
label: "Glean Error - Invalid Overflow"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${non_interaction.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${non_interaction.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${non_interaction.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: non_interaction__metrics__labeled_counter__glean_error_invalid_state {
|
||||
label: "Glean Error - Invalid State"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${non_interaction.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${non_interaction.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${non_interaction.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: non_interaction__metrics__labeled_counter__glean_error_invalid_value {
|
||||
label: "Glean Error - Invalid Value"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${non_interaction.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${non_interaction.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${non_interaction.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: suggest__non_interaction__metrics__labeled_counter__glean_error_invalid_label {
|
||||
derived_table: {
|
||||
sql: select
|
||||
m.key,
|
||||
count(*) as n
|
||||
from mozdata.bedrock.non_interaction 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: non_interaction__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: non_interaction__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: non_interaction__metrics__labeled_string__page_query_params {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: non_interaction__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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,647 +0,0 @@
|
|||
|
||||
# *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: non_interaction_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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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__datetime__raw_page_viewed {
|
||||
sql: ${TABLE}.metrics.datetime.raw_page_viewed ;;
|
||||
type: string
|
||||
group_label: "Metrics Datetime"
|
||||
group_item_label: "Raw Page Viewed"
|
||||
}
|
||||
|
||||
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_string__page_query_params {
|
||||
sql: ${TABLE}.metrics.labeled_string.page_query_params ;;
|
||||
hidden: yes
|
||||
description: "Query parameters associated with the URL of
|
||||
the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Client Annotation Experimentation Id"
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_http_status {
|
||||
sql: ${TABLE}.metrics.string.page_http_status ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Http Status"
|
||||
description: "The HTTP status code of the page.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_locale {
|
||||
sql: ${TABLE}.metrics.string.page_locale ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Locale"
|
||||
description: "The locale of the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_path {
|
||||
sql: ${TABLE}.metrics.string.page_path ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Path"
|
||||
description: "The URL path of the page that was viewed, excluding locale.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_referrer {
|
||||
sql: ${TABLE}.metrics.string.page_referrer ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Referrer"
|
||||
description: "The referring URL that linked to the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
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: metrics__datetime__page_viewed {
|
||||
sql: ${TABLE}.metrics.datetime.page_viewed ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
label: "Metrics Datetime: Page Viewed"
|
||||
description: "The time a page was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
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.bedrock.non_interaction` ;;
|
||||
}
|
||||
|
||||
view: non_interaction_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: non_interaction_table__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: non_interaction_table__metrics__labeled_string__page_query_params {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: non_interaction_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,932 +0,0 @@
|
|||
|
||||
# *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: page_view {
|
||||
dimension: metrics__string__page_http_status {
|
||||
label: "Page Http Status"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.page_http_status ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Http Status"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Http Status"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_http_status"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The HTTP status code of the page.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_locale {
|
||||
label: "Page Locale"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.page_locale ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Locale"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Locale"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_locale"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The locale of the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_path {
|
||||
label: "Page Path"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.page_path ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Path"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Path"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_path"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The URL path of the page that was viewed, excluding locale.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__labeled_string__page_query_params {
|
||||
label: "Page Query Params"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.labeled_string.page_query_params ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Query Params"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Query Params"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_query_params"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "Query parameters associated with the URL of
|
||||
the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_referrer {
|
||||
label: "Page Referrer"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.page_referrer ;;
|
||||
type: string
|
||||
group_label: "Page"
|
||||
group_item_label: "Referrer"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Page Referrer"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/page_referrer"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The referring URL that linked to the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
label: "Glean Client Annotation Experimentation Id"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Glean Client Annotation"
|
||||
group_item_label: "Experimentation Id"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Client Annotation Experimentation Id"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/bedrock/metrics/glean_client_annotation_experimentation_id"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
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/bedrock/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/bedrock/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/bedrock/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/bedrock/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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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: metrics__datetime__page_viewed {
|
||||
label: "Page Viewed"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.datetime.page_viewed ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
description: "The time a page was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
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.bedrock.page_view` ;;
|
||||
}
|
||||
|
||||
view: page_view__metrics__labeled_counter__glean_error_invalid_label {
|
||||
label: "Glean Error - Invalid Label"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${page_view.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${page_view.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
suggest_explore: suggest__page_view__metrics__labeled_counter__glean_error_invalid_label
|
||||
suggest_dimension: suggest__page_view__metrics__labeled_counter__glean_error_invalid_label.key
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${page_view.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: page_view__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
label: "Glean Error - Invalid Overflow"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${page_view.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${page_view.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${page_view.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: page_view__metrics__labeled_counter__glean_error_invalid_state {
|
||||
label: "Glean Error - Invalid State"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${page_view.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${page_view.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${page_view.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: page_view__metrics__labeled_counter__glean_error_invalid_value {
|
||||
label: "Glean Error - Invalid Value"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${page_view.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${page_view.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${page_view.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: suggest__page_view__metrics__labeled_counter__glean_error_invalid_label {
|
||||
derived_table: {
|
||||
sql: select
|
||||
m.key,
|
||||
count(*) as n
|
||||
from mozdata.bedrock.page_view 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: page_view__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: page_view__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: page_view__metrics__labeled_string__page_query_params {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: page_view__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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,647 +0,0 @@
|
|||
|
||||
# *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: page_view_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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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__datetime__raw_page_viewed {
|
||||
sql: ${TABLE}.metrics.datetime.raw_page_viewed ;;
|
||||
type: string
|
||||
group_label: "Metrics Datetime"
|
||||
group_item_label: "Raw Page Viewed"
|
||||
}
|
||||
|
||||
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_string__page_query_params {
|
||||
sql: ${TABLE}.metrics.labeled_string.page_query_params ;;
|
||||
hidden: yes
|
||||
description: "Query parameters associated with the URL of
|
||||
the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Client Annotation Experimentation Id"
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_http_status {
|
||||
sql: ${TABLE}.metrics.string.page_http_status ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Http Status"
|
||||
description: "The HTTP status code of the page.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_locale {
|
||||
sql: ${TABLE}.metrics.string.page_locale ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Locale"
|
||||
description: "The locale of the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_path {
|
||||
sql: ${TABLE}.metrics.string.page_path ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Path"
|
||||
description: "The URL path of the page that was viewed, excluding locale.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__page_referrer {
|
||||
sql: ${TABLE}.metrics.string.page_referrer ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Page Referrer"
|
||||
description: "The referring URL that linked to the page that was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
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: metrics__datetime__page_viewed {
|
||||
sql: ${TABLE}.metrics.datetime.page_viewed ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
label: "Metrics Datetime: Page Viewed"
|
||||
description: "The time a page was viewed.
|
||||
"
|
||||
}
|
||||
|
||||
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.bedrock.page_view` ;;
|
||||
}
|
||||
|
||||
view: page_view_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: page_view_table__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: page_view_table__metrics__labeled_string__page_query_params {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: page_view_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -33,11 +33,15 @@ view: attribution_clients_table {
|
|||
dimension: distribution_id {
|
||||
sql: ${TABLE}.distribution_id ;;
|
||||
type: string
|
||||
description: "A string containing the distribution identifier.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: install_source {
|
||||
sql: ${TABLE}.install_source ;;
|
||||
type: string
|
||||
description: "The source of a profile installation.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: meta_attribution_app {
|
||||
|
@ -55,6 +59,16 @@ view: attribution_clients_table {
|
|||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_content {
|
||||
sql: ${TABLE}.play_store_attribution_content ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_install_referrer_response {
|
||||
sql: ${TABLE}.play_store_attribution_install_referrer_response ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_medium {
|
||||
sql: ${TABLE}.play_store_attribution_medium ;;
|
||||
type: string
|
||||
|
@ -65,6 +79,11 @@ view: attribution_clients_table {
|
|||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_term {
|
||||
sql: ${TABLE}.play_store_attribution_term ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: sample_id {
|
||||
sql: ${TABLE}.sample_id ;;
|
||||
type: number
|
||||
|
|
|
@ -111,6 +111,16 @@ view: engagement_clients_table {
|
|||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_content {
|
||||
sql: ${TABLE}.play_store_attribution_content ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_install_referrer_response {
|
||||
sql: ${TABLE}.play_store_attribution_install_referrer_response ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_medium {
|
||||
sql: ${TABLE}.play_store_attribution_medium ;;
|
||||
type: string
|
||||
|
@ -121,6 +131,11 @@ view: engagement_clients_table {
|
|||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_term {
|
||||
sql: ${TABLE}.play_store_attribution_term ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: sample_id {
|
||||
sql: ${TABLE}.sample_id ;;
|
||||
type: number
|
||||
|
|
|
@ -3962,6 +3962,60 @@ ensure it's not too expensive. This value is only available on Android
|
|||
description: "The difference between the length of encoded certificate vs the actual certificate."
|
||||
}
|
||||
|
||||
dimension: metrics__rate__cert_signature_cache_hits__numerator {
|
||||
label: "Cert Signature Cache Hits Numerator"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.rate.cert_signature_cache_hits.numerator ;;
|
||||
type: number
|
||||
group_label: "Cert Signature Cache"
|
||||
group_item_label: "Hits Numerator"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Cert Signature Cache Hits Numerator"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/fenix/metrics/cert_signature_cache_hits"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "How often a certificate signature to be verified is in the cache already.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__cert_signature_cache_hits__denominator {
|
||||
label: "Cert Signature Cache Hits Denominator"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.rate.cert_signature_cache_hits.denominator ;;
|
||||
type: number
|
||||
group_label: "Cert Signature Cache"
|
||||
group_item_label: "Hits Denominator"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Cert Signature Cache Hits Denominator"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/fenix/metrics/cert_signature_cache_hits"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "How often a certificate signature to be verified is in the cache already.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__counter__cert_signature_cache_total {
|
||||
label: "Cert Signature Cache Total"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.counter.cert_signature_cache_total ;;
|
||||
type: number
|
||||
group_label: "Cert Signature Cache"
|
||||
group_item_label: "Total"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Cert Signature Cache Total"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/fenix/metrics/cert_signature_cache_total"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "How many certificate signature verifications are performed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__memory_distribution__cert_storage_memory__sum {
|
||||
label: "Cert Storage Memory Sum"
|
||||
hidden: no
|
||||
|
@ -11425,6 +11479,60 @@ To be used to validate GIFFT.
|
|||
"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__sct_signature_cache_hits__numerator {
|
||||
label: "Sct Signature Cache Hits Numerator"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.rate.sct_signature_cache_hits.numerator ;;
|
||||
type: number
|
||||
group_label: "Sct Signature Cache"
|
||||
group_item_label: "Hits Numerator"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Sct Signature Cache Hits Numerator"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/fenix/metrics/sct_signature_cache_hits"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "How often an SCT signature to be verified is in the cache already.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__sct_signature_cache_hits__denominator {
|
||||
label: "Sct Signature Cache Hits Denominator"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.rate.sct_signature_cache_hits.denominator ;;
|
||||
type: number
|
||||
group_label: "Sct Signature Cache"
|
||||
group_item_label: "Hits Denominator"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Sct Signature Cache Hits Denominator"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/fenix/metrics/sct_signature_cache_hits"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "How often an SCT signature to be verified is in the cache already.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__counter__sct_signature_cache_total {
|
||||
label: "Sct Signature Cache Total"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.counter.sct_signature_cache_total ;;
|
||||
type: number
|
||||
group_label: "Sct Signature Cache"
|
||||
group_item_label: "Total"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Sct Signature Cache Total"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/fenix/metrics/sct_signature_cache_total"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "How many SCT signature verifications are performed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__custom_distribution__timer_thread_timers_fired_per_wakeup__sum {
|
||||
label: "Timer Thread Timers Fired Per Wakeup Sum"
|
||||
hidden: no
|
||||
|
@ -15285,6 +15393,31 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_
|
|||
}
|
||||
}
|
||||
|
||||
measure: cert_signature_cache_total {
|
||||
type: sum
|
||||
sql: ${metrics__counter__cert_signature_cache_total} ;;
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Cert Signature Cache Total"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/fenix/metrics/cert_signature_cache_total"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
}
|
||||
|
||||
measure: cert_signature_cache_total_client_count {
|
||||
type: count_distinct
|
||||
filters: [
|
||||
metrics__counter__cert_signature_cache_total: ">0",
|
||||
]
|
||||
sql: ${client_info__client_id} ;;
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Cert Signature Cache Total"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/fenix/metrics/cert_signature_cache_total"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
}
|
||||
|
||||
measure: cookie_banners_cookie_injection_fail {
|
||||
type: sum
|
||||
sql: ${metrics__counter__cookie_banners_cookie_injection_fail} ;;
|
||||
|
@ -16085,6 +16218,31 @@ Deprecated: `native_code_crash`, `fatal_native_code_crash` and `nonfatal_native_
|
|||
}
|
||||
}
|
||||
|
||||
measure: sct_signature_cache_total {
|
||||
type: sum
|
||||
sql: ${metrics__counter__sct_signature_cache_total} ;;
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Sct Signature Cache Total"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/fenix/metrics/sct_signature_cache_total"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
}
|
||||
|
||||
measure: sct_signature_cache_total_client_count {
|
||||
type: count_distinct
|
||||
filters: [
|
||||
metrics__counter__sct_signature_cache_total: ">0",
|
||||
]
|
||||
sql: ${client_info__client_id} ;;
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Sct Signature Cache Total"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/fenix/metrics/sct_signature_cache_total"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
}
|
||||
|
||||
measure: tls_certificate_verifications {
|
||||
type: sum
|
||||
sql: ${metrics__counter__tls_certificate_verifications} ;;
|
||||
|
|
|
@ -794,6 +794,13 @@ view: metrics_table {
|
|||
group_item_label: "Bounce Tracking Protection Purge Count Classified Tracker"
|
||||
}
|
||||
|
||||
dimension: metrics__counter__cert_signature_cache_total {
|
||||
sql: ${TABLE}.metrics.counter.cert_signature_cache_total ;;
|
||||
type: number
|
||||
group_label: "Metrics Counter"
|
||||
group_item_label: "Cert Signature Cache Total"
|
||||
}
|
||||
|
||||
dimension: metrics__counter__cookie_banners_cookie_injection_fail {
|
||||
sql: ${TABLE}.metrics.counter.cookie_banners_cookie_injection_fail ;;
|
||||
type: number
|
||||
|
@ -1354,6 +1361,13 @@ view: metrics_table {
|
|||
group_item_label: "Rtcrtpsender Count Setparameters Compat"
|
||||
}
|
||||
|
||||
dimension: metrics__counter__sct_signature_cache_total {
|
||||
sql: ${TABLE}.metrics.counter.sct_signature_cache_total ;;
|
||||
type: number
|
||||
group_label: "Metrics Counter"
|
||||
group_item_label: "Sct Signature Cache Total"
|
||||
}
|
||||
|
||||
dimension: metrics__counter__settings_sign_into_sync {
|
||||
sql: ${TABLE}.metrics.counter.settings_sign_into_sync ;;
|
||||
type: number
|
||||
|
@ -4096,6 +4110,20 @@ view: metrics_table {
|
|||
group_item_label: "Recent Bookmarks Recent Bookmarks Count"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__cert_signature_cache_hits__denominator {
|
||||
sql: ${TABLE}.metrics.rate.cert_signature_cache_hits.denominator ;;
|
||||
type: number
|
||||
group_label: "Metrics Rate Cert Signature Cache Hits"
|
||||
group_item_label: "Denominator"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__cert_signature_cache_hits__numerator {
|
||||
sql: ${TABLE}.metrics.rate.cert_signature_cache_hits.numerator ;;
|
||||
type: number
|
||||
group_label: "Metrics Rate Cert Signature Cache Hits"
|
||||
group_item_label: "Numerator"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__cookie_banners_cmp_ratio_handled_by_cmp_rule__denominator {
|
||||
sql: ${TABLE}.metrics.rate.cookie_banners_cmp_ratio_handled_by_cmp_rule.denominator ;;
|
||||
type: number
|
||||
|
@ -4418,6 +4446,20 @@ view: metrics_table {
|
|||
group_item_label: "Numerator"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__sct_signature_cache_hits__denominator {
|
||||
sql: ${TABLE}.metrics.rate.sct_signature_cache_hits.denominator ;;
|
||||
type: number
|
||||
group_label: "Metrics Rate Sct Signature Cache Hits"
|
||||
group_item_label: "Denominator"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__sct_signature_cache_hits__numerator {
|
||||
sql: ${TABLE}.metrics.rate.sct_signature_cache_hits.numerator ;;
|
||||
type: number
|
||||
group_label: "Metrics Rate Sct Signature Cache Hits"
|
||||
group_item_label: "Numerator"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__translations_error_rate__denominator {
|
||||
sql: ${TABLE}.metrics.rate.translations_error_rate.denominator ;;
|
||||
type: number
|
||||
|
|
|
@ -111,6 +111,16 @@ view: new_profile_clients_table {
|
|||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_content {
|
||||
sql: ${TABLE}.play_store_attribution_content ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_install_referrer_response {
|
||||
sql: ${TABLE}.play_store_attribution_install_referrer_response ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_medium {
|
||||
sql: ${TABLE}.play_store_attribution_medium ;;
|
||||
type: string
|
||||
|
@ -121,6 +131,11 @@ view: new_profile_clients_table {
|
|||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_term {
|
||||
sql: ${TABLE}.play_store_attribution_term ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension_group: first_seen {
|
||||
sql: ${TABLE}.first_seen_date ;;
|
||||
type: time
|
||||
|
|
|
@ -126,6 +126,16 @@ view: retention_clients_table {
|
|||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_content {
|
||||
sql: ${TABLE}.play_store_attribution_content ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_install_referrer_response {
|
||||
sql: ${TABLE}.play_store_attribution_install_referrer_response ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_medium {
|
||||
sql: ${TABLE}.play_store_attribution_medium ;;
|
||||
type: string
|
||||
|
@ -136,6 +146,11 @@ view: retention_clients_table {
|
|||
type: string
|
||||
}
|
||||
|
||||
dimension: play_store_attribution_term {
|
||||
sql: ${TABLE}.play_store_attribution_term ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: repeat_profile {
|
||||
sql: ${TABLE}.repeat_profile ;;
|
||||
type: yesno
|
||||
|
|
|
@ -2613,6 +2613,60 @@ in browser.
|
|||
description: "The difference between the length of encoded certificate vs the actual certificate."
|
||||
}
|
||||
|
||||
dimension: metrics__rate__cert_signature_cache_hits__numerator {
|
||||
label: "Cert Signature Cache Hits Numerator"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.rate.cert_signature_cache_hits.numerator ;;
|
||||
type: number
|
||||
group_label: "Cert Signature Cache"
|
||||
group_item_label: "Hits Numerator"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Cert Signature Cache Hits Numerator"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/cert_signature_cache_hits"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "How often a certificate signature to be verified is in the cache already.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__cert_signature_cache_hits__denominator {
|
||||
label: "Cert Signature Cache Hits Denominator"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.rate.cert_signature_cache_hits.denominator ;;
|
||||
type: number
|
||||
group_label: "Cert Signature Cache"
|
||||
group_item_label: "Hits Denominator"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Cert Signature Cache Hits Denominator"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/cert_signature_cache_hits"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "How often a certificate signature to be verified is in the cache already.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__counter__cert_signature_cache_total {
|
||||
label: "Cert Signature Cache Total"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.counter.cert_signature_cache_total ;;
|
||||
type: number
|
||||
group_label: "Cert Signature Cache"
|
||||
group_item_label: "Total"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Cert Signature Cache Total"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/cert_signature_cache_total"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "How many certificate signature verifications are performed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__memory_distribution__cert_storage_memory__sum {
|
||||
label: "Cert Storage Memory Sum"
|
||||
hidden: no
|
||||
|
@ -9877,6 +9931,60 @@ To be used to validate GIFFT.
|
|||
"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__sct_signature_cache_hits__numerator {
|
||||
label: "Sct Signature Cache Hits Numerator"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.rate.sct_signature_cache_hits.numerator ;;
|
||||
type: number
|
||||
group_label: "Sct Signature Cache"
|
||||
group_item_label: "Hits Numerator"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Sct Signature Cache Hits Numerator"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/sct_signature_cache_hits"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "How often an SCT signature to be verified is in the cache already.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__sct_signature_cache_hits__denominator {
|
||||
label: "Sct Signature Cache Hits Denominator"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.rate.sct_signature_cache_hits.denominator ;;
|
||||
type: number
|
||||
group_label: "Sct Signature Cache"
|
||||
group_item_label: "Hits Denominator"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Sct Signature Cache Hits Denominator"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/sct_signature_cache_hits"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "How often an SCT signature to be verified is in the cache already.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__counter__sct_signature_cache_total {
|
||||
label: "Sct Signature Cache Total"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.counter.sct_signature_cache_total ;;
|
||||
type: number
|
||||
group_label: "Sct Signature Cache"
|
||||
group_item_label: "Total"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Sct Signature Cache Total"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/sct_signature_cache_total"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "How many SCT signature verifications are performed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__custom_distribution__timer_thread_timers_fired_per_wakeup__sum {
|
||||
label: "Timer Thread Timers Fired Per Wakeup Sum"
|
||||
hidden: no
|
||||
|
@ -12048,6 +12156,31 @@ documented in the ping's pings.yaml file.
|
|||
}
|
||||
}
|
||||
|
||||
measure: cert_signature_cache_total {
|
||||
type: sum
|
||||
sql: ${metrics__counter__cert_signature_cache_total} ;;
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Cert Signature Cache Total"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/cert_signature_cache_total"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
}
|
||||
|
||||
measure: cert_signature_cache_total_client_count {
|
||||
type: count_distinct
|
||||
filters: [
|
||||
metrics__counter__cert_signature_cache_total: ">0",
|
||||
]
|
||||
sql: ${client_info__client_id} ;;
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Cert Signature Cache Total"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/cert_signature_cache_total"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
}
|
||||
|
||||
measure: cookie_banners_cookie_injection_fail {
|
||||
type: sum
|
||||
sql: ${metrics__counter__cookie_banners_cookie_injection_fail} ;;
|
||||
|
@ -12848,6 +12981,31 @@ documented in the ping's pings.yaml file.
|
|||
}
|
||||
}
|
||||
|
||||
measure: sct_signature_cache_total {
|
||||
type: sum
|
||||
sql: ${metrics__counter__sct_signature_cache_total} ;;
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Sct Signature Cache Total"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/sct_signature_cache_total"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
}
|
||||
|
||||
measure: sct_signature_cache_total_client_count {
|
||||
type: count_distinct
|
||||
filters: [
|
||||
metrics__counter__sct_signature_cache_total: ">0",
|
||||
]
|
||||
sql: ${client_info__client_id} ;;
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Sct Signature Cache Total"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop/metrics/sct_signature_cache_total"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
}
|
||||
|
||||
measure: tls_certificate_verifications {
|
||||
type: sum
|
||||
sql: ${metrics__counter__tls_certificate_verifications} ;;
|
||||
|
|
|
@ -658,6 +658,15 @@ Migrated from Telemetry's
|
|||
"
|
||||
}
|
||||
|
||||
dimension: metrics__counter__cert_signature_cache_total {
|
||||
sql: ${TABLE}.metrics.counter.cert_signature_cache_total ;;
|
||||
type: number
|
||||
group_label: "Metrics Counter"
|
||||
group_item_label: "Cert Signature Cache Total"
|
||||
description: "How many certificate signature verifications are performed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__counter__cookie_banners_cookie_injection_fail {
|
||||
sql: ${TABLE}.metrics.counter.cookie_banners_cookie_injection_fail ;;
|
||||
type: number
|
||||
|
@ -1124,6 +1133,15 @@ This does not include deletion-request pings.
|
|||
"
|
||||
}
|
||||
|
||||
dimension: metrics__counter__sct_signature_cache_total {
|
||||
sql: ${TABLE}.metrics.counter.sct_signature_cache_total ;;
|
||||
type: number
|
||||
group_label: "Metrics Counter"
|
||||
group_item_label: "Sct Signature Cache Total"
|
||||
description: "How many SCT signature verifications are performed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__counter__shopping_product_page_visits {
|
||||
sql: ${TABLE}.metrics.counter.shopping_product_page_visits ;;
|
||||
type: number
|
||||
|
@ -4345,6 +4363,20 @@ API for the purposes of Validation (hence GVSV).
|
|||
"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__cert_signature_cache_hits__denominator {
|
||||
sql: ${TABLE}.metrics.rate.cert_signature_cache_hits.denominator ;;
|
||||
type: number
|
||||
group_label: "Metrics Rate Cert Signature Cache Hits"
|
||||
group_item_label: "Denominator"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__cert_signature_cache_hits__numerator {
|
||||
sql: ${TABLE}.metrics.rate.cert_signature_cache_hits.numerator ;;
|
||||
type: number
|
||||
group_label: "Metrics Rate Cert Signature Cache Hits"
|
||||
group_item_label: "Numerator"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__cookie_banners_cmp_ratio_handled_by_cmp_rule__denominator {
|
||||
sql: ${TABLE}.metrics.rate.cookie_banners_cmp_ratio_handled_by_cmp_rule.denominator ;;
|
||||
type: number
|
||||
|
@ -4681,6 +4713,20 @@ API for the purposes of Validation (hence GVSV).
|
|||
group_item_label: "Numerator"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__sct_signature_cache_hits__denominator {
|
||||
sql: ${TABLE}.metrics.rate.sct_signature_cache_hits.denominator ;;
|
||||
type: number
|
||||
group_label: "Metrics Rate Sct Signature Cache Hits"
|
||||
group_item_label: "Denominator"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__sct_signature_cache_hits__numerator {
|
||||
sql: ${TABLE}.metrics.rate.sct_signature_cache_hits.numerator ;;
|
||||
type: number
|
||||
group_label: "Metrics Rate Sct Signature Cache Hits"
|
||||
group_item_label: "Numerator"
|
||||
}
|
||||
|
||||
dimension: metrics__rate__translations_error_rate__denominator {
|
||||
sql: ${TABLE}.metrics.rate.translations_error_rate.denominator ;;
|
||||
type: number
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: baseline_clients_daily_v1_last_updated {
|
||||
label: "Baseline Clients Daily Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_defaultagent_derived'
|
||||
AND table_name = 'baseline_clients_daily_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_defaultagent_derived.baseline_clients_daily_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: baseline_clients_last_seen_v1_last_updated {
|
||||
label: "Baseline Clients Last Seen Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_defaultagent_derived'
|
||||
AND table_name = 'baseline_clients_last_seen_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_defaultagent_derived.baseline_clients_last_seen_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: baseline_v1_last_updated {
|
||||
label: "baseline_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_defaultagent_stable'
|
||||
AND table_name = 'baseline_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_defaultagent_stable.baseline_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: default_agent_v1_last_updated {
|
||||
label: "default_agent_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_defaultagent_stable'
|
||||
AND table_name = 'default_agent_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_defaultagent_stable.default_agent_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: deletion_request_v1_last_updated {
|
||||
label: "deletion_request_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_defaultagent_stable'
|
||||
AND table_name = 'deletion_request_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_defaultagent_stable.deletion_request_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: events_stream_v1_last_updated {
|
||||
label: "Events Stream Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_defaultagent_derived'
|
||||
AND table_name = 'events_stream_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_defaultagent_derived.events_stream_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: events_v1_last_updated {
|
||||
label: "events_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_defaultagent_stable'
|
||||
AND table_name = 'events_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_defaultagent_stable.events_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: metrics_clients_daily_v1_last_updated {
|
||||
label: "Metrics Clients Daily Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_defaultagent_derived'
|
||||
AND table_name = 'metrics_clients_daily_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_defaultagent_derived.metrics_clients_daily_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: metrics_v1_last_updated {
|
||||
label: "metrics_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_defaultagent_stable'
|
||||
AND table_name = 'metrics_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_defaultagent_stable.metrics_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
|
||||
# *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_background_defaultagent/views/baseline.view.lkml"
|
||||
|
||||
explore: baseline {
|
||||
sql_always_where: ${baseline.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Baseline"
|
||||
description: "Explore for the baseline ping. This ping is intended to provide metrics that are managed by the library itself, and not explicitly set by the application or included in the application's `metrics.yaml` file. The `baseline` ping is automatically sent when the application becomes inactive and when the application becomes active again (including application start). Please see the Reasons section for more information."
|
||||
view_name: baseline
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: baseline__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline.metrics__labeled_counter__glean_error_invalid_label}) AS baseline__metrics__labeled_counter__glean_error_invalid_label ON ${baseline.document_id} = ${baseline__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: baseline__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline.metrics__labeled_counter__glean_error_invalid_overflow}) AS baseline__metrics__labeled_counter__glean_error_invalid_overflow ON ${baseline.document_id} = ${baseline__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: baseline__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline.metrics__labeled_counter__glean_error_invalid_state}) AS baseline__metrics__labeled_counter__glean_error_invalid_state ON ${baseline.document_id} = ${baseline__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: baseline__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline.metrics__labeled_counter__glean_error_invalid_value}) AS baseline__metrics__labeled_counter__glean_error_invalid_value ON ${baseline.document_id} = ${baseline__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
|
||||
join: baseline__metrics__labeled_counter__glean_validation_pings_submitted {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline.metrics__labeled_counter__glean_validation_pings_submitted}) AS baseline__metrics__labeled_counter__glean_validation_pings_submitted ON ${baseline.document_id} = ${baseline__metrics__labeled_counter__glean_validation_pings_submitted.document_id} ;;
|
||||
}
|
||||
|
||||
join: baseline__events {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline.events}) AS baseline__events ;;
|
||||
}
|
||||
|
||||
join: baseline__events__extra {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline__events.extra}) AS baseline__events__extra ;;
|
||||
}
|
||||
|
||||
join: baseline__ping_info__experiments {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline.ping_info__experiments}) AS baseline__ping_info__experiments ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__baseline__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
|
@ -1,44 +0,0 @@
|
|||
|
||||
# *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_background_defaultagent/views/client_counts.view.lkml"
|
||||
|
||||
explore: client_counts {
|
||||
sql_always_where: ${client_counts.submission_date} >= '2010-01-01' ;;
|
||||
view_name: client_counts
|
||||
description: "Client counts across dimensions and cohorts."
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
query: cohort_analysis {
|
||||
description: "Client Counts of weekly cohorts over the past N days."
|
||||
dimensions: [days_since_first_seen, first_seen_week]
|
||||
measures: [client_count]
|
||||
pivots: [first_seen_week]
|
||||
filters: [
|
||||
submission_date: "8 weeks",
|
||||
first_seen_date: "8 weeks",
|
||||
have_completed_period: "yes",
|
||||
]
|
||||
sorts: [
|
||||
days_since_first_seen: asc,
|
||||
]
|
||||
}
|
||||
|
||||
query: build_breakdown {
|
||||
description: "Number of clients per build."
|
||||
dimensions: [submission_date, app_build]
|
||||
measures: [client_count]
|
||||
pivots: [app_build]
|
||||
sorts: [
|
||||
submission_date: asc,
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
|
||||
# *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_background_defaultagent/views/default_agent.view.lkml"
|
||||
|
||||
explore: default_agent {
|
||||
sql_always_where: ${default_agent.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Default_Agent"
|
||||
description: "Explore for the default_agent ping. This opt-out ping is sent from the Default Agent, which is a Windows-only Firefox Background Task that is registered during Firefox installation with the Windows scheduled tasks system so that it runs automatically every 24 hours, whether Firefox is running or not. Opting out of telemetry is handled via the pref value being copied to the registry so that the Default Agent can read it without needing to work with profiles. Relevant policies are consulted as well. The agent also has its own pref, `default-agent.enabled`, which if set to false disables all agent functionality, including generating this ping. Each installation of Firefox has its own copy of the agent and its own scheduled task which shares a common `LastPingSentAt` user registry key with other installations. Installations race to send a single ping per 24 hour window per installing user. If multiple operating system-level users are all using one copy of Firefox, only one scheduled task will have been created and only one ping will be sent, even though the users might have different default browser settings. If multiple users have installed Firefox then each installing user will have a scheduled task and ping. Additional information for the Default Agent can be found in the [Default Browser Agent docs](https://firefox-source-docs.mozilla.org/toolkit/mozapps/defaultagent/default-browser-agent/index.html)."
|
||||
view_name: default_agent
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: default_agent__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${default_agent.metrics__labeled_counter__glean_error_invalid_label}) AS default_agent__metrics__labeled_counter__glean_error_invalid_label ON ${default_agent.document_id} = ${default_agent__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: default_agent__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${default_agent.metrics__labeled_counter__glean_error_invalid_overflow}) AS default_agent__metrics__labeled_counter__glean_error_invalid_overflow ON ${default_agent.document_id} = ${default_agent__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: default_agent__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${default_agent.metrics__labeled_counter__glean_error_invalid_state}) AS default_agent__metrics__labeled_counter__glean_error_invalid_state ON ${default_agent.document_id} = ${default_agent__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: default_agent__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${default_agent.metrics__labeled_counter__glean_error_invalid_value}) AS default_agent__metrics__labeled_counter__glean_error_invalid_value ON ${default_agent.document_id} = ${default_agent__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
|
||||
join: default_agent__events {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${default_agent.events}) AS default_agent__events ;;
|
||||
}
|
||||
|
||||
join: default_agent__events__extra {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${default_agent__events.extra}) AS default_agent__events__extra ;;
|
||||
}
|
||||
|
||||
join: default_agent__ping_info__experiments {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${default_agent.ping_info__experiments}) AS default_agent__ping_info__experiments ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__default_agent__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
|
||||
# *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_background_defaultagent/views/deletion_request.view.lkml"
|
||||
|
||||
explore: deletion_request {
|
||||
sql_always_where: ${deletion_request.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Deletion_Request"
|
||||
description: "Explore for the deletion_request ping. This ping is submitted when a user opts out of sending technical and interaction data to Mozilla. This ping is intended to communicate to the Data Pipeline that the user wishes to have their reported Telemetry data deleted. As such it attempts to send itself at the moment the user opts out of data collection."
|
||||
view_name: deletion_request
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: deletion_request__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.metrics__labeled_counter__glean_error_invalid_label}) AS deletion_request__metrics__labeled_counter__glean_error_invalid_label ON ${deletion_request.document_id} = ${deletion_request__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: deletion_request__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.metrics__labeled_counter__glean_error_invalid_overflow}) AS deletion_request__metrics__labeled_counter__glean_error_invalid_overflow ON ${deletion_request.document_id} = ${deletion_request__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: deletion_request__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.metrics__labeled_counter__glean_error_invalid_state}) AS deletion_request__metrics__labeled_counter__glean_error_invalid_state ON ${deletion_request.document_id} = ${deletion_request__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: deletion_request__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.metrics__labeled_counter__glean_error_invalid_value}) AS deletion_request__metrics__labeled_counter__glean_error_invalid_value ON ${deletion_request.document_id} = ${deletion_request__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
|
||||
join: deletion_request__events {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.events}) AS deletion_request__events ;;
|
||||
}
|
||||
|
||||
join: deletion_request__events__extra {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request__events.extra}) AS deletion_request__events__extra ;;
|
||||
}
|
||||
|
||||
join: deletion_request__ping_info__experiments {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.ping_info__experiments}) AS deletion_request__ping_info__experiments ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__deletion_request__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
|
||||
# *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_background_defaultagent/views/events.view.lkml"
|
||||
|
||||
explore: event_counts {
|
||||
sql_always_where: ${events.submission_date} >= '2010-01-01' ;;
|
||||
view_name: events
|
||||
description: "Event counts over time."
|
||||
|
||||
join: events_unnested_table__event_extra {
|
||||
view_label: "Events Event Extra"
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${events.event_extra}) AS events_unnested_table__event_extra ;;
|
||||
}
|
||||
|
||||
join: events_unnested_table__ping_info__experiments {
|
||||
view_label: "Events Ping Info Experiments"
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${events.ping_info__experiments}) AS events_unnested_table__ping_info__experiments ;;
|
||||
}
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
query: all_event_counts {
|
||||
description: "Event counts from all events over the past two weeks."
|
||||
dimensions: [submission_date]
|
||||
measures: [event_count]
|
||||
filters: [
|
||||
submission_date: "14 days",
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
|
||||
# *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_background_defaultagent/views/events_stream_table.view.lkml"
|
||||
|
||||
explore: events_stream_table {
|
||||
sql_always_where: ${events_stream_table.submission_date} >= '2010-01-01' ;;
|
||||
view_name: events_stream_table
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
|
||||
# *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_background_defaultagent/views/growth_accounting.view.lkml"
|
||||
|
||||
explore: growth_accounting {
|
||||
sql_always_where: ${growth_accounting.submission_date} >= '2010-01-01' ;;
|
||||
view_name: growth_accounting
|
||||
}
|
|
@ -1,69 +0,0 @@
|
|||
|
||||
# *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_background_defaultagent/views/metrics.view.lkml"
|
||||
|
||||
explore: metrics {
|
||||
sql_always_where: ${metrics.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Metrics"
|
||||
description: "Explore for the metrics ping. The `metrics` ping is intended for all of the metrics that are explicitly set by the application or are included in the application's `metrics.yaml` file (except events). The reported data is tied to the ping's *measurement window*, which is the time between the collection of two `metrics` ping. Ideally, this window is expected to be about 24 hours, given that the collection is scheduled daily at 4AM. Data in the `ping_info` section of the ping can be used to infer the length of this window."
|
||||
view_name: metrics
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: metrics__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.metrics__labeled_counter__glean_error_invalid_label}) AS metrics__metrics__labeled_counter__glean_error_invalid_label ON ${metrics.document_id} = ${metrics__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: metrics__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.metrics__labeled_counter__glean_error_invalid_overflow}) AS metrics__metrics__labeled_counter__glean_error_invalid_overflow ON ${metrics.document_id} = ${metrics__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: metrics__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.metrics__labeled_counter__glean_error_invalid_state}) AS metrics__metrics__labeled_counter__glean_error_invalid_state ON ${metrics.document_id} = ${metrics__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: metrics__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.metrics__labeled_counter__glean_error_invalid_value}) AS metrics__metrics__labeled_counter__glean_error_invalid_value ON ${metrics.document_id} = ${metrics__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
|
||||
join: metrics__metrics__labeled_counter__glean_upload_ping_upload_failure {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.metrics__labeled_counter__glean_upload_ping_upload_failure}) AS metrics__metrics__labeled_counter__glean_upload_ping_upload_failure ON ${metrics.document_id} = ${metrics__metrics__labeled_counter__glean_upload_ping_upload_failure.document_id} ;;
|
||||
}
|
||||
|
||||
join: metrics__metrics__labeled_counter__glean_validation_pings_submitted {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.metrics__labeled_counter__glean_validation_pings_submitted}) AS metrics__metrics__labeled_counter__glean_validation_pings_submitted ON ${metrics.document_id} = ${metrics__metrics__labeled_counter__glean_validation_pings_submitted.document_id} ;;
|
||||
}
|
||||
|
||||
join: metrics__events {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.events}) AS metrics__events ;;
|
||||
}
|
||||
|
||||
join: metrics__events__extra {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics__events.extra}) AS metrics__events__extra ;;
|
||||
}
|
||||
|
||||
join: metrics__ping_info__experiments {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.ping_info__experiments}) AS metrics__ping_info__experiments ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__metrics__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
|
@ -1,933 +0,0 @@
|
|||
|
||||
# *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: baseline {
|
||||
dimension: metrics__timespan__glean_baseline_duration__value {
|
||||
label: "Glean Baseline Duration Value"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.timespan.glean_baseline_duration.value ;;
|
||||
type: number
|
||||
group_label: "Glean Baseline"
|
||||
group_item_label: "Duration Value"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Baseline Duration Value"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_defaultagent/metrics/glean_baseline_duration"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The duration of the last foreground session.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_baseline_locale {
|
||||
label: "Glean Baseline Locale"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.glean_baseline_locale ;;
|
||||
type: string
|
||||
group_label: "Glean Baseline"
|
||||
group_item_label: "Locale"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Baseline Locale"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_defaultagent/metrics/glean_baseline_locale"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
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: metrics__string__glean_client_annotation_experimentation_id {
|
||||
label: "Glean Client Annotation Experimentation Id"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Glean Client Annotation"
|
||||
group_item_label: "Experimentation Id"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Client Annotation Experimentation Id"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_defaultagent/metrics/glean_client_annotation_experimentation_id"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_defaultagent/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_background_defaultagent/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_background_defaultagent/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_background_defaultagent/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: metrics__labeled_counter__glean_validation_pings_submitted {
|
||||
label: "Glean Validation Pings Submitted"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.labeled_counter.glean_validation_pings_submitted ;;
|
||||
group_label: "Glean Validation"
|
||||
group_item_label: "Pings Submitted"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Validation Pings Submitted"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_defaultagent/metrics/glean_validation_pings_submitted"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
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: 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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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: metrics__datetime__glean_validation_first_run_hour {
|
||||
label: "Glean Validation First Run Hour"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.datetime.glean_validation_first_run_hour ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
description: "The hour of the first run of the application.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_defaultagent.baseline` ;;
|
||||
}
|
||||
|
||||
view: baseline__metrics__labeled_counter__glean_error_invalid_label {
|
||||
label: "Glean Error - Invalid Label"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
suggest_explore: suggest__baseline__metrics__labeled_counter__glean_error_invalid_label
|
||||
suggest_dimension: suggest__baseline__metrics__labeled_counter__glean_error_invalid_label.key
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${baseline.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: baseline__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
label: "Glean Error - Invalid Overflow"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${baseline.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: baseline__metrics__labeled_counter__glean_error_invalid_state {
|
||||
label: "Glean Error - Invalid State"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${baseline.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: baseline__metrics__labeled_counter__glean_error_invalid_value {
|
||||
label: "Glean Error - Invalid Value"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${baseline.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: baseline__metrics__labeled_counter__glean_validation_pings_submitted {
|
||||
label: "Glean Validation - Pings Submitted"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${baseline.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: suggest__baseline__metrics__labeled_counter__glean_error_invalid_label {
|
||||
derived_table: {
|
||||
sql: select
|
||||
m.key,
|
||||
count(*) as n
|
||||
from mozdata.firefox_desktop_background_defaultagent.baseline 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: baseline__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: baseline__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: baseline__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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,175 +0,0 @@
|
|||
|
||||
# *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: baseline_clients_daily_table {
|
||||
dimension: android_sdk_version {
|
||||
sql: ${TABLE}.android_sdk_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_build {
|
||||
sql: ${TABLE}.app_build ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_channel {
|
||||
sql: ${TABLE}.app_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_display_version {
|
||||
sql: ${TABLE}.app_display_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: architecture {
|
||||
sql: ${TABLE}.architecture ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: city {
|
||||
sql: ${TABLE}.city ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: client_id {
|
||||
sql: ${TABLE}.client_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: country {
|
||||
sql: ${TABLE}.country ;;
|
||||
type: string
|
||||
map_layer_name: countries
|
||||
}
|
||||
|
||||
dimension: days_seen_session_end_bits {
|
||||
sql: ${TABLE}.days_seen_session_end_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_seen_session_start_bits {
|
||||
sql: ${TABLE}.days_seen_session_start_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: device_manufacturer {
|
||||
sql: ${TABLE}.device_manufacturer ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: device_model {
|
||||
sql: ${TABLE}.device_model ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: distribution_id {
|
||||
sql: ${TABLE}.distribution_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: durations {
|
||||
sql: ${TABLE}.durations ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: geo_subdivision {
|
||||
sql: ${TABLE}.geo_subdivision ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: is_new_profile {
|
||||
sql: ${TABLE}.is_new_profile ;;
|
||||
type: yesno
|
||||
}
|
||||
|
||||
dimension: isp {
|
||||
sql: ${TABLE}.isp ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: locale {
|
||||
sql: ${TABLE}.locale ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_channel {
|
||||
sql: ${TABLE}.normalized_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os {
|
||||
sql: ${TABLE}.normalized_os ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os_version {
|
||||
sql: ${TABLE}.normalized_os_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: profile_group_id {
|
||||
sql: ${TABLE}.profile_group_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: sample_id {
|
||||
sql: ${TABLE}.sample_id ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: telemetry_sdk_build {
|
||||
sql: ${TABLE}.telemetry_sdk_build ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension_group: first_run {
|
||||
sql: ${TABLE}.first_run_date ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
convert_tz: no
|
||||
datatype: date
|
||||
}
|
||||
|
||||
dimension_group: first_seen {
|
||||
sql: ${TABLE}.first_seen_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.firefox_desktop_background_defaultagent.baseline_clients_daily` ;;
|
||||
}
|
|
@ -1,175 +0,0 @@
|
|||
|
||||
# *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: baseline_clients_first_seen_table {
|
||||
dimension: android_sdk_version {
|
||||
sql: ${TABLE}.android_sdk_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_build {
|
||||
sql: ${TABLE}.app_build ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_channel {
|
||||
sql: ${TABLE}.app_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_display_version {
|
||||
sql: ${TABLE}.app_display_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: architecture {
|
||||
sql: ${TABLE}.architecture ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: city {
|
||||
sql: ${TABLE}.city ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: client_id {
|
||||
sql: ${TABLE}.client_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: country {
|
||||
sql: ${TABLE}.country ;;
|
||||
type: string
|
||||
map_layer_name: countries
|
||||
}
|
||||
|
||||
dimension: days_seen_session_end_bits {
|
||||
sql: ${TABLE}.days_seen_session_end_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_seen_session_start_bits {
|
||||
sql: ${TABLE}.days_seen_session_start_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: device_manufacturer {
|
||||
sql: ${TABLE}.device_manufacturer ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: device_model {
|
||||
sql: ${TABLE}.device_model ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: distribution_id {
|
||||
sql: ${TABLE}.distribution_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: durations {
|
||||
sql: ${TABLE}.durations ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: geo_subdivision {
|
||||
sql: ${TABLE}.geo_subdivision ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: is_new_profile {
|
||||
sql: ${TABLE}.is_new_profile ;;
|
||||
type: yesno
|
||||
}
|
||||
|
||||
dimension: isp {
|
||||
sql: ${TABLE}.isp ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: locale {
|
||||
sql: ${TABLE}.locale ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_channel {
|
||||
sql: ${TABLE}.normalized_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os {
|
||||
sql: ${TABLE}.normalized_os ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os_version {
|
||||
sql: ${TABLE}.normalized_os_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: profile_group_id {
|
||||
sql: ${TABLE}.profile_group_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: sample_id {
|
||||
sql: ${TABLE}.sample_id ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: telemetry_sdk_build {
|
||||
sql: ${TABLE}.telemetry_sdk_build ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension_group: first_run {
|
||||
sql: ${TABLE}.first_run_date ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
convert_tz: no
|
||||
datatype: date
|
||||
}
|
||||
|
||||
dimension_group: first_seen {
|
||||
sql: ${TABLE}.first_seen_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.firefox_desktop_background_defaultagent.baseline_clients_first_seen` ;;
|
||||
}
|
|
@ -1,215 +0,0 @@
|
|||
|
||||
# *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: baseline_clients_last_seen_table {
|
||||
dimension: android_sdk_version {
|
||||
sql: ${TABLE}.android_sdk_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_build {
|
||||
sql: ${TABLE}.app_build ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_channel {
|
||||
sql: ${TABLE}.app_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_display_version {
|
||||
sql: ${TABLE}.app_display_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: architecture {
|
||||
sql: ${TABLE}.architecture ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: city {
|
||||
sql: ${TABLE}.city ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: client_id {
|
||||
sql: ${TABLE}.client_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: country {
|
||||
sql: ${TABLE}.country ;;
|
||||
type: string
|
||||
map_layer_name: countries
|
||||
}
|
||||
|
||||
dimension: days_active_bits {
|
||||
sql: ${TABLE}.days_active_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_created_profile_bits {
|
||||
sql: ${TABLE}.days_created_profile_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_seen_bits {
|
||||
sql: ${TABLE}.days_seen_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_seen_session_end_bits {
|
||||
sql: ${TABLE}.days_seen_session_end_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_seen_session_start_bits {
|
||||
sql: ${TABLE}.days_seen_session_start_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_active {
|
||||
sql: ${TABLE}.days_since_active ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_created_profile {
|
||||
sql: ${TABLE}.days_since_created_profile ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_seen {
|
||||
sql: ${TABLE}.days_since_seen ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_seen_session_end {
|
||||
sql: ${TABLE}.days_since_seen_session_end ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_seen_session_start {
|
||||
sql: ${TABLE}.days_since_seen_session_start ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: device_manufacturer {
|
||||
sql: ${TABLE}.device_manufacturer ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: device_model {
|
||||
sql: ${TABLE}.device_model ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: distribution_id {
|
||||
sql: ${TABLE}.distribution_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: durations {
|
||||
sql: ${TABLE}.durations ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: geo_subdivision {
|
||||
sql: ${TABLE}.geo_subdivision ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: is_new_profile {
|
||||
sql: ${TABLE}.is_new_profile ;;
|
||||
type: yesno
|
||||
}
|
||||
|
||||
dimension: isp {
|
||||
sql: ${TABLE}.isp ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: locale {
|
||||
sql: ${TABLE}.locale ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_channel {
|
||||
sql: ${TABLE}.normalized_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os {
|
||||
sql: ${TABLE}.normalized_os ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os_version {
|
||||
sql: ${TABLE}.normalized_os_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: profile_group_id {
|
||||
sql: ${TABLE}.profile_group_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: sample_id {
|
||||
sql: ${TABLE}.sample_id ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: telemetry_sdk_build {
|
||||
sql: ${TABLE}.telemetry_sdk_build ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension_group: first_run {
|
||||
sql: ${TABLE}.first_run_date ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
convert_tz: no
|
||||
datatype: date
|
||||
}
|
||||
|
||||
dimension_group: first_seen {
|
||||
sql: ${TABLE}.first_seen_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.firefox_desktop_background_defaultagent.baseline_clients_last_seen` ;;
|
||||
}
|
|
@ -1,631 +0,0 @@
|
|||
|
||||
# *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: baseline_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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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__datetime__raw_glean_validation_first_run_hour {
|
||||
sql: ${TABLE}.metrics.datetime.raw_glean_validation_first_run_hour ;;
|
||||
type: string
|
||||
group_label: "Metrics Datetime"
|
||||
group_item_label: "Raw Glean Validation First Run Hour"
|
||||
}
|
||||
|
||||
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_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__string__glean_baseline_locale {
|
||||
sql: ${TABLE}.metrics.string.glean_baseline_locale ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Baseline 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: metrics__string__glean_client_annotation_experimentation_id {
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Client Annotation Experimentation Id"
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__timespan__glean_baseline_duration__time_unit {
|
||||
sql: ${TABLE}.metrics.timespan.glean_baseline_duration.time_unit ;;
|
||||
type: string
|
||||
group_label: "Metrics Timespan Glean Baseline Duration"
|
||||
group_item_label: "Time Unit"
|
||||
}
|
||||
|
||||
dimension: metrics__timespan__glean_baseline_duration__value {
|
||||
sql: ${TABLE}.metrics.timespan.glean_baseline_duration.value ;;
|
||||
type: number
|
||||
group_label: "Metrics Timespan Glean Baseline Duration"
|
||||
group_item_label: "Value"
|
||||
}
|
||||
|
||||
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: metrics__datetime__glean_validation_first_run_hour {
|
||||
sql: ${TABLE}.metrics.datetime.glean_validation_first_run_hour ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
label: "Metrics Datetime: Glean Validation First Run Hour"
|
||||
description: "The hour of the first run of the application.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_defaultagent.baseline` ;;
|
||||
}
|
||||
|
||||
view: baseline_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: baseline_table__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: baseline_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,51 +0,0 @@
|
|||
|
||||
# *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: "baseline_clients_daily_table.view.lkml"
|
||||
|
||||
view: client_counts {
|
||||
extends: [baseline_clients_daily_table]
|
||||
|
||||
dimension: have_completed_period {
|
||||
type: yesno
|
||||
description: "Only for use with cohort analysis. Filter on true to remove the tail of incomplete data from cohorts. Indicates whether the cohort for this row have all had a chance to complete this interval. For example, new clients from yesterday have not all had a chance to send a ping for today."
|
||||
sql: DATE_ADD(
|
||||
{% if client_counts.first_seen_date._is_selected %}
|
||||
DATE_ADD(DATE(${client_counts.first_seen_date}), INTERVAL 1 DAY)
|
||||
{% elsif client_counts.first_seen_week._is_selected %}
|
||||
DATE_ADD(DATE(${client_counts.first_seen_week}), INTERVAL 1 WEEK)
|
||||
{% elsif client_counts.first_seen_month._is_selected %}
|
||||
DATE_ADD(PARSE_DATE('%Y-%m', ${client_counts.first_seen_month}), INTERVAL 1 MONTH)
|
||||
{% elsif client_counts.first_seen_year._is_selected %}
|
||||
DATE_ADD(DATE(${client_counts.first_seen_year}, 1, 1), INTERVAL 1 YEAR)
|
||||
{% endif %}
|
||||
,
|
||||
{% if client_counts.days_since_first_seen._is_selected %}
|
||||
INTERVAL CAST(${client_counts.days_since_first_seen} AS INT64) DAY
|
||||
{% elsif client_counts.weeks_since_first_seen._is_selected %}
|
||||
INTERVAL CAST(${client_counts.weeks_since_first_seen} AS INT64) WEEK
|
||||
{% elsif client_counts.months_since_first_seen._is_selected %}
|
||||
INTERVAL CAST(${client_counts.months_since_first_seen} AS INT64) MONTH
|
||||
{% elsif client_counts.years_since_first_seen._is_selected %}
|
||||
INTERVAL CAST(${client_counts.months_since_first_seen} AS INT64) YEAR
|
||||
{% endif %}
|
||||
) < current_date ;;
|
||||
}
|
||||
|
||||
dimension_group: since_first_seen {
|
||||
type: duration
|
||||
description: "Amount of time that has passed since the client was first seen."
|
||||
sql_start: CAST(${TABLE}.first_seen_date AS TIMESTAMP) ;;
|
||||
sql_end: CAST(${TABLE}.submission_date AS TIMESTAMP) ;;
|
||||
intervals: [day, week, month, year]
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: number
|
||||
description: "The number of clients, determined by whether they sent a baseline ping on the day in question."
|
||||
sql: COUNT(DISTINCT ${TABLE}.client_id) ;;
|
||||
}
|
||||
}
|
|
@ -1,969 +0,0 @@
|
|||
|
||||
# *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: default_agent {
|
||||
dimension: metrics__string__do_task_implementation {
|
||||
label: "Do Task Implementation"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.do_task_implementation ;;
|
||||
type: string
|
||||
group_label: "Do Task"
|
||||
group_item_label: "Implementation"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Do Task Implementation"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_defaultagent/metrics/do_task_implementation"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "Which implementation of `do-task` was used: \"JavaScript\" by default or \"C++\" if a Nimbus rollback was acted upon.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__notification_action {
|
||||
label: "Notification Action"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.notification_action ;;
|
||||
type: string
|
||||
group_label: "Notification"
|
||||
group_item_label: "Action"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Notification Action"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_defaultagent/metrics/notification_action"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The action that the user took in response to the notification. Possible values currently include the following: * “dismissed-by-timeout” * “dismissed-to-action-center” * “dismissed-by-button” * “dismissed-by-application-hidden” * “make-firefox-default-button” * “toast-clicked”
|
||||
Many of the values correspond to buttons on the notification and should be pretty self explanatory, but a few are less so. * “dismissed-to-action-center” will be used if the user clicks the arrow in
|
||||
the top right corner of the notification to dismiss it to the
|
||||
action center.
|
||||
* “dismissed-by-application-hidden” is provided because that is a method of
|
||||
dismissal that the notification API could give but, in practice, should
|
||||
never be seen.
|
||||
* “dismissed-by-timeout” indicates that the user did not interact with the
|
||||
notification and it timed out.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__notification_show_success {
|
||||
label: "Notification Show Success"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.boolean.notification_show_success ;;
|
||||
type: yesno
|
||||
group_label: "Notification"
|
||||
group_item_label: "Show Success"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Notification Show Success"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_defaultagent/metrics/notification_show_success"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "Whether a notification was shown or not. Possible value include \"shown\" and \"error\".
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_os_version {
|
||||
label: "System Os Version"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.system_os_version ;;
|
||||
type: string
|
||||
group_label: "System"
|
||||
group_item_label: "Os Version"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for System Os Version"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_defaultagent/metrics/system_os_version"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The current Windows OS version, usually as a dotted quad (\"x.y.z.w\") with Windows Update Build Revision (UBR), but potentially as a dotted triple (\"x.y.z\") without UBR.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_previous_os_version {
|
||||
label: "System Previous Os Version"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.system_previous_os_version ;;
|
||||
type: string
|
||||
group_label: "System"
|
||||
group_item_label: "Previous Os Version"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for System Previous Os Version"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_defaultagent/metrics/system_previous_os_version"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The Windows OS version before it was changed to the current setting. The possible values are the same as for `system.os_version`.
|
||||
The OS does not keep track of the previous OS version, so the agent records this information itself. That means that it will be inaccurate until the first time the default is changed after the agent task begins running. Before then, the value of `previous_os_version` will be the same as `os_version`.
|
||||
This value is updated every time the Default Agent runs, so when the default browser is first changed the values for `os_version` and `previous_os_version` will be different. But on subsequent executions of the Default Agent, the two values will be the same.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_default_browser {
|
||||
label: "System Default Browser"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.system_default_browser ;;
|
||||
type: string
|
||||
group_label: "System Default"
|
||||
group_item_label: "Browser"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for System Default Browser"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_defaultagent/metrics/system_default_browser"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "Which browser is currently set as the system default web browser. This is simply a string with the name of the browser binned to a fixed set of known browsers.
|
||||
Possible values currently include the following (from [DefaultBrowser.cpp](https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/DefaultBrowser.cpp)): * \"error\" * \"\" (unknown) * \"firefox\" * \"chrome\" * \"edge\" * \"edge-chrome\" * \"ie\" * \"opera\" * \"brave\" * \"yandex\" * \"qq-browser\" * \"360-browser\" * \"sogou\" * \"duckduckgo\"
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_default_pdf_handler {
|
||||
label: "System Default Pdf Handler"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.system_default_pdf_handler ;;
|
||||
type: string
|
||||
group_label: "System Default"
|
||||
group_item_label: "Pdf Handler"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for System Default Pdf Handler"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_defaultagent/metrics/system_default_pdf_handler"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "Which pdf handler is currently set as the system default handler. This is simply a string with the name of the handler binned to a fixed set of known handlers.
|
||||
Possible values currently include the following (from [DefaultPDF.cpp](https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/DefaultPDF.cpp)): * \"Error\" * \"\" (unknown) * \"Firefox\" * \"Microsoft Edge\" * \"Google Chrome\" * \"Adobe Acrobat\" * \"WPS\" * \"Nitro\" * \"Foxit\" * \"PDF-XChange\" * \"Avast\" * \"Sumatra\"
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_default_previous_browser {
|
||||
label: "System Default Previous Browser"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.system_default_previous_browser ;;
|
||||
type: string
|
||||
group_label: "System Default"
|
||||
group_item_label: "Previous Browser"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for System Default Previous Browser"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_defaultagent/metrics/system_default_previous_browser"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "Which browser was set as the system default before it was changed to the current setting. The possible values are the same as for `system_default.browser`.
|
||||
The OS does not keep track of previous default settings, so the agent records this information itself. That means that it will be inaccurate until the first time the default is changed after the agent task begins running. Before then, the value of `previous_browser` will be the same as `browser`.
|
||||
This value is updated every time the Default Agent runs, so when the default browser is first changed the values for `browser` and `previous_browser` will be different. But on subsequent executions of the Default Agent, the two values will be the same.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
label: "Glean Client Annotation Experimentation Id"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Glean Client Annotation"
|
||||
group_item_label: "Experimentation Id"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Client Annotation Experimentation Id"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_defaultagent/metrics/glean_client_annotation_experimentation_id"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_defaultagent/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_background_defaultagent/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_background_defaultagent/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_background_defaultagent/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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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_background_defaultagent.default_agent` ;;
|
||||
}
|
||||
|
||||
view: default_agent__metrics__labeled_counter__glean_error_invalid_label {
|
||||
label: "Glean Error - Invalid Label"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
suggest_explore: suggest__default_agent__metrics__labeled_counter__glean_error_invalid_label
|
||||
suggest_dimension: suggest__default_agent__metrics__labeled_counter__glean_error_invalid_label.key
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${default_agent.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: default_agent__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
label: "Glean Error - Invalid Overflow"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${default_agent.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: default_agent__metrics__labeled_counter__glean_error_invalid_state {
|
||||
label: "Glean Error - Invalid State"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${default_agent.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: default_agent__metrics__labeled_counter__glean_error_invalid_value {
|
||||
label: "Glean Error - Invalid Value"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${default_agent.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: suggest__default_agent__metrics__labeled_counter__glean_error_invalid_label {
|
||||
derived_table: {
|
||||
sql: select
|
||||
m.key,
|
||||
count(*) as n
|
||||
from mozdata.firefox_desktop_background_defaultagent.default_agent 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: default_agent__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: default_agent__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: default_agent__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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,653 +0,0 @@
|
|||
|
||||
# *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: default_agent_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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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__boolean__notification_show_success {
|
||||
sql: ${TABLE}.metrics.boolean.notification_show_success ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Notification Show Success"
|
||||
description: "Whether a notification was shown or not. Possible value include \"shown\" and \"error\".
|
||||
"
|
||||
}
|
||||
|
||||
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__string__do_task_implementation {
|
||||
sql: ${TABLE}.metrics.string.do_task_implementation ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Do Task Implementation"
|
||||
description: "Which implementation of `do-task` was used: \"JavaScript\" by default or \"C++\" if a Nimbus rollback was acted upon.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Client Annotation Experimentation Id"
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__notification_action {
|
||||
sql: ${TABLE}.metrics.string.notification_action ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Notification Action"
|
||||
description: "The action that the user took in response to the notification. Possible values currently include the following: * “dismissed-by-timeout” * “dismissed-to-action-center” * “dismissed-by-button” * “dismissed-by-application-hidden” * “make-firefox-default-button” * “toast-clicked”
|
||||
Many of the values correspond to buttons on the notification and should be pretty self explanatory, but a few are less so. * “dismissed-to-action-center” will be used if the user clicks the arrow in
|
||||
the top right corner of the notification to dismiss it to the
|
||||
action center.
|
||||
* “dismissed-by-application-hidden” is provided because that is a method of
|
||||
dismissal that the notification API could give but, in practice, should
|
||||
never be seen.
|
||||
* “dismissed-by-timeout” indicates that the user did not interact with the
|
||||
notification and it timed out.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_default_browser {
|
||||
sql: ${TABLE}.metrics.string.system_default_browser ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "System Default Browser"
|
||||
description: "Which browser is currently set as the system default web browser. This is simply a string with the name of the browser binned to a fixed set of known browsers.
|
||||
Possible values currently include the following (from [DefaultBrowser.cpp](https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/DefaultBrowser.cpp)): * \"error\" * \"\" (unknown) * \"firefox\" * \"chrome\" * \"edge\" * \"edge-chrome\" * \"ie\" * \"opera\" * \"brave\" * \"yandex\" * \"qq-browser\" * \"360-browser\" * \"sogou\" * \"duckduckgo\"
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_default_pdf_handler {
|
||||
sql: ${TABLE}.metrics.string.system_default_pdf_handler ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "System Default Pdf Handler"
|
||||
description: "Which pdf handler is currently set as the system default handler. This is simply a string with the name of the handler binned to a fixed set of known handlers.
|
||||
Possible values currently include the following (from [DefaultPDF.cpp](https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/DefaultPDF.cpp)): * \"Error\" * \"\" (unknown) * \"Firefox\" * \"Microsoft Edge\" * \"Google Chrome\" * \"Adobe Acrobat\" * \"WPS\" * \"Nitro\" * \"Foxit\" * \"PDF-XChange\" * \"Avast\" * \"Sumatra\"
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_default_previous_browser {
|
||||
sql: ${TABLE}.metrics.string.system_default_previous_browser ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "System Default Previous Browser"
|
||||
description: "Which browser was set as the system default before it was changed to the current setting. The possible values are the same as for `system_default.browser`.
|
||||
The OS does not keep track of previous default settings, so the agent records this information itself. That means that it will be inaccurate until the first time the default is changed after the agent task begins running. Before then, the value of `previous_browser` will be the same as `browser`.
|
||||
This value is updated every time the Default Agent runs, so when the default browser is first changed the values for `browser` and `previous_browser` will be different. But on subsequent executions of the Default Agent, the two values will be the same.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_os_version {
|
||||
sql: ${TABLE}.metrics.string.system_os_version ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "System Os Version"
|
||||
description: "The current Windows OS version, usually as a dotted quad (\"x.y.z.w\") with Windows Update Build Revision (UBR), but potentially as a dotted triple (\"x.y.z\") without UBR.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_previous_os_version {
|
||||
sql: ${TABLE}.metrics.string.system_previous_os_version ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "System Previous Os Version"
|
||||
description: "The Windows OS version before it was changed to the current setting. The possible values are the same as for `system.os_version`.
|
||||
The OS does not keep track of the previous OS version, so the agent records this information itself. That means that it will be inaccurate until the first time the default is changed after the agent task begins running. Before then, the value of `previous_os_version` will be the same as `os_version`.
|
||||
This value is updated every time the Default Agent runs, so when the default browser is first changed the values for `os_version` and `previous_os_version` will be different. But on subsequent executions of the Default Agent, the two values will be the same.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_defaultagent.default_agent` ;;
|
||||
}
|
||||
|
||||
view: default_agent_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: default_agent_table__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: default_agent_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,811 +0,0 @@
|
|||
|
||||
# *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: deletion_request {
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
label: "Glean Client Annotation Experimentation Id"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Glean Client Annotation"
|
||||
group_item_label: "Experimentation Id"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Client Annotation Experimentation Id"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_defaultagent/metrics/glean_client_annotation_experimentation_id"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_defaultagent/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_background_defaultagent/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_background_defaultagent/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_background_defaultagent/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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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_background_defaultagent.deletion_request` ;;
|
||||
}
|
||||
|
||||
view: deletion_request__metrics__labeled_counter__glean_error_invalid_label {
|
||||
label: "Glean Error - Invalid Label"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
suggest_explore: suggest__deletion_request__metrics__labeled_counter__glean_error_invalid_label
|
||||
suggest_dimension: suggest__deletion_request__metrics__labeled_counter__glean_error_invalid_label.key
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${deletion_request.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: deletion_request__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
label: "Glean Error - Invalid Overflow"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${deletion_request.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: deletion_request__metrics__labeled_counter__glean_error_invalid_state {
|
||||
label: "Glean Error - Invalid State"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${deletion_request.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: deletion_request__metrics__labeled_counter__glean_error_invalid_value {
|
||||
label: "Glean Error - Invalid Value"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${deletion_request.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${deletion_request.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: suggest__deletion_request__metrics__labeled_counter__glean_error_invalid_label {
|
||||
derived_table: {
|
||||
sql: select
|
||||
m.key,
|
||||
count(*) as n
|
||||
from mozdata.firefox_desktop_background_defaultagent.deletion_request 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: deletion_request__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: deletion_request__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: deletion_request__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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,567 +0,0 @@
|
|||
|
||||
# *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: deletion_request_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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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__string__glean_client_annotation_experimentation_id {
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Client Annotation Experimentation Id"
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_defaultagent.deletion_request` ;;
|
||||
}
|
||||
|
||||
view: deletion_request_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: deletion_request_table__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: deletion_request_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
|
||||
# *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: "events_unnested_table.view.lkml"
|
||||
|
||||
view: events {
|
||||
extends: [events_unnested_table]
|
||||
|
||||
measure: event_count {
|
||||
type: count
|
||||
description: "The number of times the event(s) occurred."
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: ${client_info__client_id} ;;
|
||||
description: "The number of clients that completed the event(s)."
|
||||
}
|
||||
|
||||
dimension: event_id {
|
||||
primary_key: yes
|
||||
}
|
||||
}
|
|
@ -1,446 +0,0 @@
|
|||
|
||||
# *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: events_stream_table {
|
||||
dimension: additional_properties {
|
||||
sql: ${TABLE}.additional_properties ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: client_id {
|
||||
sql: ${TABLE}.client_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: client_info__app_build {
|
||||
sql: ${TABLE}.client_info.app_build ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "App Build"
|
||||
}
|
||||
|
||||
dimension: client_info__app_channel {
|
||||
sql: ${TABLE}.client_info.app_channel ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "App Channel"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: client_info__architecture {
|
||||
sql: ${TABLE}.client_info.architecture ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Architecture"
|
||||
}
|
||||
|
||||
dimension: client_info__build_date {
|
||||
sql: ${TABLE}.client_info.build_date ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Build Date"
|
||||
}
|
||||
|
||||
dimension: client_info__device_manufacturer {
|
||||
sql: ${TABLE}.client_info.device_manufacturer ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Device Manufacturer"
|
||||
}
|
||||
|
||||
dimension: client_info__device_model {
|
||||
sql: ${TABLE}.client_info.device_model ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Device Model"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: client_info__locale {
|
||||
sql: ${TABLE}.client_info.locale ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Locale"
|
||||
}
|
||||
|
||||
dimension: client_info__os {
|
||||
sql: ${TABLE}.client_info.os ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Os"
|
||||
}
|
||||
|
||||
dimension: client_info__os_version {
|
||||
sql: ${TABLE}.client_info.os_version ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Os Version"
|
||||
}
|
||||
|
||||
dimension: client_info__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: document_id {
|
||||
sql: ${TABLE}.document_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: event {
|
||||
sql: ${TABLE}.event ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: event_category {
|
||||
sql: ${TABLE}.event_category ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: event_extra {
|
||||
sql: ${TABLE}.event_extra ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: event_name {
|
||||
sql: ${TABLE}.event_name ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: experiments {
|
||||
sql: ${TABLE}.experiments ;;
|
||||
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
|
||||
}
|
||||
|
||||
dimension: metadata__geo__db_version {
|
||||
sql: ${TABLE}.metadata.geo.db_version ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "Db Version"
|
||||
}
|
||||
|
||||
dimension: metadata__geo__subdivision1 {
|
||||
sql: ${TABLE}.metadata.geo.subdivision1 ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "Subdivision1"
|
||||
}
|
||||
|
||||
dimension: metadata__geo__subdivision2 {
|
||||
sql: ${TABLE}.metadata.geo.subdivision2 ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "Subdivision2"
|
||||
}
|
||||
|
||||
dimension: metadata__header__date {
|
||||
sql: ${TABLE}.metadata.header.date ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "Date"
|
||||
}
|
||||
|
||||
dimension: metadata__header__dnt {
|
||||
sql: ${TABLE}.metadata.header.dnt ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "Dnt"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: metadata__isp__db_version {
|
||||
sql: ${TABLE}.metadata.isp.db_version ;;
|
||||
type: string
|
||||
group_label: "Metadata Isp"
|
||||
group_item_label: "Db Version"
|
||||
}
|
||||
|
||||
dimension: metadata__isp__name {
|
||||
sql: ${TABLE}.metadata.isp.name ;;
|
||||
type: string
|
||||
group_label: "Metadata Isp"
|
||||
group_item_label: "Name"
|
||||
}
|
||||
|
||||
dimension: metadata__isp__organization {
|
||||
sql: ${TABLE}.metadata.isp.organization ;;
|
||||
type: string
|
||||
group_label: "Metadata Isp"
|
||||
group_item_label: "Organization"
|
||||
}
|
||||
|
||||
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 {
|
||||
sql: ${TABLE}.metrics ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: normalized_app_name {
|
||||
sql: ${TABLE}.normalized_app_name ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_channel {
|
||||
sql: ${TABLE}.normalized_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_country_code {
|
||||
sql: ${TABLE}.normalized_country_code ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os {
|
||||
sql: ${TABLE}.normalized_os ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
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__ping_type {
|
||||
sql: ${TABLE}.ping_info.ping_type ;;
|
||||
type: string
|
||||
group_label: "Ping Info"
|
||||
group_item_label: "Ping Type"
|
||||
}
|
||||
|
||||
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: profile_group_id {
|
||||
sql: ${TABLE}.profile_group_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: reason {
|
||||
sql: ${TABLE}.reason ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: sample_id {
|
||||
sql: ${TABLE}.sample_id ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension_group: event {
|
||||
sql: ${TABLE}.event_timestamp ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
}
|
||||
|
||||
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,
|
||||
]
|
||||
}
|
||||
|
||||
sql_table_name: `mozdata.firefox_desktop_background_defaultagent.events_stream` ;;
|
||||
}
|
|
@ -1,567 +0,0 @@
|
|||
|
||||
# *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: events_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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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__string__glean_client_annotation_experimentation_id {
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Client Annotation Experimentation Id"
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_defaultagent.events` ;;
|
||||
}
|
||||
|
||||
view: events_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: events_table__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: events_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,467 +0,0 @@
|
|||
|
||||
# *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: events_unnested_table {
|
||||
dimension: additional_properties {
|
||||
sql: ${TABLE}.additional_properties ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: client_info__app_build {
|
||||
sql: ${TABLE}.client_info.app_build ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "App Build"
|
||||
}
|
||||
|
||||
dimension: client_info__app_channel {
|
||||
sql: ${TABLE}.client_info.app_channel ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "App Channel"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: client_info__architecture {
|
||||
sql: ${TABLE}.client_info.architecture ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Architecture"
|
||||
}
|
||||
|
||||
dimension: client_info__build_date {
|
||||
sql: ${TABLE}.client_info.build_date ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Build Date"
|
||||
}
|
||||
|
||||
dimension: client_info__client_id {
|
||||
sql: ${TABLE}.client_info.client_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: client_info__device_manufacturer {
|
||||
sql: ${TABLE}.client_info.device_manufacturer ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Device Manufacturer"
|
||||
}
|
||||
|
||||
dimension: client_info__device_model {
|
||||
sql: ${TABLE}.client_info.device_model ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Device Model"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: client_info__locale {
|
||||
sql: ${TABLE}.client_info.locale ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Locale"
|
||||
}
|
||||
|
||||
dimension: client_info__os {
|
||||
sql: ${TABLE}.client_info.os ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Os"
|
||||
}
|
||||
|
||||
dimension: client_info__os_version {
|
||||
sql: ${TABLE}.client_info.os_version ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Os Version"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: document_id {
|
||||
sql: ${TABLE}.document_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: event_category {
|
||||
sql: ${TABLE}.event_category ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: event_extra {
|
||||
sql: ${TABLE}.event_extra ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: event_id {
|
||||
sql: ${TABLE}.event_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: event_name {
|
||||
sql: ${TABLE}.event_name ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: event_timestamp {
|
||||
sql: ${TABLE}.event_timestamp ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
dimension: metadata__geo__db_version {
|
||||
sql: ${TABLE}.metadata.geo.db_version ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "Db Version"
|
||||
}
|
||||
|
||||
dimension: metadata__geo__subdivision1 {
|
||||
sql: ${TABLE}.metadata.geo.subdivision1 ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "Subdivision1"
|
||||
}
|
||||
|
||||
dimension: metadata__geo__subdivision2 {
|
||||
sql: ${TABLE}.metadata.geo.subdivision2 ;;
|
||||
type: string
|
||||
group_label: "Metadata Geo"
|
||||
group_item_label: "Subdivision2"
|
||||
}
|
||||
|
||||
dimension: metadata__header__date {
|
||||
sql: ${TABLE}.metadata.header.date ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "Date"
|
||||
}
|
||||
|
||||
dimension: metadata__header__dnt {
|
||||
sql: ${TABLE}.metadata.header.dnt ;;
|
||||
type: string
|
||||
group_label: "Metadata Header"
|
||||
group_item_label: "Dnt"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
dimension: metadata__isp__db_version {
|
||||
sql: ${TABLE}.metadata.isp.db_version ;;
|
||||
type: string
|
||||
group_label: "Metadata Isp"
|
||||
group_item_label: "Db Version"
|
||||
}
|
||||
|
||||
dimension: metadata__isp__name {
|
||||
sql: ${TABLE}.metadata.isp.name ;;
|
||||
type: string
|
||||
group_label: "Metadata Isp"
|
||||
group_item_label: "Name"
|
||||
}
|
||||
|
||||
dimension: metadata__isp__organization {
|
||||
sql: ${TABLE}.metadata.isp.organization ;;
|
||||
type: string
|
||||
group_label: "Metadata Isp"
|
||||
group_item_label: "Organization"
|
||||
}
|
||||
|
||||
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_id {
|
||||
sql: ${TABLE}.normalized_app_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_app_name {
|
||||
sql: ${TABLE}.normalized_app_name ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_channel {
|
||||
sql: ${TABLE}.normalized_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_country_code {
|
||||
sql: ${TABLE}.normalized_country_code ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os {
|
||||
sql: ${TABLE}.normalized_os ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
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,
|
||||
]
|
||||
}
|
||||
|
||||
sql_table_name: `mozdata.firefox_desktop_background_defaultagent.events_unnested` ;;
|
||||
}
|
||||
|
||||
view: events_unnested_table__event_extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: events_unnested_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,376 +0,0 @@
|
|||
|
||||
# *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: growth_accounting {
|
||||
dimension: android_sdk_version {
|
||||
sql: ${TABLE}.android_sdk_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_build {
|
||||
sql: ${TABLE}.app_build ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_channel {
|
||||
sql: ${TABLE}.app_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_display_version {
|
||||
sql: ${TABLE}.app_display_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: architecture {
|
||||
sql: ${TABLE}.architecture ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: city {
|
||||
sql: ${TABLE}.city ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: client_id {
|
||||
sql: ${TABLE}.client_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: country {
|
||||
sql: ${TABLE}.country ;;
|
||||
type: string
|
||||
map_layer_name: countries
|
||||
}
|
||||
|
||||
dimension: days_active_bits {
|
||||
sql: ${TABLE}.days_active_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_created_profile_bits {
|
||||
sql: ${TABLE}.days_created_profile_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_seen_bits {
|
||||
sql: ${TABLE}.days_seen_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_seen_session_end_bits {
|
||||
sql: ${TABLE}.days_seen_session_end_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_seen_session_start_bits {
|
||||
sql: ${TABLE}.days_seen_session_start_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_active {
|
||||
sql: ${TABLE}.days_since_active ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_created_profile {
|
||||
sql: ${TABLE}.days_since_created_profile ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_seen {
|
||||
sql: ${TABLE}.days_since_seen ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_seen_session_end {
|
||||
sql: ${TABLE}.days_since_seen_session_end ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_seen_session_start {
|
||||
sql: ${TABLE}.days_since_seen_session_start ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: device_manufacturer {
|
||||
sql: ${TABLE}.device_manufacturer ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: device_model {
|
||||
sql: ${TABLE}.device_model ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: distribution_id {
|
||||
sql: ${TABLE}.distribution_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: durations {
|
||||
sql: ${TABLE}.durations ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: geo_subdivision {
|
||||
sql: ${TABLE}.geo_subdivision ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: is_new_profile {
|
||||
sql: ${TABLE}.is_new_profile ;;
|
||||
type: yesno
|
||||
}
|
||||
|
||||
dimension: isp {
|
||||
sql: ${TABLE}.isp ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: locale {
|
||||
sql: ${TABLE}.locale ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_channel {
|
||||
sql: ${TABLE}.normalized_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os {
|
||||
sql: ${TABLE}.normalized_os ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os_version {
|
||||
sql: ${TABLE}.normalized_os_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: profile_group_id {
|
||||
sql: ${TABLE}.profile_group_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: sample_id {
|
||||
sql: ${TABLE}.sample_id ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: telemetry_sdk_build {
|
||||
sql: ${TABLE}.telemetry_sdk_build ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: active_this_week {
|
||||
sql: mozfun.bits28.active_in_range(days_seen_bits, -6, 7) ;;
|
||||
type: yesno
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: active_last_week {
|
||||
sql: mozfun.bits28.active_in_range(days_seen_bits, -13, 7) ;;
|
||||
type: yesno
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: new_this_week {
|
||||
sql: DATE_DIFF(${submission_date}, first_run_date, DAY) BETWEEN 0 AND 6 ;;
|
||||
type: yesno
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: new_last_week {
|
||||
sql: DATE_DIFF(${submission_date}, first_run_date, DAY) BETWEEN 7 AND 13 ;;
|
||||
type: yesno
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: client_id_day {
|
||||
sql: CONCAT(CAST(${TABLE}.submission_date AS STRING), ${client_id}) ;;
|
||||
type: string
|
||||
hidden: yes
|
||||
primary_key: yes
|
||||
}
|
||||
|
||||
dimension_group: first_run {
|
||||
sql: ${TABLE}.first_run_date ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
convert_tz: no
|
||||
datatype: date
|
||||
}
|
||||
|
||||
dimension_group: first_seen {
|
||||
sql: ${TABLE}.first_seen_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
|
||||
}
|
||||
|
||||
measure: overall_active_previous {
|
||||
type: count
|
||||
filters: [
|
||||
active_last_week: "yes",
|
||||
]
|
||||
}
|
||||
|
||||
measure: overall_active_current {
|
||||
type: count
|
||||
filters: [
|
||||
active_this_week: "yes",
|
||||
]
|
||||
}
|
||||
|
||||
measure: overall_resurrected {
|
||||
type: count
|
||||
filters: [
|
||||
new_last_week: "no",
|
||||
new_this_week: "no",
|
||||
active_last_week: "no",
|
||||
active_this_week: "yes",
|
||||
]
|
||||
}
|
||||
|
||||
measure: new_users {
|
||||
type: count
|
||||
filters: [
|
||||
new_this_week: "yes",
|
||||
active_this_week: "yes",
|
||||
]
|
||||
}
|
||||
|
||||
measure: established_users_returning {
|
||||
type: count
|
||||
filters: [
|
||||
new_last_week: "no",
|
||||
new_this_week: "no",
|
||||
active_last_week: "yes",
|
||||
active_this_week: "yes",
|
||||
]
|
||||
}
|
||||
|
||||
measure: new_users_returning {
|
||||
type: count
|
||||
filters: [
|
||||
new_last_week: "yes",
|
||||
active_last_week: "yes",
|
||||
active_this_week: "yes",
|
||||
]
|
||||
}
|
||||
|
||||
measure: new_users_churned_count {
|
||||
type: count
|
||||
filters: [
|
||||
new_last_week: "yes",
|
||||
active_last_week: "yes",
|
||||
active_this_week: "no",
|
||||
]
|
||||
}
|
||||
|
||||
measure: established_users_churned_count {
|
||||
type: count
|
||||
filters: [
|
||||
new_last_week: "no",
|
||||
new_this_week: "no",
|
||||
active_last_week: "yes",
|
||||
active_this_week: "no",
|
||||
]
|
||||
}
|
||||
|
||||
measure: new_users_churned {
|
||||
type: number
|
||||
sql: -1 * ${new_users_churned_count} ;;
|
||||
}
|
||||
|
||||
measure: established_users_churned {
|
||||
type: number
|
||||
sql: -1 * ${established_users_churned_count} ;;
|
||||
}
|
||||
|
||||
measure: overall_churned {
|
||||
type: number
|
||||
sql: ${new_users_churned} + ${established_users_churned} ;;
|
||||
}
|
||||
|
||||
measure: overall_retention_rate {
|
||||
type: number
|
||||
sql: SAFE_DIVIDE((${established_users_returning} + ${new_users_returning}),${overall_active_previous}) ;;
|
||||
}
|
||||
|
||||
measure: established_user_retention_rate {
|
||||
type: number
|
||||
sql: SAFE_DIVIDE(${established_users_returning},(${established_users_returning} + ${established_users_churned_count})) ;;
|
||||
}
|
||||
|
||||
measure: new_user_retention_rate {
|
||||
type: number
|
||||
sql: SAFE_DIVIDE(${new_users_returning},(${new_users_returning} + ${new_users_churned_count})) ;;
|
||||
}
|
||||
|
||||
measure: overall_churn_rate {
|
||||
type: number
|
||||
sql: SAFE_DIVIDE((${established_users_churned_count} + ${new_users_churned_count}),${overall_active_previous}) ;;
|
||||
}
|
||||
|
||||
measure: fraction_of_active_resurrected {
|
||||
type: number
|
||||
sql: SAFE_DIVIDE(${overall_resurrected}, ${overall_active_current}) ;;
|
||||
}
|
||||
|
||||
measure: fraction_of_active_new {
|
||||
type: number
|
||||
sql: SAFE_DIVIDE(${new_users}, ${overall_active_current}) ;;
|
||||
}
|
||||
|
||||
measure: fraction_of_active_established_returning {
|
||||
type: number
|
||||
sql: SAFE_DIVIDE(${established_users_returning},${overall_active_current}) ;;
|
||||
}
|
||||
|
||||
measure: fraction_of_active_new_returning {
|
||||
type: number
|
||||
sql: SAFE_DIVIDE(${new_users_returning}, ${overall_active_current}) ;;
|
||||
}
|
||||
|
||||
measure: quick_ratio {
|
||||
type: number
|
||||
sql: SAFE_DIVIDE(${new_users} + ${overall_resurrected},${established_users_churned_count} + ${new_users_churned_count}) ;;
|
||||
}
|
||||
|
||||
sql_table_name: `mozdata.firefox_desktop_background_defaultagent.baseline_clients_last_seen` ;;
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,49 +0,0 @@
|
|||
|
||||
# *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: metrics_clients_daily_table {
|
||||
dimension: client_id {
|
||||
sql: ${TABLE}.client_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: days_sent_metrics_ping_bits {
|
||||
sql: ${TABLE}.days_sent_metrics_ping_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: n_metrics_ping {
|
||||
sql: ${TABLE}.n_metrics_ping ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: normalized_channel {
|
||||
sql: ${TABLE}.normalized_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: sample_id {
|
||||
sql: ${TABLE}.sample_id ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
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.firefox_desktop_background_defaultagent.metrics_clients_daily` ;;
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: background_tasks_v1_last_updated {
|
||||
label: "background_tasks_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_tasks_stable'
|
||||
AND table_name = 'background_tasks_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_tasks_stable.background_tasks_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: baseline_clients_daily_v1_last_updated {
|
||||
label: "Baseline Clients Daily Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_tasks_derived'
|
||||
AND table_name = 'baseline_clients_daily_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_tasks_derived.baseline_clients_daily_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: baseline_clients_last_seen_v1_last_updated {
|
||||
label: "Baseline Clients Last Seen Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_tasks_derived'
|
||||
AND table_name = 'baseline_clients_last_seen_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_tasks_derived.baseline_clients_last_seen_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: baseline_v1_last_updated {
|
||||
label: "baseline_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_tasks_stable'
|
||||
AND table_name = 'baseline_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_tasks_stable.baseline_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: crash_v1_last_updated {
|
||||
label: "crash_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_tasks_stable'
|
||||
AND table_name = 'crash_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_tasks_stable.crash_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: default_agent_v1_last_updated {
|
||||
label: "default_agent_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_tasks_stable'
|
||||
AND table_name = 'default_agent_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_tasks_stable.default_agent_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: deletion_request_v1_last_updated {
|
||||
label: "deletion_request_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_tasks_stable'
|
||||
AND table_name = 'deletion_request_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_tasks_stable.deletion_request_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: events_stream_v1_last_updated {
|
||||
label: "Events Stream Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_tasks_derived'
|
||||
AND table_name = 'events_stream_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_tasks_derived.events_stream_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: events_v1_last_updated {
|
||||
label: "events_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_tasks_stable'
|
||||
AND table_name = 'events_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_tasks_stable.events_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: metrics_clients_daily_v1_last_updated {
|
||||
label: "Metrics Clients Daily Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_tasks_derived'
|
||||
AND table_name = 'metrics_clients_daily_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_tasks_derived.metrics_clients_daily_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
# *Do not manually modify this file*
|
||||
|
||||
# This file has been generated via https://github.com/mozilla/lookml-generator
|
||||
|
||||
# Using a datagroup in an Explore: https://cloud.google.com/looker/docs/reference/param-explore-persist-with
|
||||
# Using a datagroup in a derived table: https://cloud.google.com/looker/docs/reference/param-view-datagroup-trigger
|
||||
|
||||
datagroup: metrics_v1_last_updated {
|
||||
label: "metrics_v1 Last Updated"
|
||||
sql_trigger: SELECT MAX(storage_last_modified_time)
|
||||
FROM `moz-fx-data-shared-prod`.`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE
|
||||
WHERE table_schema = 'firefox_desktop_background_tasks_stable'
|
||||
AND table_name = 'metrics_v1' ;;
|
||||
description: "Updates when moz-fx-data-shared-prod.firefox_desktop_background_tasks_stable.metrics_v1 is modified."
|
||||
max_cache_age: "24 hours"
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
|
||||
# *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_background_tasks/views/background_tasks.view.lkml"
|
||||
|
||||
explore: background_tasks {
|
||||
sql_always_where: ${background_tasks.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Background_Tasks"
|
||||
description: "Explore for the background_tasks ping. This ping is generic for background tasks. Each background task can gather its metrics under this ping and submit it when the task finishes. Note that the ping submission must be done manually."
|
||||
view_name: background_tasks
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: background_tasks__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${background_tasks.metrics__labeled_counter__glean_error_invalid_label}) AS background_tasks__metrics__labeled_counter__glean_error_invalid_label ON ${background_tasks.document_id} = ${background_tasks__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: background_tasks__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${background_tasks.metrics__labeled_counter__glean_error_invalid_overflow}) AS background_tasks__metrics__labeled_counter__glean_error_invalid_overflow ON ${background_tasks.document_id} = ${background_tasks__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: background_tasks__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${background_tasks.metrics__labeled_counter__glean_error_invalid_state}) AS background_tasks__metrics__labeled_counter__glean_error_invalid_state ON ${background_tasks.document_id} = ${background_tasks__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: background_tasks__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${background_tasks.metrics__labeled_counter__glean_error_invalid_value}) AS background_tasks__metrics__labeled_counter__glean_error_invalid_value ON ${background_tasks.document_id} = ${background_tasks__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
|
||||
join: background_tasks__events {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${background_tasks.events}) AS background_tasks__events ;;
|
||||
}
|
||||
|
||||
join: background_tasks__events__extra {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${background_tasks__events.extra}) AS background_tasks__events__extra ;;
|
||||
}
|
||||
|
||||
join: background_tasks__ping_info__experiments {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${background_tasks.ping_info__experiments}) AS background_tasks__ping_info__experiments ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__background_tasks__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
|
||||
# *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_background_tasks/views/baseline.view.lkml"
|
||||
|
||||
explore: baseline {
|
||||
sql_always_where: ${baseline.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Baseline"
|
||||
description: "Explore for the baseline ping. This ping is intended to provide metrics that are managed by the library itself, and not explicitly set by the application or included in the application's `metrics.yaml` file. The `baseline` ping is automatically sent when the application becomes inactive and when the application becomes active again (including application start). Please see the Reasons section for more information."
|
||||
view_name: baseline
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: baseline__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline.metrics__labeled_counter__glean_error_invalid_label}) AS baseline__metrics__labeled_counter__glean_error_invalid_label ON ${baseline.document_id} = ${baseline__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: baseline__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline.metrics__labeled_counter__glean_error_invalid_overflow}) AS baseline__metrics__labeled_counter__glean_error_invalid_overflow ON ${baseline.document_id} = ${baseline__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: baseline__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline.metrics__labeled_counter__glean_error_invalid_state}) AS baseline__metrics__labeled_counter__glean_error_invalid_state ON ${baseline.document_id} = ${baseline__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: baseline__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline.metrics__labeled_counter__glean_error_invalid_value}) AS baseline__metrics__labeled_counter__glean_error_invalid_value ON ${baseline.document_id} = ${baseline__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
|
||||
join: baseline__metrics__labeled_counter__glean_validation_pings_submitted {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline.metrics__labeled_counter__glean_validation_pings_submitted}) AS baseline__metrics__labeled_counter__glean_validation_pings_submitted ON ${baseline.document_id} = ${baseline__metrics__labeled_counter__glean_validation_pings_submitted.document_id} ;;
|
||||
}
|
||||
|
||||
join: baseline__events {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline.events}) AS baseline__events ;;
|
||||
}
|
||||
|
||||
join: baseline__events__extra {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline__events.extra}) AS baseline__events__extra ;;
|
||||
}
|
||||
|
||||
join: baseline__ping_info__experiments {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${baseline.ping_info__experiments}) AS baseline__ping_info__experiments ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__baseline__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
|
@ -1,44 +0,0 @@
|
|||
|
||||
# *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_background_tasks/views/client_counts.view.lkml"
|
||||
|
||||
explore: client_counts {
|
||||
sql_always_where: ${client_counts.submission_date} >= '2010-01-01' ;;
|
||||
view_name: client_counts
|
||||
description: "Client counts across dimensions and cohorts."
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
query: cohort_analysis {
|
||||
description: "Client Counts of weekly cohorts over the past N days."
|
||||
dimensions: [days_since_first_seen, first_seen_week]
|
||||
measures: [client_count]
|
||||
pivots: [first_seen_week]
|
||||
filters: [
|
||||
submission_date: "8 weeks",
|
||||
first_seen_date: "8 weeks",
|
||||
have_completed_period: "yes",
|
||||
]
|
||||
sorts: [
|
||||
days_since_first_seen: asc,
|
||||
]
|
||||
}
|
||||
|
||||
query: build_breakdown {
|
||||
description: "Number of clients per build."
|
||||
dimensions: [submission_date, app_build]
|
||||
measures: [client_count]
|
||||
pivots: [app_build]
|
||||
sorts: [
|
||||
submission_date: asc,
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
|
||||
# *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_background_tasks/views/crash.view.lkml"
|
||||
|
||||
explore: crash {
|
||||
sql_always_where: ${crash.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Crash"
|
||||
description: "Explore for the crash ping. A ping to report crash information. This information is sent as soon as possible after a crash occurs (whether the crash is a background/content process or the main process). It is expected to be used for crash report analysis and to reduce blind spots in crash reporting."
|
||||
view_name: crash
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: crash__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${crash.metrics__labeled_counter__glean_error_invalid_label}) AS crash__metrics__labeled_counter__glean_error_invalid_label ON ${crash.document_id} = ${crash__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: crash__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${crash.metrics__labeled_counter__glean_error_invalid_overflow}) AS crash__metrics__labeled_counter__glean_error_invalid_overflow ON ${crash.document_id} = ${crash__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: crash__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${crash.metrics__labeled_counter__glean_error_invalid_state}) AS crash__metrics__labeled_counter__glean_error_invalid_state ON ${crash.document_id} = ${crash__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: crash__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${crash.metrics__labeled_counter__glean_error_invalid_value}) AS crash__metrics__labeled_counter__glean_error_invalid_value ON ${crash.document_id} = ${crash__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
|
||||
join: crash__events {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${crash.events}) AS crash__events ;;
|
||||
}
|
||||
|
||||
join: crash__events__extra {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${crash__events.extra}) AS crash__events__extra ;;
|
||||
}
|
||||
|
||||
join: crash__ping_info__experiments {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${crash.ping_info__experiments}) AS crash__ping_info__experiments ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__crash__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
|
||||
# *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_background_tasks/views/default_agent.view.lkml"
|
||||
|
||||
explore: default_agent {
|
||||
sql_always_where: ${default_agent.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Default_Agent"
|
||||
description: "Explore for the default_agent ping. This opt-out ping is sent from the Default Agent, which is a Windows-only Firefox Background Task that is registered during Firefox installation with the Windows scheduled tasks system so that it runs automatically every 24 hours, whether Firefox is running or not. Opting out of telemetry is handled via the pref value being copied to the registry so that the Default Agent can read it without needing to work with profiles. Relevant policies are consulted as well. The agent also has its own pref, `default-agent.enabled`, which if set to false disables all agent functionality, including generating this ping. Each installation of Firefox has its own copy of the agent and its own scheduled task which shares a common `LastPingSentAt` user registry key with other installations. Installations race to send a single ping per 24 hour window per installing user. If multiple operating system-level users are all using one copy of Firefox, only one scheduled task will have been created and only one ping will be sent, even though the users might have different default browser settings. If multiple users have installed Firefox then each installing user will have a scheduled task and ping. Additional information for the Default Agent can be found in the [Default Browser Agent docs](https://firefox-source-docs.mozilla.org/toolkit/mozapps/defaultagent/default-browser-agent/index.html)."
|
||||
view_name: default_agent
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: default_agent__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${default_agent.metrics__labeled_counter__glean_error_invalid_label}) AS default_agent__metrics__labeled_counter__glean_error_invalid_label ON ${default_agent.document_id} = ${default_agent__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: default_agent__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${default_agent.metrics__labeled_counter__glean_error_invalid_overflow}) AS default_agent__metrics__labeled_counter__glean_error_invalid_overflow ON ${default_agent.document_id} = ${default_agent__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: default_agent__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${default_agent.metrics__labeled_counter__glean_error_invalid_state}) AS default_agent__metrics__labeled_counter__glean_error_invalid_state ON ${default_agent.document_id} = ${default_agent__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: default_agent__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${default_agent.metrics__labeled_counter__glean_error_invalid_value}) AS default_agent__metrics__labeled_counter__glean_error_invalid_value ON ${default_agent.document_id} = ${default_agent__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
|
||||
join: default_agent__events {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${default_agent.events}) AS default_agent__events ;;
|
||||
}
|
||||
|
||||
join: default_agent__events__extra {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${default_agent__events.extra}) AS default_agent__events__extra ;;
|
||||
}
|
||||
|
||||
join: default_agent__ping_info__experiments {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${default_agent.ping_info__experiments}) AS default_agent__ping_info__experiments ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__default_agent__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
|
||||
# *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_background_tasks/views/deletion_request.view.lkml"
|
||||
|
||||
explore: deletion_request {
|
||||
sql_always_where: ${deletion_request.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Deletion_Request"
|
||||
description: "Explore for the deletion_request ping. This ping is submitted when a user opts out of sending technical and interaction data to Mozilla. This ping is intended to communicate to the Data Pipeline that the user wishes to have their reported Telemetry data deleted. As such it attempts to send itself at the moment the user opts out of data collection."
|
||||
view_name: deletion_request
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: deletion_request__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.metrics__labeled_counter__glean_error_invalid_label}) AS deletion_request__metrics__labeled_counter__glean_error_invalid_label ON ${deletion_request.document_id} = ${deletion_request__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: deletion_request__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.metrics__labeled_counter__glean_error_invalid_overflow}) AS deletion_request__metrics__labeled_counter__glean_error_invalid_overflow ON ${deletion_request.document_id} = ${deletion_request__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: deletion_request__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.metrics__labeled_counter__glean_error_invalid_state}) AS deletion_request__metrics__labeled_counter__glean_error_invalid_state ON ${deletion_request.document_id} = ${deletion_request__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: deletion_request__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.metrics__labeled_counter__glean_error_invalid_value}) AS deletion_request__metrics__labeled_counter__glean_error_invalid_value ON ${deletion_request.document_id} = ${deletion_request__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
|
||||
join: deletion_request__events {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.events}) AS deletion_request__events ;;
|
||||
}
|
||||
|
||||
join: deletion_request__events__extra {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request__events.extra}) AS deletion_request__events__extra ;;
|
||||
}
|
||||
|
||||
join: deletion_request__ping_info__experiments {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${deletion_request.ping_info__experiments}) AS deletion_request__ping_info__experiments ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__deletion_request__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
|
||||
# *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_background_tasks/views/events.view.lkml"
|
||||
|
||||
explore: event_counts {
|
||||
sql_always_where: ${events.submission_date} >= '2010-01-01' ;;
|
||||
view_name: events
|
||||
description: "Event counts over time."
|
||||
|
||||
join: events_unnested_table__event_extra {
|
||||
view_label: "Events Event Extra"
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${events.event_extra}) AS events_unnested_table__event_extra ;;
|
||||
}
|
||||
|
||||
join: events_unnested_table__ping_info__experiments {
|
||||
view_label: "Events Ping Info Experiments"
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${events.ping_info__experiments}) AS events_unnested_table__ping_info__experiments ;;
|
||||
}
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
query: all_event_counts {
|
||||
description: "Event counts from all events over the past two weeks."
|
||||
dimensions: [submission_date]
|
||||
measures: [event_count]
|
||||
filters: [
|
||||
submission_date: "14 days",
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
|
||||
# *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_background_tasks/views/events_stream_table.view.lkml"
|
||||
|
||||
explore: events_stream_table {
|
||||
sql_always_where: ${events_stream_table.submission_date} >= '2010-01-01' ;;
|
||||
view_name: events_stream_table
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
|
||||
# *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_background_tasks/views/growth_accounting.view.lkml"
|
||||
|
||||
explore: growth_accounting {
|
||||
sql_always_where: ${growth_accounting.submission_date} >= '2010-01-01' ;;
|
||||
view_name: growth_accounting
|
||||
}
|
|
@ -1,79 +0,0 @@
|
|||
|
||||
# *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_background_tasks/views/metrics.view.lkml"
|
||||
|
||||
explore: metrics {
|
||||
sql_always_where: ${metrics.submission_date} >= '2010-01-01' ;;
|
||||
view_label: " Metrics"
|
||||
description: "Explore for the metrics ping. The `metrics` ping is intended for all of the metrics that are explicitly set by the application or are included in the application's `metrics.yaml` file (except events). The reported data is tied to the ping's *measurement window*, which is the time between the collection of two `metrics` ping. Ideally, this window is expected to be about 24 hours, given that the collection is scheduled daily at 4AM. Data in the `ping_info` section of the ping can be used to infer the length of this window."
|
||||
view_name: metrics
|
||||
|
||||
always_filter: {
|
||||
filters: [
|
||||
submission_date: "28 days",
|
||||
]
|
||||
}
|
||||
|
||||
join: metrics__metrics__labeled_counter__crash_submission_channel_status {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.metrics__labeled_counter__crash_submission_channel_status}) AS metrics__metrics__labeled_counter__crash_submission_channel_status ON ${metrics.document_id} = ${metrics__metrics__labeled_counter__crash_submission_channel_status.document_id} ;;
|
||||
}
|
||||
|
||||
join: metrics__metrics__labeled_counter__crash_submission_collector_errors {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.metrics__labeled_counter__crash_submission_collector_errors}) AS metrics__metrics__labeled_counter__crash_submission_collector_errors ON ${metrics.document_id} = ${metrics__metrics__labeled_counter__crash_submission_collector_errors.document_id} ;;
|
||||
}
|
||||
|
||||
join: metrics__metrics__labeled_counter__glean_error_invalid_label {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.metrics__labeled_counter__glean_error_invalid_label}) AS metrics__metrics__labeled_counter__glean_error_invalid_label ON ${metrics.document_id} = ${metrics__metrics__labeled_counter__glean_error_invalid_label.document_id} ;;
|
||||
}
|
||||
|
||||
join: metrics__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.metrics__labeled_counter__glean_error_invalid_overflow}) AS metrics__metrics__labeled_counter__glean_error_invalid_overflow ON ${metrics.document_id} = ${metrics__metrics__labeled_counter__glean_error_invalid_overflow.document_id} ;;
|
||||
}
|
||||
|
||||
join: metrics__metrics__labeled_counter__glean_error_invalid_state {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.metrics__labeled_counter__glean_error_invalid_state}) AS metrics__metrics__labeled_counter__glean_error_invalid_state ON ${metrics.document_id} = ${metrics__metrics__labeled_counter__glean_error_invalid_state.document_id} ;;
|
||||
}
|
||||
|
||||
join: metrics__metrics__labeled_counter__glean_error_invalid_value {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.metrics__labeled_counter__glean_error_invalid_value}) AS metrics__metrics__labeled_counter__glean_error_invalid_value ON ${metrics.document_id} = ${metrics__metrics__labeled_counter__glean_error_invalid_value.document_id} ;;
|
||||
}
|
||||
|
||||
join: metrics__metrics__labeled_counter__glean_upload_ping_upload_failure {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.metrics__labeled_counter__glean_upload_ping_upload_failure}) AS metrics__metrics__labeled_counter__glean_upload_ping_upload_failure ON ${metrics.document_id} = ${metrics__metrics__labeled_counter__glean_upload_ping_upload_failure.document_id} ;;
|
||||
}
|
||||
|
||||
join: metrics__metrics__labeled_counter__glean_validation_pings_submitted {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.metrics__labeled_counter__glean_validation_pings_submitted}) AS metrics__metrics__labeled_counter__glean_validation_pings_submitted ON ${metrics.document_id} = ${metrics__metrics__labeled_counter__glean_validation_pings_submitted.document_id} ;;
|
||||
}
|
||||
|
||||
join: metrics__events {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.events}) AS metrics__events ;;
|
||||
}
|
||||
|
||||
join: metrics__events__extra {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics__events.extra}) AS metrics__events__extra ;;
|
||||
}
|
||||
|
||||
join: metrics__ping_info__experiments {
|
||||
relationship: one_to_many
|
||||
sql: LEFT JOIN UNNEST(${metrics.ping_info__experiments}) AS metrics__ping_info__experiments ;;
|
||||
}
|
||||
}
|
||||
|
||||
explore: suggest__metrics__metrics__labeled_counter__glean_error_invalid_label {
|
||||
hidden: yes
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,750 +0,0 @@
|
|||
|
||||
# *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: background_tasks_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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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__boolean__background_tasks_rmdir_base_succeeded {
|
||||
sql: ${TABLE}.metrics.boolean.background_tasks_rmdir_base_succeeded ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Background Tasks Rmdir Base Succeeded"
|
||||
description: "Whether the target directory removal succeeded."
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__background_tasks_rmdir_base_suffix_ever_failed {
|
||||
sql: ${TABLE}.metrics.boolean.background_tasks_rmdir_base_suffix_ever_failed ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Background Tasks Rmdir Base Suffix Ever Failed"
|
||||
description: "Whether removing the suffixed directories ever failed."
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__background_tasks_rmdir_base_was_first {
|
||||
sql: ${TABLE}.metrics.boolean.background_tasks_rmdir_base_was_first ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Background Tasks Rmdir Base Was First"
|
||||
description: "Whether this task is the first one removing the directory.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__background_tasks_rmdir_http_cache_succeeded {
|
||||
sql: ${TABLE}.metrics.boolean.background_tasks_rmdir_http_cache_succeeded ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Background Tasks Rmdir Http Cache Succeeded"
|
||||
description: "Whether the target directory removal succeeded."
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__background_tasks_rmdir_http_cache_suffix_ever_failed {
|
||||
sql: ${TABLE}.metrics.boolean.background_tasks_rmdir_http_cache_suffix_ever_failed ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Background Tasks Rmdir Http Cache Suffix Ever Failed"
|
||||
description: "Whether removing the suffixed directories ever failed."
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__background_tasks_rmdir_http_cache_was_first {
|
||||
sql: ${TABLE}.metrics.boolean.background_tasks_rmdir_http_cache_was_first ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Background Tasks Rmdir Http Cache Was First"
|
||||
description: "Whether this task is the first one removing the directory.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__background_tasks_rmdir_quota_succeeded {
|
||||
sql: ${TABLE}.metrics.boolean.background_tasks_rmdir_quota_succeeded ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Background Tasks Rmdir Quota Succeeded"
|
||||
description: "Whether the target directory removal succeeded."
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__background_tasks_rmdir_quota_suffix_ever_failed {
|
||||
sql: ${TABLE}.metrics.boolean.background_tasks_rmdir_quota_suffix_ever_failed ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Background Tasks Rmdir Quota Suffix Ever Failed"
|
||||
description: "Whether removing the suffixed directories ever failed."
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__background_tasks_rmdir_quota_was_first {
|
||||
sql: ${TABLE}.metrics.boolean.background_tasks_rmdir_quota_was_first ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Background Tasks Rmdir Quota Was First"
|
||||
description: "Whether this task is the first one removing the directory.
|
||||
"
|
||||
}
|
||||
|
||||
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__background_tasks_rmdir_base_elapsed_ms {
|
||||
sql: ${TABLE}.metrics.quantity.background_tasks_rmdir_base_elapsed_ms ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Background Tasks Rmdir Base Elapsed Ms"
|
||||
description: "The amount of time the task took for removing the directories.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__background_tasks_rmdir_base_removal_count {
|
||||
sql: ${TABLE}.metrics.quantity.background_tasks_rmdir_base_removal_count ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Background Tasks Rmdir Base Removal Count"
|
||||
description: "The number of the removed entries at each call, even if the target directory itself couldn't be removed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__background_tasks_rmdir_base_retry_count {
|
||||
sql: ${TABLE}.metrics.quantity.background_tasks_rmdir_base_retry_count ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Background Tasks Rmdir Base Retry Count"
|
||||
description: "The number of retries before the task started removing the child directory. This can happen when the target directory doesn't exist.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__background_tasks_rmdir_base_suffix_removal_count {
|
||||
sql: ${TABLE}.metrics.quantity.background_tasks_rmdir_base_suffix_removal_count ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Background Tasks Rmdir Base Suffix Removal Count"
|
||||
description: "The number of the removed entries of the suffixed directories.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__background_tasks_rmdir_http_cache_elapsed_ms {
|
||||
sql: ${TABLE}.metrics.quantity.background_tasks_rmdir_http_cache_elapsed_ms ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Background Tasks Rmdir Http Cache Elapsed Ms"
|
||||
description: "The amount of time the task took for removing the directories.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__background_tasks_rmdir_http_cache_removal_count {
|
||||
sql: ${TABLE}.metrics.quantity.background_tasks_rmdir_http_cache_removal_count ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Background Tasks Rmdir Http Cache Removal Count"
|
||||
description: "The number of the removed entries at each call, even if the target directory itself couldn't be removed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__background_tasks_rmdir_http_cache_retry_count {
|
||||
sql: ${TABLE}.metrics.quantity.background_tasks_rmdir_http_cache_retry_count ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Background Tasks Rmdir Http Cache Retry Count"
|
||||
description: "The number of retries before the task started removing the child directory. This can happen when the target directory doesn't exist.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__background_tasks_rmdir_http_cache_suffix_removal_count {
|
||||
sql: ${TABLE}.metrics.quantity.background_tasks_rmdir_http_cache_suffix_removal_count ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Background Tasks Rmdir Http Cache Suffix Removal Count"
|
||||
description: "The number of the removed entries of the suffixed directories.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__background_tasks_rmdir_quota_elapsed_ms {
|
||||
sql: ${TABLE}.metrics.quantity.background_tasks_rmdir_quota_elapsed_ms ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Background Tasks Rmdir Quota Elapsed Ms"
|
||||
description: "The amount of time the task took for removing the directories.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__background_tasks_rmdir_quota_removal_count {
|
||||
sql: ${TABLE}.metrics.quantity.background_tasks_rmdir_quota_removal_count ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Background Tasks Rmdir Quota Removal Count"
|
||||
description: "The number of the removed entries at each call, even if the target directory itself couldn't be removed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__background_tasks_rmdir_quota_retry_count {
|
||||
sql: ${TABLE}.metrics.quantity.background_tasks_rmdir_quota_retry_count ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Background Tasks Rmdir Quota Retry Count"
|
||||
description: "The number of retries before the task started removing the child directory. This can happen when the target directory doesn't exist.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__background_tasks_rmdir_quota_suffix_removal_count {
|
||||
sql: ${TABLE}.metrics.quantity.background_tasks_rmdir_quota_suffix_removal_count ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Background Tasks Rmdir Quota Suffix Removal Count"
|
||||
description: "The number of the removed entries of the suffixed directories.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Client Annotation Experimentation Id"
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_tasks.background_tasks` ;;
|
||||
}
|
||||
|
||||
view: background_tasks_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: background_tasks_table__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: background_tasks_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,933 +0,0 @@
|
|||
|
||||
# *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: baseline {
|
||||
dimension: metrics__timespan__glean_baseline_duration__value {
|
||||
label: "Glean Baseline Duration Value"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.timespan.glean_baseline_duration.value ;;
|
||||
type: number
|
||||
group_label: "Glean Baseline"
|
||||
group_item_label: "Duration Value"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Baseline Duration Value"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_tasks/metrics/glean_baseline_duration"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The duration of the last foreground session.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_baseline_locale {
|
||||
label: "Glean Baseline Locale"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.glean_baseline_locale ;;
|
||||
type: string
|
||||
group_label: "Glean Baseline"
|
||||
group_item_label: "Locale"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Baseline Locale"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_tasks/metrics/glean_baseline_locale"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
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: metrics__string__glean_client_annotation_experimentation_id {
|
||||
label: "Glean Client Annotation Experimentation Id"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Glean Client Annotation"
|
||||
group_item_label: "Experimentation Id"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Client Annotation Experimentation Id"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_tasks/metrics/glean_client_annotation_experimentation_id"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_tasks/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_background_tasks/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_background_tasks/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_background_tasks/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: metrics__labeled_counter__glean_validation_pings_submitted {
|
||||
label: "Glean Validation Pings Submitted"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.labeled_counter.glean_validation_pings_submitted ;;
|
||||
group_label: "Glean Validation"
|
||||
group_item_label: "Pings Submitted"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Validation Pings Submitted"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_tasks/metrics/glean_validation_pings_submitted"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
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: 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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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: metrics__datetime__glean_validation_first_run_hour {
|
||||
label: "Glean Validation First Run Hour"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.datetime.glean_validation_first_run_hour ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
description: "The hour of the first run of the application.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_tasks.baseline` ;;
|
||||
}
|
||||
|
||||
view: baseline__metrics__labeled_counter__glean_error_invalid_label {
|
||||
label: "Glean Error - Invalid Label"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
suggest_explore: suggest__baseline__metrics__labeled_counter__glean_error_invalid_label
|
||||
suggest_dimension: suggest__baseline__metrics__labeled_counter__glean_error_invalid_label.key
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${baseline.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: baseline__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
label: "Glean Error - Invalid Overflow"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${baseline.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: baseline__metrics__labeled_counter__glean_error_invalid_state {
|
||||
label: "Glean Error - Invalid State"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${baseline.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: baseline__metrics__labeled_counter__glean_error_invalid_value {
|
||||
label: "Glean Error - Invalid Value"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${baseline.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: baseline__metrics__labeled_counter__glean_validation_pings_submitted {
|
||||
label: "Glean Validation - Pings Submitted"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${baseline.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${baseline.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: suggest__baseline__metrics__labeled_counter__glean_error_invalid_label {
|
||||
derived_table: {
|
||||
sql: select
|
||||
m.key,
|
||||
count(*) as n
|
||||
from mozdata.firefox_desktop_background_tasks.baseline 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: baseline__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: baseline__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: baseline__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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,175 +0,0 @@
|
|||
|
||||
# *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: baseline_clients_daily_table {
|
||||
dimension: android_sdk_version {
|
||||
sql: ${TABLE}.android_sdk_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_build {
|
||||
sql: ${TABLE}.app_build ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_channel {
|
||||
sql: ${TABLE}.app_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_display_version {
|
||||
sql: ${TABLE}.app_display_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: architecture {
|
||||
sql: ${TABLE}.architecture ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: city {
|
||||
sql: ${TABLE}.city ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: client_id {
|
||||
sql: ${TABLE}.client_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: country {
|
||||
sql: ${TABLE}.country ;;
|
||||
type: string
|
||||
map_layer_name: countries
|
||||
}
|
||||
|
||||
dimension: days_seen_session_end_bits {
|
||||
sql: ${TABLE}.days_seen_session_end_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_seen_session_start_bits {
|
||||
sql: ${TABLE}.days_seen_session_start_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: device_manufacturer {
|
||||
sql: ${TABLE}.device_manufacturer ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: device_model {
|
||||
sql: ${TABLE}.device_model ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: distribution_id {
|
||||
sql: ${TABLE}.distribution_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: durations {
|
||||
sql: ${TABLE}.durations ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: geo_subdivision {
|
||||
sql: ${TABLE}.geo_subdivision ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: is_new_profile {
|
||||
sql: ${TABLE}.is_new_profile ;;
|
||||
type: yesno
|
||||
}
|
||||
|
||||
dimension: isp {
|
||||
sql: ${TABLE}.isp ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: locale {
|
||||
sql: ${TABLE}.locale ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_channel {
|
||||
sql: ${TABLE}.normalized_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os {
|
||||
sql: ${TABLE}.normalized_os ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os_version {
|
||||
sql: ${TABLE}.normalized_os_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: profile_group_id {
|
||||
sql: ${TABLE}.profile_group_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: sample_id {
|
||||
sql: ${TABLE}.sample_id ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: telemetry_sdk_build {
|
||||
sql: ${TABLE}.telemetry_sdk_build ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension_group: first_run {
|
||||
sql: ${TABLE}.first_run_date ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
convert_tz: no
|
||||
datatype: date
|
||||
}
|
||||
|
||||
dimension_group: first_seen {
|
||||
sql: ${TABLE}.first_seen_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.firefox_desktop_background_tasks.baseline_clients_daily` ;;
|
||||
}
|
|
@ -1,175 +0,0 @@
|
|||
|
||||
# *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: baseline_clients_first_seen_table {
|
||||
dimension: android_sdk_version {
|
||||
sql: ${TABLE}.android_sdk_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_build {
|
||||
sql: ${TABLE}.app_build ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_channel {
|
||||
sql: ${TABLE}.app_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_display_version {
|
||||
sql: ${TABLE}.app_display_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: architecture {
|
||||
sql: ${TABLE}.architecture ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: city {
|
||||
sql: ${TABLE}.city ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: client_id {
|
||||
sql: ${TABLE}.client_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: country {
|
||||
sql: ${TABLE}.country ;;
|
||||
type: string
|
||||
map_layer_name: countries
|
||||
}
|
||||
|
||||
dimension: days_seen_session_end_bits {
|
||||
sql: ${TABLE}.days_seen_session_end_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_seen_session_start_bits {
|
||||
sql: ${TABLE}.days_seen_session_start_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: device_manufacturer {
|
||||
sql: ${TABLE}.device_manufacturer ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: device_model {
|
||||
sql: ${TABLE}.device_model ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: distribution_id {
|
||||
sql: ${TABLE}.distribution_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: durations {
|
||||
sql: ${TABLE}.durations ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: geo_subdivision {
|
||||
sql: ${TABLE}.geo_subdivision ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: is_new_profile {
|
||||
sql: ${TABLE}.is_new_profile ;;
|
||||
type: yesno
|
||||
}
|
||||
|
||||
dimension: isp {
|
||||
sql: ${TABLE}.isp ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: locale {
|
||||
sql: ${TABLE}.locale ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_channel {
|
||||
sql: ${TABLE}.normalized_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os {
|
||||
sql: ${TABLE}.normalized_os ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os_version {
|
||||
sql: ${TABLE}.normalized_os_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: profile_group_id {
|
||||
sql: ${TABLE}.profile_group_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: sample_id {
|
||||
sql: ${TABLE}.sample_id ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: telemetry_sdk_build {
|
||||
sql: ${TABLE}.telemetry_sdk_build ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension_group: first_run {
|
||||
sql: ${TABLE}.first_run_date ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
convert_tz: no
|
||||
datatype: date
|
||||
}
|
||||
|
||||
dimension_group: first_seen {
|
||||
sql: ${TABLE}.first_seen_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.firefox_desktop_background_tasks.baseline_clients_first_seen` ;;
|
||||
}
|
|
@ -1,215 +0,0 @@
|
|||
|
||||
# *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: baseline_clients_last_seen_table {
|
||||
dimension: android_sdk_version {
|
||||
sql: ${TABLE}.android_sdk_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_build {
|
||||
sql: ${TABLE}.app_build ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_channel {
|
||||
sql: ${TABLE}.app_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: app_display_version {
|
||||
sql: ${TABLE}.app_display_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: architecture {
|
||||
sql: ${TABLE}.architecture ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: city {
|
||||
sql: ${TABLE}.city ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: client_id {
|
||||
sql: ${TABLE}.client_id ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: country {
|
||||
sql: ${TABLE}.country ;;
|
||||
type: string
|
||||
map_layer_name: countries
|
||||
}
|
||||
|
||||
dimension: days_active_bits {
|
||||
sql: ${TABLE}.days_active_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_created_profile_bits {
|
||||
sql: ${TABLE}.days_created_profile_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_seen_bits {
|
||||
sql: ${TABLE}.days_seen_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_seen_session_end_bits {
|
||||
sql: ${TABLE}.days_seen_session_end_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_seen_session_start_bits {
|
||||
sql: ${TABLE}.days_seen_session_start_bits ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_active {
|
||||
sql: ${TABLE}.days_since_active ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_created_profile {
|
||||
sql: ${TABLE}.days_since_created_profile ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_seen {
|
||||
sql: ${TABLE}.days_since_seen ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_seen_session_end {
|
||||
sql: ${TABLE}.days_since_seen_session_end ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: days_since_seen_session_start {
|
||||
sql: ${TABLE}.days_since_seen_session_start ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: device_manufacturer {
|
||||
sql: ${TABLE}.device_manufacturer ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: device_model {
|
||||
sql: ${TABLE}.device_model ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: distribution_id {
|
||||
sql: ${TABLE}.distribution_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: durations {
|
||||
sql: ${TABLE}.durations ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: geo_subdivision {
|
||||
sql: ${TABLE}.geo_subdivision ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: is_new_profile {
|
||||
sql: ${TABLE}.is_new_profile ;;
|
||||
type: yesno
|
||||
}
|
||||
|
||||
dimension: isp {
|
||||
sql: ${TABLE}.isp ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: locale {
|
||||
sql: ${TABLE}.locale ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_channel {
|
||||
sql: ${TABLE}.normalized_channel ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os {
|
||||
sql: ${TABLE}.normalized_os ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: normalized_os_version {
|
||||
sql: ${TABLE}.normalized_os_version ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: profile_group_id {
|
||||
sql: ${TABLE}.profile_group_id ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: sample_id {
|
||||
sql: ${TABLE}.sample_id ;;
|
||||
type: number
|
||||
}
|
||||
|
||||
dimension: telemetry_sdk_build {
|
||||
sql: ${TABLE}.telemetry_sdk_build ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension_group: first_run {
|
||||
sql: ${TABLE}.first_run_date ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
convert_tz: no
|
||||
datatype: date
|
||||
}
|
||||
|
||||
dimension_group: first_seen {
|
||||
sql: ${TABLE}.first_seen_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.firefox_desktop_background_tasks.baseline_clients_last_seen` ;;
|
||||
}
|
|
@ -1,631 +0,0 @@
|
|||
|
||||
# *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: baseline_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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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__datetime__raw_glean_validation_first_run_hour {
|
||||
sql: ${TABLE}.metrics.datetime.raw_glean_validation_first_run_hour ;;
|
||||
type: string
|
||||
group_label: "Metrics Datetime"
|
||||
group_item_label: "Raw Glean Validation First Run Hour"
|
||||
}
|
||||
|
||||
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_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__string__glean_baseline_locale {
|
||||
sql: ${TABLE}.metrics.string.glean_baseline_locale ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Baseline 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: metrics__string__glean_client_annotation_experimentation_id {
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Client Annotation Experimentation Id"
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__timespan__glean_baseline_duration__time_unit {
|
||||
sql: ${TABLE}.metrics.timespan.glean_baseline_duration.time_unit ;;
|
||||
type: string
|
||||
group_label: "Metrics Timespan Glean Baseline Duration"
|
||||
group_item_label: "Time Unit"
|
||||
}
|
||||
|
||||
dimension: metrics__timespan__glean_baseline_duration__value {
|
||||
sql: ${TABLE}.metrics.timespan.glean_baseline_duration.value ;;
|
||||
type: number
|
||||
group_label: "Metrics Timespan Glean Baseline Duration"
|
||||
group_item_label: "Value"
|
||||
}
|
||||
|
||||
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: metrics__datetime__glean_validation_first_run_hour {
|
||||
sql: ${TABLE}.metrics.datetime.glean_validation_first_run_hour ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
label: "Metrics Datetime: Glean Validation First Run Hour"
|
||||
description: "The hour of the first run of the application.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_tasks.baseline` ;;
|
||||
}
|
||||
|
||||
view: baseline_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: baseline_table__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: baseline_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,51 +0,0 @@
|
|||
|
||||
# *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: "baseline_clients_daily_table.view.lkml"
|
||||
|
||||
view: client_counts {
|
||||
extends: [baseline_clients_daily_table]
|
||||
|
||||
dimension: have_completed_period {
|
||||
type: yesno
|
||||
description: "Only for use with cohort analysis. Filter on true to remove the tail of incomplete data from cohorts. Indicates whether the cohort for this row have all had a chance to complete this interval. For example, new clients from yesterday have not all had a chance to send a ping for today."
|
||||
sql: DATE_ADD(
|
||||
{% if client_counts.first_seen_date._is_selected %}
|
||||
DATE_ADD(DATE(${client_counts.first_seen_date}), INTERVAL 1 DAY)
|
||||
{% elsif client_counts.first_seen_week._is_selected %}
|
||||
DATE_ADD(DATE(${client_counts.first_seen_week}), INTERVAL 1 WEEK)
|
||||
{% elsif client_counts.first_seen_month._is_selected %}
|
||||
DATE_ADD(PARSE_DATE('%Y-%m', ${client_counts.first_seen_month}), INTERVAL 1 MONTH)
|
||||
{% elsif client_counts.first_seen_year._is_selected %}
|
||||
DATE_ADD(DATE(${client_counts.first_seen_year}, 1, 1), INTERVAL 1 YEAR)
|
||||
{% endif %}
|
||||
,
|
||||
{% if client_counts.days_since_first_seen._is_selected %}
|
||||
INTERVAL CAST(${client_counts.days_since_first_seen} AS INT64) DAY
|
||||
{% elsif client_counts.weeks_since_first_seen._is_selected %}
|
||||
INTERVAL CAST(${client_counts.weeks_since_first_seen} AS INT64) WEEK
|
||||
{% elsif client_counts.months_since_first_seen._is_selected %}
|
||||
INTERVAL CAST(${client_counts.months_since_first_seen} AS INT64) MONTH
|
||||
{% elsif client_counts.years_since_first_seen._is_selected %}
|
||||
INTERVAL CAST(${client_counts.months_since_first_seen} AS INT64) YEAR
|
||||
{% endif %}
|
||||
) < current_date ;;
|
||||
}
|
||||
|
||||
dimension_group: since_first_seen {
|
||||
type: duration
|
||||
description: "Amount of time that has passed since the client was first seen."
|
||||
sql_start: CAST(${TABLE}.first_seen_date AS TIMESTAMP) ;;
|
||||
sql_end: CAST(${TABLE}.submission_date AS TIMESTAMP) ;;
|
||||
intervals: [day, week, month, year]
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: number
|
||||
description: "The number of clients, determined by whether they sent a baseline ping on the day in question."
|
||||
sql: COUNT(DISTINCT ${TABLE}.client_id) ;;
|
||||
}
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,965 +0,0 @@
|
|||
|
||||
# *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: crash_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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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__boolean__crash_is_garbage_collecting {
|
||||
sql: ${TABLE}.metrics.boolean.crash_is_garbage_collecting ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Crash Is Garbage Collecting"
|
||||
description: "Indicates that the crash occurred while the garbage collector was running.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__crash_startup {
|
||||
sql: ${TABLE}.metrics.boolean.crash_startup ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Crash Startup"
|
||||
description: "If true, the crash occurred during process startup.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__crash_windows_error_reporting {
|
||||
sql: ${TABLE}.metrics.boolean.crash_windows_error_reporting ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Crash Windows Error Reporting"
|
||||
description: "Indicates if the crash was intercepted by the Windows Error Reporting runtime exception module.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__dll_blocklist_init_failed {
|
||||
sql: ${TABLE}.metrics.boolean.dll_blocklist_init_failed ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Dll Blocklist Init Failed"
|
||||
description: "Indicates whether initialization of the DLL blocklist failed.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__dll_blocklist_user32_loaded_before {
|
||||
sql: ${TABLE}.metrics.boolean.dll_blocklist_user32_loaded_before ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Dll Blocklist User32 Loaded Before"
|
||||
description: "Indicates whether `user32.dll` was loaded before the DLL blocklist was initialized.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__environment_headless_mode {
|
||||
sql: ${TABLE}.metrics.boolean.environment_headless_mode ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Environment Headless Mode"
|
||||
description: "Whether the app was invoked in headless mode via `--headless` or `--backgroundtask`.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__datetime__raw_crash_time {
|
||||
sql: ${TABLE}.metrics.datetime.raw_crash_time ;;
|
||||
type: string
|
||||
group_label: "Metrics Datetime"
|
||||
group_item_label: "Raw Crash Time"
|
||||
}
|
||||
|
||||
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__object__crash_async_shutdown_timeout {
|
||||
sql: ${TABLE}.metrics.object.crash_async_shutdown_timeout ;;
|
||||
hidden: yes
|
||||
description: "Present when a shutdown blocker failed to respond within a reasonable amount of time.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__object__crash_quota_manager_shutdown_timeout {
|
||||
sql: ${TABLE}.metrics.object.crash_quota_manager_shutdown_timeout ;;
|
||||
hidden: yes
|
||||
description: "Contains a list of shutdown steps and status of the quota manager clients.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__object__crash_stack_traces {
|
||||
sql: ${TABLE}.metrics.object.crash_stack_traces ;;
|
||||
hidden: yes
|
||||
description: "Stack trace and module information of the crashing process.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__crash_event_loop_nesting_level {
|
||||
sql: ${TABLE}.metrics.quantity.crash_event_loop_nesting_level ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Crash Event Loop Nesting Level"
|
||||
description: "Indicates the nesting level of the event loop.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__crash_gpu_process_launch {
|
||||
sql: ${TABLE}.metrics.quantity.crash_gpu_process_launch ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Crash Gpu Process Launch"
|
||||
description: "The number of times that the GPU process was launched.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__memory_available_commit {
|
||||
sql: ${TABLE}.metrics.quantity.memory_available_commit ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Memory Available Commit"
|
||||
description: "Available commit size.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__memory_available_physical {
|
||||
sql: ${TABLE}.metrics.quantity.memory_available_physical ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Memory Available Physical"
|
||||
description: "Available physical memory.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__memory_available_swap {
|
||||
sql: ${TABLE}.metrics.quantity.memory_available_swap ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Memory Available Swap"
|
||||
description: "Available swap memory.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__memory_available_virtual {
|
||||
sql: ${TABLE}.metrics.quantity.memory_available_virtual ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Memory Available Virtual"
|
||||
description: "Available virtual memory.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__memory_low_physical {
|
||||
sql: ${TABLE}.metrics.quantity.memory_low_physical ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Memory Low Physical"
|
||||
description: "The number of times the available memory tracker has detected that free physical memory is running low.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__memory_oom_allocation_size {
|
||||
sql: ${TABLE}.metrics.quantity.memory_oom_allocation_size ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Memory Oom Allocation Size"
|
||||
description: "The size of the allocation that caused on OOM crash.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__memory_purgeable_physical {
|
||||
sql: ${TABLE}.metrics.quantity.memory_purgeable_physical ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Memory Purgeable Physical"
|
||||
description: "The amount of memory that can be deallocated by the OS in case of memory pressure.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__memory_system_use_percentage {
|
||||
sql: ${TABLE}.metrics.quantity.memory_system_use_percentage ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Memory System Use Percentage"
|
||||
description: "The percentage of memory in use.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__memory_texture {
|
||||
sql: ${TABLE}.metrics.quantity.memory_texture ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Memory Texture"
|
||||
description: "The amount of memory used in textures.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__memory_total_page_file {
|
||||
sql: ${TABLE}.metrics.quantity.memory_total_page_file ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Memory Total Page File"
|
||||
description: "The total page file size.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__memory_total_physical {
|
||||
sql: ${TABLE}.metrics.quantity.memory_total_physical ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Memory Total Physical"
|
||||
description: "The total physical memory.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__quantity__memory_total_virtual {
|
||||
sql: ${TABLE}.metrics.quantity.memory_total_virtual ;;
|
||||
type: number
|
||||
group_label: "Metrics Quantity"
|
||||
group_item_label: "Memory Total Virtual"
|
||||
description: "The total virtual memory.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__crash_app_build {
|
||||
sql: ${TABLE}.metrics.string.crash_app_build ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Crash App Build"
|
||||
description: "The build id of the application. This may differ from `client_info` because a main process crash may be reported later by a different (e.g. updated) client.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__crash_app_channel {
|
||||
sql: ${TABLE}.metrics.string.crash_app_channel ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Crash App Channel"
|
||||
description: "The release channel of the application. This may differ from `client_info` because a main process crash may be reported later by a different (e.g. updated) client.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__crash_app_display_version {
|
||||
sql: ${TABLE}.metrics.string.crash_app_display_version ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Crash App Display Version"
|
||||
description: "The version of the application. This may differ from `client_info` because a main process crash may be reported later by a different (e.g. updated) client.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__crash_background_task_name {
|
||||
sql: ${TABLE}.metrics.string.crash_background_task_name ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Crash Background Task Name"
|
||||
description: "The name of the background task if launched as one.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__crash_font_name {
|
||||
sql: ${TABLE}.metrics.string.crash_font_name ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Crash Font Name"
|
||||
description: "The font family name that is being loaded when the crash occurred.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__crash_ipc_channel_error {
|
||||
sql: ${TABLE}.metrics.string.crash_ipc_channel_error ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Crash Ipc Channel Error"
|
||||
description: "The error reason for an ipc-based content crash.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__crash_main_thread_runnable_name {
|
||||
sql: ${TABLE}.metrics.string.crash_main_thread_runnable_name ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Crash Main Thread Runnable Name"
|
||||
description: "Name of the currently executing `nsIRunnable` on the main thread. Nightly-only.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__crash_minidump_sha256_hash {
|
||||
sql: ${TABLE}.metrics.string.crash_minidump_sha256_hash ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Crash Minidump Sha256 Hash"
|
||||
description: "The SHA256 hash of the associated minidump file, if any.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__crash_moz_crash_reason {
|
||||
sql: ${TABLE}.metrics.string.crash_moz_crash_reason ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Crash Moz Crash Reason"
|
||||
description: "Contains the string passed to `MOZ_CRASH()`.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__crash_process_type {
|
||||
sql: ${TABLE}.metrics.string.crash_process_type ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Crash Process Type"
|
||||
description: "The type of process that experienced a crash. See the full list of options [here](https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/data/crash-ping.html#process-types).
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__crash_profiler_child_shutdown_phase {
|
||||
sql: ${TABLE}.metrics.string.crash_profiler_child_shutdown_phase ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Crash Profiler Child Shutdown Phase"
|
||||
description: "The shutdown phase of the profiler.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__crash_remote_type {
|
||||
sql: ${TABLE}.metrics.string.crash_remote_type ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Crash Remote Type"
|
||||
description: "The type of the content process. See the full list of options [here](https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/data/crash-ping.html#remote-process-types).
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__crash_shutdown_progress {
|
||||
sql: ${TABLE}.metrics.string.crash_shutdown_progress ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Crash Shutdown Progress"
|
||||
description: "The shutdown phase in which the crash occurred.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__crash_windows_file_dialog_error_code {
|
||||
sql: ${TABLE}.metrics.string.crash_windows_file_dialog_error_code ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Crash Windows File Dialog Error Code"
|
||||
description: "The HRESULT returned from a Win32 system call leading to termination of the file-dialog utility process. MozCrashReason is expected to provide context for the value.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Client Annotation Experimentation Id"
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__windows_package_family_name {
|
||||
sql: ${TABLE}.metrics.string.windows_package_family_name ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Windows Package Family Name"
|
||||
description: "The Package Family Name of Firefox, if installed through an MSIX package.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string_list__dll_blocklist_list {
|
||||
sql: ${TABLE}.metrics.string_list.dll_blocklist_list ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: metrics__string_list__environment_experimental_features {
|
||||
sql: ${TABLE}.metrics.string_list.environment_experimental_features ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: metrics__timespan__crash_uptime__time_unit {
|
||||
sql: ${TABLE}.metrics.timespan.crash_uptime.time_unit ;;
|
||||
type: string
|
||||
group_label: "Metrics Timespan Crash Uptime"
|
||||
group_item_label: "Time Unit"
|
||||
}
|
||||
|
||||
dimension: metrics__timespan__crash_uptime__value {
|
||||
sql: ${TABLE}.metrics.timespan.crash_uptime.value ;;
|
||||
type: number
|
||||
group_label: "Metrics Timespan Crash Uptime"
|
||||
group_item_label: "Value"
|
||||
}
|
||||
|
||||
dimension: metrics__timespan__environment_uptime__time_unit {
|
||||
sql: ${TABLE}.metrics.timespan.environment_uptime.time_unit ;;
|
||||
type: string
|
||||
group_label: "Metrics Timespan Environment Uptime"
|
||||
group_item_label: "Time Unit"
|
||||
}
|
||||
|
||||
dimension: metrics__timespan__environment_uptime__value {
|
||||
sql: ${TABLE}.metrics.timespan.environment_uptime.value ;;
|
||||
type: number
|
||||
group_label: "Metrics Timespan Environment Uptime"
|
||||
group_item_label: "Value"
|
||||
}
|
||||
|
||||
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: metrics__datetime__crash {
|
||||
sql: ${TABLE}.metrics.datetime.crash_time ;;
|
||||
type: time
|
||||
timeframes: [
|
||||
raw,
|
||||
time,
|
||||
date,
|
||||
week,
|
||||
month,
|
||||
quarter,
|
||||
year,
|
||||
]
|
||||
label: "Metrics Datetime: Crash Time"
|
||||
description: "The time at which the crash occurred.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_tasks.crash` ;;
|
||||
}
|
||||
|
||||
view: crash_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: crash_table__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: crash_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,969 +0,0 @@
|
|||
|
||||
# *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: default_agent {
|
||||
dimension: metrics__string__do_task_implementation {
|
||||
label: "Do Task Implementation"
|
||||
hidden: yes
|
||||
sql: ${TABLE}.metrics.string.do_task_implementation ;;
|
||||
type: string
|
||||
group_label: "Do Task"
|
||||
group_item_label: "Implementation"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Do Task Implementation"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_tasks/metrics/do_task_implementation"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "Which implementation of `do-task` was used: \"JavaScript\" by default or \"C++\" if a Nimbus rollback was acted upon.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__notification_action {
|
||||
label: "Notification Action"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.notification_action ;;
|
||||
type: string
|
||||
group_label: "Notification"
|
||||
group_item_label: "Action"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Notification Action"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_tasks/metrics/notification_action"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The action that the user took in response to the notification. Possible values currently include the following: * “dismissed-by-timeout” * “dismissed-to-action-center” * “dismissed-by-button” * “dismissed-by-application-hidden” * “make-firefox-default-button” * “toast-clicked”
|
||||
Many of the values correspond to buttons on the notification and should be pretty self explanatory, but a few are less so. * “dismissed-to-action-center” will be used if the user clicks the arrow in
|
||||
the top right corner of the notification to dismiss it to the
|
||||
action center.
|
||||
* “dismissed-by-application-hidden” is provided because that is a method of
|
||||
dismissal that the notification API could give but, in practice, should
|
||||
never be seen.
|
||||
* “dismissed-by-timeout” indicates that the user did not interact with the
|
||||
notification and it timed out.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__boolean__notification_show_success {
|
||||
label: "Notification Show Success"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.boolean.notification_show_success ;;
|
||||
type: yesno
|
||||
group_label: "Notification"
|
||||
group_item_label: "Show Success"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Notification Show Success"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_tasks/metrics/notification_show_success"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "Whether a notification was shown or not. Possible value include \"shown\" and \"error\".
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_os_version {
|
||||
label: "System Os Version"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.system_os_version ;;
|
||||
type: string
|
||||
group_label: "System"
|
||||
group_item_label: "Os Version"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for System Os Version"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_tasks/metrics/system_os_version"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The current Windows OS version, usually as a dotted quad (\"x.y.z.w\") with Windows Update Build Revision (UBR), but potentially as a dotted triple (\"x.y.z\") without UBR.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_previous_os_version {
|
||||
label: "System Previous Os Version"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.system_previous_os_version ;;
|
||||
type: string
|
||||
group_label: "System"
|
||||
group_item_label: "Previous Os Version"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for System Previous Os Version"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_tasks/metrics/system_previous_os_version"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "The Windows OS version before it was changed to the current setting. The possible values are the same as for `system.os_version`.
|
||||
The OS does not keep track of the previous OS version, so the agent records this information itself. That means that it will be inaccurate until the first time the default is changed after the agent task begins running. Before then, the value of `previous_os_version` will be the same as `os_version`.
|
||||
This value is updated every time the Default Agent runs, so when the default browser is first changed the values for `os_version` and `previous_os_version` will be different. But on subsequent executions of the Default Agent, the two values will be the same.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_default_browser {
|
||||
label: "System Default Browser"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.system_default_browser ;;
|
||||
type: string
|
||||
group_label: "System Default"
|
||||
group_item_label: "Browser"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for System Default Browser"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_tasks/metrics/system_default_browser"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "Which browser is currently set as the system default web browser. This is simply a string with the name of the browser binned to a fixed set of known browsers.
|
||||
Possible values currently include the following (from [DefaultBrowser.cpp](https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/DefaultBrowser.cpp)): * \"error\" * \"\" (unknown) * \"firefox\" * \"chrome\" * \"edge\" * \"edge-chrome\" * \"ie\" * \"opera\" * \"brave\" * \"yandex\" * \"qq-browser\" * \"360-browser\" * \"sogou\" * \"duckduckgo\"
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_default_pdf_handler {
|
||||
label: "System Default Pdf Handler"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.system_default_pdf_handler ;;
|
||||
type: string
|
||||
group_label: "System Default"
|
||||
group_item_label: "Pdf Handler"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for System Default Pdf Handler"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_tasks/metrics/system_default_pdf_handler"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "Which pdf handler is currently set as the system default handler. This is simply a string with the name of the handler binned to a fixed set of known handlers.
|
||||
Possible values currently include the following (from [DefaultPDF.cpp](https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/DefaultPDF.cpp)): * \"Error\" * \"\" (unknown) * \"Firefox\" * \"Microsoft Edge\" * \"Google Chrome\" * \"Adobe Acrobat\" * \"WPS\" * \"Nitro\" * \"Foxit\" * \"PDF-XChange\" * \"Avast\" * \"Sumatra\"
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_default_previous_browser {
|
||||
label: "System Default Previous Browser"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.system_default_previous_browser ;;
|
||||
type: string
|
||||
group_label: "System Default"
|
||||
group_item_label: "Previous Browser"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for System Default Previous Browser"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_tasks/metrics/system_default_previous_browser"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "Which browser was set as the system default before it was changed to the current setting. The possible values are the same as for `system_default.browser`.
|
||||
The OS does not keep track of previous default settings, so the agent records this information itself. That means that it will be inaccurate until the first time the default is changed after the agent task begins running. Before then, the value of `previous_browser` will be the same as `browser`.
|
||||
This value is updated every time the Default Agent runs, so when the default browser is first changed the values for `browser` and `previous_browser` will be different. But on subsequent executions of the Default Agent, the two values will be the same.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
label: "Glean Client Annotation Experimentation Id"
|
||||
hidden: no
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Glean Client Annotation"
|
||||
group_item_label: "Experimentation Id"
|
||||
|
||||
link: {
|
||||
label: "Glean Dictionary reference for Glean Client Annotation Experimentation Id"
|
||||
url: "https://dictionary.telemetry.mozilla.org/apps/firefox_desktop_background_tasks/metrics/glean_client_annotation_experimentation_id"
|
||||
icon_url: "https://dictionary.telemetry.mozilla.org/favicon.png"
|
||||
}
|
||||
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_tasks/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_background_tasks/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_background_tasks/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_background_tasks/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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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_background_tasks.default_agent` ;;
|
||||
}
|
||||
|
||||
view: default_agent__metrics__labeled_counter__glean_error_invalid_label {
|
||||
label: "Glean Error - Invalid Label"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
suggest_explore: suggest__default_agent__metrics__labeled_counter__glean_error_invalid_label
|
||||
suggest_dimension: suggest__default_agent__metrics__labeled_counter__glean_error_invalid_label.key
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${default_agent.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: default_agent__metrics__labeled_counter__glean_error_invalid_overflow {
|
||||
label: "Glean Error - Invalid Overflow"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${default_agent.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: default_agent__metrics__labeled_counter__glean_error_invalid_state {
|
||||
label: "Glean Error - Invalid State"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${default_agent.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: default_agent__metrics__labeled_counter__glean_error_invalid_value {
|
||||
label: "Glean Error - Invalid Value"
|
||||
|
||||
dimension: document_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id} ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: document_label_id {
|
||||
type: string
|
||||
sql: ${default_agent.document_id}-${label} ;;
|
||||
primary_key: yes
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
type: number
|
||||
sql: ${TABLE}.value ;;
|
||||
hidden: yes
|
||||
}
|
||||
|
||||
dimension: label {
|
||||
type: string
|
||||
sql: ${TABLE}.key ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: count {
|
||||
type: sum
|
||||
sql: ${value} ;;
|
||||
hidden: no
|
||||
}
|
||||
|
||||
measure: client_count {
|
||||
type: count_distinct
|
||||
sql: case when ${value} > 0 then ${default_agent.client_info__client_id} end ;;
|
||||
hidden: no
|
||||
}
|
||||
}
|
||||
|
||||
view: suggest__default_agent__metrics__labeled_counter__glean_error_invalid_label {
|
||||
derived_table: {
|
||||
sql: select
|
||||
m.key,
|
||||
count(*) as n
|
||||
from mozdata.firefox_desktop_background_tasks.default_agent 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: default_agent__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: default_agent__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: default_agent__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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
|
@ -1,653 +0,0 @@
|
|||
|
||||
# *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: default_agent_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__session_count {
|
||||
sql: ${TABLE}.client_info.session_count ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Count"
|
||||
description: "An optional running counter of the number of sessions for a client."
|
||||
}
|
||||
|
||||
dimension: client_info__session_id {
|
||||
sql: ${TABLE}.client_info.session_id ;;
|
||||
type: string
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Session Id"
|
||||
description: "An optional UUID uniquely identifying the client's current session."
|
||||
}
|
||||
|
||||
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: client_info__windows_build_number {
|
||||
sql: ${TABLE}.client_info.windows_build_number ;;
|
||||
type: number
|
||||
group_label: "Client Info"
|
||||
group_item_label: "Windows Build Number"
|
||||
description: "The optional Windows build number, reported by Windows (e.g. 22000) and not set for other platforms"
|
||||
}
|
||||
|
||||
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__boolean__notification_show_success {
|
||||
sql: ${TABLE}.metrics.boolean.notification_show_success ;;
|
||||
type: yesno
|
||||
group_label: "Metrics Boolean"
|
||||
group_item_label: "Notification Show Success"
|
||||
description: "Whether a notification was shown or not. Possible value include \"shown\" and \"error\".
|
||||
"
|
||||
}
|
||||
|
||||
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__string__do_task_implementation {
|
||||
sql: ${TABLE}.metrics.string.do_task_implementation ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Do Task Implementation"
|
||||
description: "Which implementation of `do-task` was used: \"JavaScript\" by default or \"C++\" if a Nimbus rollback was acted upon.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__glean_client_annotation_experimentation_id {
|
||||
sql: ${TABLE}.metrics.string.glean_client_annotation_experimentation_id ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Glean Client Annotation Experimentation Id"
|
||||
description: "An experimentation identifier derived and provided by the application
|
||||
for the purpose of experimentation enrollment.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__notification_action {
|
||||
sql: ${TABLE}.metrics.string.notification_action ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "Notification Action"
|
||||
description: "The action that the user took in response to the notification. Possible values currently include the following: * “dismissed-by-timeout” * “dismissed-to-action-center” * “dismissed-by-button” * “dismissed-by-application-hidden” * “make-firefox-default-button” * “toast-clicked”
|
||||
Many of the values correspond to buttons on the notification and should be pretty self explanatory, but a few are less so. * “dismissed-to-action-center” will be used if the user clicks the arrow in
|
||||
the top right corner of the notification to dismiss it to the
|
||||
action center.
|
||||
* “dismissed-by-application-hidden” is provided because that is a method of
|
||||
dismissal that the notification API could give but, in practice, should
|
||||
never be seen.
|
||||
* “dismissed-by-timeout” indicates that the user did not interact with the
|
||||
notification and it timed out.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_default_browser {
|
||||
sql: ${TABLE}.metrics.string.system_default_browser ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "System Default Browser"
|
||||
description: "Which browser is currently set as the system default web browser. This is simply a string with the name of the browser binned to a fixed set of known browsers.
|
||||
Possible values currently include the following (from [DefaultBrowser.cpp](https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/DefaultBrowser.cpp)): * \"error\" * \"\" (unknown) * \"firefox\" * \"chrome\" * \"edge\" * \"edge-chrome\" * \"ie\" * \"opera\" * \"brave\" * \"yandex\" * \"qq-browser\" * \"360-browser\" * \"sogou\" * \"duckduckgo\"
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_default_pdf_handler {
|
||||
sql: ${TABLE}.metrics.string.system_default_pdf_handler ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "System Default Pdf Handler"
|
||||
description: "Which pdf handler is currently set as the system default handler. This is simply a string with the name of the handler binned to a fixed set of known handlers.
|
||||
Possible values currently include the following (from [DefaultPDF.cpp](https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/DefaultPDF.cpp)): * \"Error\" * \"\" (unknown) * \"Firefox\" * \"Microsoft Edge\" * \"Google Chrome\" * \"Adobe Acrobat\" * \"WPS\" * \"Nitro\" * \"Foxit\" * \"PDF-XChange\" * \"Avast\" * \"Sumatra\"
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_default_previous_browser {
|
||||
sql: ${TABLE}.metrics.string.system_default_previous_browser ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "System Default Previous Browser"
|
||||
description: "Which browser was set as the system default before it was changed to the current setting. The possible values are the same as for `system_default.browser`.
|
||||
The OS does not keep track of previous default settings, so the agent records this information itself. That means that it will be inaccurate until the first time the default is changed after the agent task begins running. Before then, the value of `previous_browser` will be the same as `browser`.
|
||||
This value is updated every time the Default Agent runs, so when the default browser is first changed the values for `browser` and `previous_browser` will be different. But on subsequent executions of the Default Agent, the two values will be the same.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_os_version {
|
||||
sql: ${TABLE}.metrics.string.system_os_version ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "System Os Version"
|
||||
description: "The current Windows OS version, usually as a dotted quad (\"x.y.z.w\") with Windows Update Build Revision (UBR), but potentially as a dotted triple (\"x.y.z\") without UBR.
|
||||
"
|
||||
}
|
||||
|
||||
dimension: metrics__string__system_previous_os_version {
|
||||
sql: ${TABLE}.metrics.string.system_previous_os_version ;;
|
||||
type: string
|
||||
group_label: "Metrics String"
|
||||
group_item_label: "System Previous Os Version"
|
||||
description: "The Windows OS version before it was changed to the current setting. The possible values are the same as for `system.os_version`.
|
||||
The OS does not keep track of the previous OS version, so the agent records this information itself. That means that it will be inaccurate until the first time the default is changed after the agent task begins running. Before then, the value of `previous_os_version` will be the same as `os_version`.
|
||||
This value is updated every time the Default Agent runs, so when the default browser is first changed the values for `os_version` and `previous_os_version` will be different. But on subsequent executions of the Default Agent, the two values will be the same.
|
||||
"
|
||||
}
|
||||
|
||||
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_background_tasks.default_agent` ;;
|
||||
}
|
||||
|
||||
view: default_agent_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: default_agent_table__events__extra {
|
||||
dimension: key {
|
||||
sql: ${TABLE}.key ;;
|
||||
type: string
|
||||
}
|
||||
|
||||
dimension: value {
|
||||
sql: ${TABLE}.value ;;
|
||||
type: string
|
||||
}
|
||||
}
|
||||
|
||||
view: default_agent_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__enrollment_id {
|
||||
sql: ${TABLE}.value.extra.enrollment_id ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Enrollment Id"
|
||||
}
|
||||
|
||||
dimension: value__extra__type {
|
||||
sql: ${TABLE}.value.extra.type ;;
|
||||
type: string
|
||||
group_label: "Value Extra"
|
||||
group_item_label: "Type"
|
||||
}
|
||||
}
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче