mozilla / bigquery-etl

Bigquery ETL
https://mozilla.github.io/bigquery-etl
Mozilla Public License 2.0
241 stars 98 forks source link

Try to fully specify `metrics` fields to select in Glean union views #5800

Closed sean-rose closed 1 week ago

sean-rose commented 2 weeks ago

To try to avoid problems when the underlying table/view schemas change due to new metrics being added.


Checklist for reviewer:

For modifications to schemas in restricted namespaces (see CODEOWNERS):

┆Issue is synchronized with this Jira Task

dataops-ci-bot commented 2 weeks ago

Integration report for "Always fully specify metrics fields to select in Glean union views."

sql.diff

Click to expand! ```diff diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-18 16:28:39.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-18 16:30:45.000000000 +0000 @@ -50,7 +50,7 @@ client_info.app_display_version AS version, ping_info FROM - `moz-fx-data-shared-prod.bedrock_live.interaction_v1` + `moz-fx-data-shared-prod.bedrock_live.events_v1` UNION ALL SELECT submission_timestamp, @@ -70,7 +70,7 @@ client_info.app_display_version AS version, ping_info FROM - `moz-fx-data-shared-prod.bedrock_live.events_v1` + `moz-fx-data-shared-prod.bedrock_live.interaction_v1` ) CROSS JOIN UNNEST(events) AS event, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql 2024-06-18 16:28:39.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql 2024-06-18 16:31:20.000000000 +0000 @@ -10,7 +10,99 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + CAST(NULL AS INTEGER) AS `errors_marian`, + CAST(NULL AS INTEGER) AS `errors_memory`, + CAST(NULL AS INTEGER) AS `errors_model_download`, + CAST(NULL AS INTEGER) AS `errors_translation`, + CAST(NULL AS INTEGER) AS `service_lang_mismatch`, + CAST(NULL AS INTEGER) AS `service_not_suppported`, + CAST(NULL AS INTEGER) AS `test_counter_test`, + CAST(NULL AS INTEGER) AS `service_not_supported` + ) AS `counter`, + STRUCT( + CAST(NULL AS STRING) AS `metadata_from_lang`, + CAST(NULL AS STRING) AS `metadata_to_lang`, + CAST(NULL AS STRING) AS `performance_model_download_time`, + CAST(NULL AS STRING) AS `performance_model_load_time`, + CAST(NULL AS STRING) AS `performance_translation_quality`, + CAST(NULL AS STRING) AS `performance_translation_time`, + CAST(NULL AS STRING) AS `performance_words_per_second`, + CAST(NULL AS STRING) AS `test_string_test`, + CAST(NULL AS STRING) AS `metadata_firefox_client_id`, + CAST(NULL AS STRING) AS `metadata_bergamot_translator_version`, + CAST(NULL AS STRING) AS `metadata_cpu_extensions`, + CAST(NULL AS STRING) AS `metadata_cpu_family`, + CAST(NULL AS STRING) AS `metadata_cpu_model`, + CAST(NULL AS STRING) AS `metadata_cpu_stepping`, + CAST(NULL AS STRING) AS `metadata_cpu_vendor`, + CAST(NULL AS STRING) AS `metadata_extension_build_id`, + CAST(NULL AS STRING) AS `metadata_extension_version`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string`, + STRUCT( + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value` + ) AS `labeled_counter`, + STRUCT( + CAST(NULL AS INTEGER) AS `metadata_cpu_cores_count`, + CAST(NULL AS INTEGER) AS `metadata_cpu_count`, + CAST(NULL AS INTEGER) AS `metadata_cpu_l2_cache`, + CAST(NULL AS INTEGER) AS `metadata_cpu_l3_cache`, + CAST(NULL AS INTEGER) AS `metadata_cpu_speed`, + CAST(NULL AS INTEGER) AS `metadata_system_memory`, + CAST(NULL AS INTEGER) AS `performance_full_page_translated_wps`, + CAST(NULL AS INTEGER) AS `performance_translation_engine_wps`, + CAST(NULL AS INTEGER) AS `performance_word_count`, + CAST(NULL AS INTEGER) AS `performance_word_count_visible_in_viewport`, + CAST(NULL AS INTEGER) AS `metadata_cpu_family`, + CAST(NULL AS INTEGER) AS `metadata_cpu_model`, + CAST(NULL AS INTEGER) AS `metadata_cpu_stepping` + ) AS `quantity`, + STRUCT( + STRUCT( + CAST(NULL AS STRING) AS `time_unit`, + CAST(NULL AS INTEGER) AS `value` + ) AS `performance_full_page_translated_time`, + STRUCT( + CAST(NULL AS STRING) AS `time_unit`, + CAST(NULL AS INTEGER) AS `value` + ) AS `performance_model_download_time_num`, + STRUCT( + CAST(NULL AS STRING) AS `time_unit`, + CAST(NULL AS INTEGER) AS `value` + ) AS `performance_model_load_time_num`, + STRUCT( + CAST(NULL AS STRING) AS `time_unit`, + CAST(NULL AS INTEGER) AS `value` + ) AS `performance_translation_engine_time` + ) AS `timespan` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql 2024-06-18 16:28:39.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql 2024-06-18 16:31:18.000000000 +0000 @@ -10,7 +10,37 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value` + ) AS `labeled_counter`, + STRUCT(CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id`) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql 2024-06-18 16:28:39.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql 2024-06-18 16:31:19.000000000 +0000 @@ -10,7 +10,38 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value` + ) AS `labeled_counter`, + STRUCT(CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id`) AS `string`, + STRUCT(CAST(NULL AS STRING) AS `glean_page_id`) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml 2024-06-18 16:28:03.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml 2024-06-18 16:37:43.000000000 +0000 @@ -1,49 +1,49 @@ fields: -- mode: NULLABLE - name: submission_date +- name: submission_date type: DATE -- mode: NULLABLE - name: source + mode: NULLABLE +- name: source type: STRING -- mode: NULLABLE - name: event_type + mode: NULLABLE +- name: event_type type: STRING -- mode: NULLABLE - name: form_factor + mode: NULLABLE +- name: form_factor type: STRING -- mode: NULLABLE - name: country + mode: NULLABLE +- name: country type: STRING -- mode: NULLABLE - name: subdivision1 + mode: NULLABLE +- name: subdivision1 type: STRING -- mode: NULLABLE - name: advertiser + mode: NULLABLE +- name: advertiser type: STRING -- mode: NULLABLE - name: release_channel + mode: NULLABLE +- name: release_channel type: STRING -- mode: NULLABLE - name: position + mode: NULLABLE +- name: position type: INTEGER -- mode: NULLABLE - name: provider + mode: NULLABLE +- name: provider type: STRING -- mode: NULLABLE - name: match_type + mode: NULLABLE +- name: match_type type: STRING -- mode: NULLABLE - name: normalized_os + mode: NULLABLE +- name: normalized_os type: STRING -- mode: NULLABLE - name: suggest_data_sharing_enabled + mode: NULLABLE +- name: suggest_data_sharing_enabled type: BOOLEAN -- mode: NULLABLE - name: event_count + mode: NULLABLE +- name: event_count type: INTEGER -- mode: NULLABLE - name: user_count + mode: NULLABLE +- name: user_count type: INTEGER -- mode: NULLABLE - name: query_type + mode: NULLABLE +- name: query_type type: STRING + mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml 2024-06-18 16:28:03.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml 2024-06-18 16:37:42.000000000 +0000 @@ -1,40 +1,40 @@ fields: -- mode: NULLABLE - name: submission_date +- name: submission_date type: DATE -- mode: NULLABLE - name: form_factor + mode: NULLABLE +- name: form_factor type: STRING -- mode: NULLABLE - name: country + mode: NULLABLE +- name: country type: STRING -- mode: NULLABLE - name: advertiser + mode: NULLABLE +- name: advertiser type: STRING -- mode: NULLABLE - name: normalized_os + mode: NULLABLE +- name: normalized_os type: STRING -- mode: NULLABLE - name: release_channel + mode: NULLABLE +- name: release_channel type: STRING -- mode: NULLABLE - name: position + mode: NULLABLE +- name: position type: INTEGER -- mode: NULLABLE - name: provider + mode: NULLABLE +- name: provider type: STRING -- mode: NULLABLE - name: match_type + mode: NULLABLE +- name: match_type type: STRING -- mode: NULLABLE - name: suggest_data_sharing_enabled + mode: NULLABLE +- name: suggest_data_sharing_enabled type: BOOLEAN -- mode: NULLABLE - name: impression_count + mode: NULLABLE +- name: impression_count type: INTEGER -- mode: NULLABLE - name: click_count + mode: NULLABLE +- name: click_count type: INTEGER -- mode: NULLABLE - name: query_type + mode: NULLABLE +- name: query_type type: STRING + mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql 2024-06-18 16:28:40.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql 2024-06-18 16:31:37.000000000 +0000 @@ -13,7 +13,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value` + ) AS `labeled_counter`, + STRUCT( + CAST(NULL AS STRING) AS `activation_identifier`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string`, + STRUCT(CAST(NULL AS STRING) AS `activation_activation_id`) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +69,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value` + ) AS `labeled_counter`, + STRUCT( + CAST(NULL AS STRING) AS `activation_identifier`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string`, + STRUCT(CAST(NULL AS STRING) AS `activation_activation_id`) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -77,13 +145,38 @@ metadata, STRUCT( STRUCT( - metrics.labeled_counter.glean_error_invalid_label, - metrics.labeled_counter.glean_error_invalid_overflow, - metrics.labeled_counter.glean_error_invalid_state, - metrics.labeled_counter.glean_error_invalid_value + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value` ) AS `labeled_counter`, - metrics.string, - metrics.uuid + STRUCT( + CAST(NULL AS STRING) AS `activation_identifier`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string`, + STRUCT(CAST(NULL AS STRING) AS `activation_activation_id`) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -135,13 +228,38 @@ metadata, STRUCT( STRUCT( - metrics.labeled_counter.glean_error_invalid_label, - metrics.labeled_counter.glean_error_invalid_overflow, - metrics.labeled_counter.glean_error_invalid_state, - metrics.labeled_counter.glean_error_invalid_value + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value` ) AS `labeled_counter`, - metrics.string, - metrics.uuid + STRUCT( + CAST(NULL AS STRING) AS `activation_identifier`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string`, + STRUCT(CAST(NULL AS STRING) AS `activation_activation_id`) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -173,7 +291,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value` + ) AS `labeled_counter`, + STRUCT( + CAST(NULL AS STRING) AS `activation_identifier`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string`, + STRUCT(CAST(NULL AS STRING) AS `activation_activation_id`) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql 2024-06-18 16:28:40.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql 2024-06-18 16:34:19.000000000 +0000 @@ -13,7 +13,97 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + CAST(NULL AS INTEGER) AS `addresses_sync_outgoing_batches`, + CAST(NULL AS INTEGER) AS `addresses_sync_v2_outgoing_batches` + ) AS `counter`, + STRUCT( + CAST(NULL AS TIMESTAMP) AS `addresses_sync_finished_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_finished_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_started_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_started_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_v2_finished_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_v2_finished_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_v2_started_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_v2_started_at` + ) AS `datetime`, + STRUCT( + ARRAY( + SELECT + STRUCT(addresses_sync_incoming.key, addresses_sync_incoming.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_incoming) AS `addresses_sync_incoming` + ) AS `addresses_sync_incoming`, + ARRAY( + SELECT + STRUCT(addresses_sync_outgoing.key, addresses_sync_outgoing.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_outgoing) AS `addresses_sync_outgoing` + ) AS `addresses_sync_outgoing`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_incoming.key, addresses_sync_v2_incoming.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_v2_incoming) AS `addresses_sync_v2_incoming` + ) AS `addresses_sync_v2_incoming`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_outgoing.key, addresses_sync_v2_outgoing.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_v2_outgoing) AS `addresses_sync_v2_outgoing` + ) AS `addresses_sync_v2_outgoing` + ) AS `labeled_counter`, + STRUCT( + ARRAY( + SELECT + STRUCT(addresses_sync_failure_reason.key, addresses_sync_failure_reason.value) + FROM + UNNEST( + metrics.labeled_string.addresses_sync_failure_reason + ) AS `addresses_sync_failure_reason` + ) AS `addresses_sync_failure_reason`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_failure_reason.key, addresses_sync_v2_failure_reason.value) + FROM + UNNEST( + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `addresses_sync_v2_failure_reason` + ) AS `addresses_sync_v2_failure_reason` + ) AS `labeled_string`, + STRUCT( + CAST(NULL AS STRING) AS `addresses_sync_uid`, + CAST(NULL AS STRING) AS `addresses_sync_v2_uid`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +125,97 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + CAST(NULL AS INTEGER) AS `addresses_sync_outgoing_batches`, + CAST(NULL AS INTEGER) AS `addresses_sync_v2_outgoing_batches` + ) AS `counter`, + STRUCT( + CAST(NULL AS TIMESTAMP) AS `addresses_sync_finished_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_finished_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_started_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_started_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_v2_finished_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_v2_finished_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_v2_started_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_v2_started_at` + ) AS `datetime`, + STRUCT( + ARRAY( + SELECT + STRUCT(addresses_sync_incoming.key, addresses_sync_incoming.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_incoming) AS `addresses_sync_incoming` + ) AS `addresses_sync_incoming`, + ARRAY( + SELECT + STRUCT(addresses_sync_outgoing.key, addresses_sync_outgoing.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_outgoing) AS `addresses_sync_outgoing` + ) AS `addresses_sync_outgoing`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_incoming.key, addresses_sync_v2_incoming.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_v2_incoming) AS `addresses_sync_v2_incoming` + ) AS `addresses_sync_v2_incoming`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_outgoing.key, addresses_sync_v2_outgoing.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_v2_outgoing) AS `addresses_sync_v2_outgoing` + ) AS `addresses_sync_v2_outgoing` + ) AS `labeled_counter`, + STRUCT( + ARRAY( + SELECT + STRUCT(addresses_sync_failure_reason.key, addresses_sync_failure_reason.value) + FROM + UNNEST( + metrics.labeled_string.addresses_sync_failure_reason + ) AS `addresses_sync_failure_reason` + ) AS `addresses_sync_failure_reason`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_failure_reason.key, addresses_sync_v2_failure_reason.value) + FROM + UNNEST( + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `addresses_sync_v2_failure_reason` + ) AS `addresses_sync_v2_failure_reason` + ) AS `labeled_string`, + STRUCT( + CAST(NULL AS STRING) AS `addresses_sync_uid`, + CAST(NULL AS STRING) AS `addresses_sync_v2_uid`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -57,7 +237,97 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + CAST(NULL AS INTEGER) AS `addresses_sync_outgoing_batches`, + CAST(NULL AS INTEGER) AS `addresses_sync_v2_outgoing_batches` + ) AS `counter`, + STRUCT( + CAST(NULL AS TIMESTAMP) AS `addresses_sync_finished_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_finished_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_started_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_started_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_v2_finished_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_v2_finished_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_v2_started_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_v2_started_at` + ) AS `datetime`, + STRUCT( + ARRAY( + SELECT + STRUCT(addresses_sync_incoming.key, addresses_sync_incoming.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_incoming) AS `addresses_sync_incoming` + ) AS `addresses_sync_incoming`, + ARRAY( + SELECT + STRUCT(addresses_sync_outgoing.key, addresses_sync_outgoing.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_outgoing) AS `addresses_sync_outgoing` + ) AS `addresses_sync_outgoing`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_incoming.key, addresses_sync_v2_incoming.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_v2_incoming) AS `addresses_sync_v2_incoming` + ) AS `addresses_sync_v2_incoming`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_outgoing.key, addresses_sync_v2_outgoing.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_v2_outgoing) AS `addresses_sync_v2_outgoing` + ) AS `addresses_sync_v2_outgoing` + ) AS `labeled_counter`, + STRUCT( + ARRAY( + SELECT + STRUCT(addresses_sync_failure_reason.key, addresses_sync_failure_reason.value) + FROM + UNNEST( + metrics.labeled_string.addresses_sync_failure_reason + ) AS `addresses_sync_failure_reason` + ) AS `addresses_sync_failure_reason`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_failure_reason.key, addresses_sync_v2_failure_reason.value) + FROM + UNNEST( + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `addresses_sync_v2_failure_reason` + ) AS `addresses_sync_v2_failure_reason` + ) AS `labeled_string`, + STRUCT( + CAST(NULL AS STRING) AS `addresses_sync_uid`, + CAST(NULL AS STRING) AS `addresses_sync_v2_uid`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -79,7 +349,97 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + CAST(NULL AS INTEGER) AS `addresses_sync_outgoing_batches`, + CAST(NULL AS INTEGER) AS `addresses_sync_v2_outgoing_batches` + ) AS `counter`, + STRUCT( + CAST(NULL AS TIMESTAMP) AS `addresses_sync_finished_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_finished_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_started_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_started_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_v2_finished_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_v2_finished_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_v2_started_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_v2_started_at` + ) AS `datetime`, + STRUCT( + ARRAY( + SELECT + STRUCT(addresses_sync_incoming.key, addresses_sync_incoming.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_incoming) AS `addresses_sync_incoming` + ) AS `addresses_sync_incoming`, + ARRAY( + SELECT + STRUCT(addresses_sync_outgoing.key, addresses_sync_outgoing.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_outgoing) AS `addresses_sync_outgoing` + ) AS `addresses_sync_outgoing`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_incoming.key, addresses_sync_v2_incoming.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_v2_incoming) AS `addresses_sync_v2_incoming` + ) AS `addresses_sync_v2_incoming`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_outgoing.key, addresses_sync_v2_outgoing.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_v2_outgoing) AS `addresses_sync_v2_outgoing` + ) AS `addresses_sync_v2_outgoing` + ) AS `labeled_counter`, + STRUCT( + ARRAY( + SELECT + STRUCT(addresses_sync_failure_reason.key, addresses_sync_failure_reason.value) + FROM + UNNEST( + metrics.labeled_string.addresses_sync_failure_reason + ) AS `addresses_sync_failure_reason` + ) AS `addresses_sync_failure_reason`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_failure_reason.key, addresses_sync_v2_failure_reason.value) + FROM + UNNEST( + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `addresses_sync_v2_failure_reason` + ) AS `addresses_sync_v2_failure_reason` + ) AS `labeled_string`, + STRUCT( + CAST(NULL AS STRING) AS `addresses_sync_uid`, + CAST(NULL AS STRING) AS `addresses_sync_v2_uid`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -101,7 +461,97 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + CAST(NULL AS INTEGER) AS `addresses_sync_outgoing_batches`, + CAST(NULL AS INTEGER) AS `addresses_sync_v2_outgoing_batches` + ) AS `counter`, + STRUCT( + CAST(NULL AS TIMESTAMP) AS `addresses_sync_finished_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_finished_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_started_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_started_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_v2_finished_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_v2_finished_at`, + CAST(NULL AS TIMESTAMP) AS `addresses_sync_v2_started_at`, + CAST(NULL AS STRING) AS `raw_addresses_sync_v2_started_at` + ) AS `datetime`, + STRUCT( + ARRAY( + SELECT + STRUCT(addresses_sync_incoming.key, addresses_sync_incoming.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_incoming) AS `addresses_sync_incoming` + ) AS `addresses_sync_incoming`, + ARRAY( + SELECT + STRUCT(addresses_sync_outgoing.key, addresses_sync_outgoing.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_outgoing) AS `addresses_sync_outgoing` + ) AS `addresses_sync_outgoing`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_incoming.key, addresses_sync_v2_incoming.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_v2_incoming) AS `addresses_sync_v2_incoming` + ) AS `addresses_sync_v2_incoming`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_outgoing.key, addresses_sync_v2_outgoing.value) + FROM + UNNEST(metrics.labeled_counter.addresses_sync_v2_outgoing) AS `addresses_sync_v2_outgoing` + ) AS `addresses_sync_v2_outgoing` + ) AS `labeled_counter`, + STRUCT( + ARRAY( + SELECT + STRUCT(addresses_sync_failure_reason.key, addresses_sync_failure_reason.value) + FROM + UNNEST( + metrics.labeled_string.addresses_sync_failure_reason + ) AS `addresses_sync_failure_reason` + ) AS `addresses_sync_failure_reason`, + ARRAY( + SELECT + STRUCT(addresses_sync_v2_failure_reason.key, addresses_sync_v2_failure_reason.value) + FROM + UNNEST( + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `addresses_sync_v2_failure_reason` + ) AS `addresses_sync_v2_failure_reason` + ) AS `labeled_string`, + STRUCT( + CAST(NULL AS STRING) AS `addresses_sync_uid`, + CAST(NULL AS STRING) AS `addresses_sync_v2_uid`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql 2024-06-18 16:28:40.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql 2024-06-18 16:32:41.000000000 +0000 @@ -13,7 +13,90 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + CAST(NULL AS INTEGER) AS `events_total_uri_count`, + CAST(NULL AS INTEGER) AS `glean_validation_metrics_ping_count`, + CAST(NULL AS INTEGER) AS `events_normal_and_private_uri_count` + ) AS `counter`, + STRUCT( + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value`, + ARRAY( + SELECT + STRUCT(metrics_search_count.key, metrics_search_count.value) + FROM + UNNEST(metrics.labeled_counter.metrics_search_count) AS `metrics_search_count` + ) AS `metrics_search_count`, + ARRAY( + SELECT + STRUCT(browser_search_ad_clicks.key, browser_search_ad_clicks.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS `browser_search_ad_clicks` + ) AS `browser_search_ad_clicks`, + ARRAY( + SELECT + STRUCT(browser_search_in_content.key, browser_search_in_content.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_in_content) AS `browser_search_in_content` + ) AS `browser_search_in_content`, + ARRAY( + SELECT + STRUCT(browser_search_with_ads.key, browser_search_with_ads.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_with_ads) AS `browser_search_with_ads` + ) AS `browser_search_with_ads`, + ARRAY( + SELECT + STRUCT(glean_validation_pings_submitted.key, glean_validation_pings_submitted.value) + FROM + UNNEST( + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `glean_validation_pings_submitted` + ) AS `glean_validation_pings_submitted` + ) AS `labeled_counter`, + STRUCT( + CAST(NULL AS STRING) AS `glean_baseline_locale`, + CAST(NULL AS STRING) AS `search_default_engine_code`, + CAST(NULL AS STRING) AS `search_default_engine_name`, + CAST(NULL AS STRING) AS `metrics_distribution_id`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string`, + STRUCT( + STRUCT( + CAST(NULL AS STRING) AS `time_unit`, + CAST(NULL AS INTEGER) AS `value` + ) AS `glean_baseline_duration` + ) AS `timespan`, + STRUCT( + CAST(NULL AS TIMESTAMP) AS `glean_validation_first_run_hour`, + CAST(NULL AS STRING) AS `raw_glean_validation_first_run_hour` + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +118,90 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + CAST(NULL AS INTEGER) AS `events_total_uri_count`, + CAST(NULL AS INTEGER) AS `glean_validation_metrics_ping_count`, + CAST(NULL AS INTEGER) AS `events_normal_and_private_uri_count` + ) AS `counter`, + STRUCT( + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value`, + ARRAY( + SELECT + STRUCT(metrics_search_count.key, metrics_search_count.value) + FROM + UNNEST(metrics.labeled_counter.metrics_search_count) AS `metrics_search_count` + ) AS `metrics_search_count`, + ARRAY( + SELECT + STRUCT(browser_search_ad_clicks.key, browser_search_ad_clicks.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS `browser_search_ad_clicks` + ) AS `browser_search_ad_clicks`, + ARRAY( + SELECT + STRUCT(browser_search_in_content.key, browser_search_in_content.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_in_content) AS `browser_search_in_content` + ) AS `browser_search_in_content`, + ARRAY( + SELECT + STRUCT(browser_search_with_ads.key, browser_search_with_ads.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_with_ads) AS `browser_search_with_ads` + ) AS `browser_search_with_ads`, + ARRAY( + SELECT + STRUCT(glean_validation_pings_submitted.key, glean_validation_pings_submitted.value) + FROM + UNNEST( + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `glean_validation_pings_submitted` + ) AS `glean_validation_pings_submitted` + ) AS `labeled_counter`, + STRUCT( + CAST(NULL AS STRING) AS `glean_baseline_locale`, + CAST(NULL AS STRING) AS `search_default_engine_code`, + CAST(NULL AS STRING) AS `search_default_engine_name`, + CAST(NULL AS STRING) AS `metrics_distribution_id`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string`, + STRUCT( + STRUCT( + CAST(NULL AS STRING) AS `time_unit`, + CAST(NULL AS INTEGER) AS `value` + ) AS `glean_baseline_duration` + ) AS `timespan`, + STRUCT( + CAST(NULL AS TIMESTAMP) AS `glean_validation_first_run_hour`, + CAST(NULL AS STRING) AS `raw_glean_validation_first_run_hour` + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -76,21 +242,88 @@ events, metadata, STRUCT( - metrics.counter, STRUCT( - metrics.labeled_counter.glean_error_invalid_label, - metrics.labeled_counter.glean_error_invalid_overflow, - metrics.labeled_counter.glean_error_invalid_state, - metrics.labeled_counter.glean_error_invalid_value, - metrics.labeled_counter.metrics_search_count, - metrics.labeled_counter.browser_search_ad_clicks, - metrics.labeled_counter.browser_search_in_content, - metrics.labeled_counter.browser_search_with_ads, + CAST(NULL AS INTEGER) AS `events_total_uri_count`, + CAST(NULL AS INTEGER) AS `glean_validation_metrics_ping_count`, + CAST(NULL AS INTEGER) AS `events_normal_and_private_uri_count` + ) AS `counter`, + STRUCT( + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value`, + ARRAY( + SELECT + STRUCT(metrics_search_count.key, metrics_search_count.value) + FROM + UNNEST(metrics.labeled_counter.metrics_search_count) AS `metrics_search_count` + ) AS `metrics_search_count`, + ARRAY( + SELECT + STRUCT(browser_search_ad_clicks.key, browser_search_ad_clicks.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS `browser_search_ad_clicks` + ) AS `browser_search_ad_clicks`, + ARRAY( + SELECT + STRUCT(browser_search_in_content.key, browser_search_in_content.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_in_content) AS `browser_search_in_content` + ) AS `browser_search_in_content`, + ARRAY( + SELECT + STRUCT(browser_search_with_ads.key, browser_search_with_ads.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_with_ads) AS `browser_search_with_ads` + ) AS `browser_search_with_ads`, + ARRAY( + SELECT + STRUCT(glean_validation_pings_submitted.key, glean_validation_pings_submitted.value) + FROM + UNNEST( metrics.labeled_counter.glean_validation_pings_submitted + ) AS `glean_validation_pings_submitted` + ) AS `glean_validation_pings_submitted` ) AS `labeled_counter`, - metrics.string, - metrics.timespan, - metrics.datetime + STRUCT( + CAST(NULL AS STRING) AS `glean_baseline_locale`, + CAST(NULL AS STRING) AS `search_default_engine_code`, + CAST(NULL AS STRING) AS `search_default_engine_name`, + CAST(NULL AS STRING) AS `metrics_distribution_id`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string`, + STRUCT( + STRUCT( + CAST(NULL AS STRING) AS `time_unit`, + CAST(NULL AS INTEGER) AS `value` + ) AS `glean_baseline_duration` + ) AS `timespan`, + STRUCT( + CAST(NULL AS TIMESTAMP) AS `glean_validation_first_run_hour`, + CAST(NULL AS STRING) AS `raw_glean_validation_first_run_hour` + ) AS `datetime` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -141,21 +374,88 @@ events, metadata, STRUCT( - metrics.counter, STRUCT( - metrics.labeled_counter.glean_error_invalid_label, - metrics.labeled_counter.glean_error_invalid_overflow, - metrics.labeled_counter.glean_error_invalid_state, - metrics.labeled_counter.glean_error_invalid_value, - metrics.labeled_counter.metrics_search_count, - metrics.labeled_counter.browser_search_ad_clicks, - metrics.labeled_counter.browser_search_in_content, - metrics.labeled_counter.browser_search_with_ads, + CAST(NULL AS INTEGER) AS `events_total_uri_count`, + CAST(NULL AS INTEGER) AS `glean_validation_metrics_ping_count`, + CAST(NULL AS INTEGER) AS `events_normal_and_private_uri_count` + ) AS `counter`, + STRUCT( + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value`, + ARRAY( + SELECT + STRUCT(metrics_search_count.key, metrics_search_count.value) + FROM + UNNEST(metrics.labeled_counter.metrics_search_count) AS `metrics_search_count` + ) AS `metrics_search_count`, + ARRAY( + SELECT + STRUCT(browser_search_ad_clicks.key, browser_search_ad_clicks.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS `browser_search_ad_clicks` + ) AS `browser_search_ad_clicks`, + ARRAY( + SELECT + STRUCT(browser_search_in_content.key, browser_search_in_content.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_in_content) AS `browser_search_in_content` + ) AS `browser_search_in_content`, + ARRAY( + SELECT + STRUCT(browser_search_with_ads.key, browser_search_with_ads.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_with_ads) AS `browser_search_with_ads` + ) AS `browser_search_with_ads`, + ARRAY( + SELECT + STRUCT(glean_validation_pings_submitted.key, glean_validation_pings_submitted.value) + FROM + UNNEST( metrics.labeled_counter.glean_validation_pings_submitted + ) AS `glean_validation_pings_submitted` + ) AS `glean_validation_pings_submitted` ) AS `labeled_counter`, - metrics.string, - metrics.timespan, - metrics.datetime + STRUCT( + CAST(NULL AS STRING) AS `glean_baseline_locale`, + CAST(NULL AS STRING) AS `search_default_engine_code`, + CAST(NULL AS STRING) AS `search_default_engine_name`, + CAST(NULL AS STRING) AS `metrics_distribution_id`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string`, + STRUCT( + STRUCT( + CAST(NULL AS STRING) AS `time_unit`, + CAST(NULL AS INTEGER) AS `value` + ) AS `glean_baseline_duration` + ) AS `timespan`, + STRUCT( + CAST(NULL AS TIMESTAMP) AS `glean_validation_first_run_hour`, + CAST(NULL AS STRING) AS `raw_glean_validation_first_run_hour` + ) AS `datetime` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -187,7 +487,90 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + CAST(NULL AS INTEGER) AS `events_total_uri_count`, + CAST(NULL AS INTEGER) AS `glean_validation_metrics_ping_count`, + CAST(NULL AS INTEGER) AS `events_normal_and_private_uri_count` + ) AS `counter`, + STRUCT( + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_overflow.value) + FROM + UNNEST( + metrics.labeled_counter.glean_error_invalid_overflow + ) AS `glean_error_invalid_overflow` + ) AS `glean_error_invalid_overflow`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_state.key, glean_error_invalid_state.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_state) AS `glean_error_invalid_state` + ) AS `glean_error_invalid_state`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_value.key, glean_error_invalid_value.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_value) AS `glean_error_invalid_value` + ) AS `glean_error_invalid_value`, + ARRAY( + SELECT + STRUCT(metrics_search_count.key, metrics_search_count.value) + FROM + UNNEST(metrics.labeled_counter.metrics_search_count) AS `metrics_search_count` + ) AS `metrics_search_count`, + ARRAY( + SELECT + STRUCT(browser_search_ad_clicks.key, browser_search_ad_clicks.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_ad_clicks) AS `browser_search_ad_clicks` + ) AS `browser_search_ad_clicks`, + ARRAY( + SELECT + STRUCT(browser_search_in_content.key, browser_search_in_content.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_in_content) AS `browser_search_in_content` + ) AS `browser_search_in_content`, + ARRAY( + SELECT + STRUCT(browser_search_with_ads.key, browser_search_with_ads.value) + FROM + UNNEST(metrics.labeled_counter.browser_search_with_ads) AS `browser_search_with_ads` + ) AS `browser_search_with_ads`, + ARRAY( + SELECT + STRUCT(glean_validation_pings_submitted.key, glean_validation_pings_submitted.value) + FROM + UNNEST( + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `glean_validation_pings_submitted` + ) AS `glean_validation_pings_submitted` + ) AS `labeled_counter`, + STRUCT( + CAST(NULL AS STRING) AS `glean_baseline_locale`, + CAST(NULL AS STRING) AS `search_default_engine_code`, + CAST(NULL AS STRING) AS `search_default_engine_name`, + CAST(NULL AS STRING) AS `metrics_distribution_id`, + CAST(NULL AS STRING) AS `glean_client_annotation_experimentation_id` + ) AS `string`, + STRUCT( + STRUCT( + CAST(NULL AS STRING) AS `time_unit`, + CAST(NULL AS INTEGER) AS `value` + ) AS `glean_baseline_duration` + ) AS `timespan`, + STRUCT( + CAST(NULL AS TIMESTAMP) AS `glean_validation_first_run_hour`, + CAST(NULL AS STRING) AS `raw_glean_validation_first_run_hour` + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql 2024-06-18 16:28:40.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql 2024-06-18 16:34:19.000000000 +0000 @@ -13,7 +13,120 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + CAST(NULL AS INTEGER) AS `bookmarks_sync_outgoing_batches`, + CAST(NULL AS INTEGER) AS `bookmarks_sync_v2_outgoing_batches` + ) AS `counter`, + STRUCT( + CAST(NULL AS TIMESTAMP) AS `bookmarks_sync_finished_at`, + CAST(NULL AS STRING) AS `raw_bookmarks_sync_finished_at`, + CAST(NULL AS TIMESTAMP) AS `bookmarks_sync_started_at`, + CAST(NULL AS STRING) AS `raw_bookmarks_sync_started_at`, + CAST(NULL AS TIMESTAMP) AS `bookmarks_sync_v2_finished_at`, + CAST(NULL AS STRING) AS `raw_bookmarks_sync_v2_finished_at`, + CAST(NULL AS TIMESTAMP) AS `bookmarks_sync_v2_started_at`, + CAST(NULL AS STRING) AS `raw_bookmarks_sync_v2_started_at` + ) AS `datetime`, + STRUCT( + ARRAY( + SELECT + STRUCT(bookmarks_sync_incoming.key, bookmarks_sync_incoming.value) + FROM + UNNEST(metrics.labeled_counter.bookmarks_sync_incoming) AS `bookmarks_sync_incoming` + ) AS `bookmarks_sync_incoming`, + ARRAY( + SELECT + STRUCT(bookmarks_sync_outgoing.key, bookmarks_sync_outgoing.value) + FROM + UNNEST(metrics.labeled_counter.bookmarks_sync_outgoing) AS `bookmarks_sync_outgoing` + ) AS `bookmarks_sync_outgoing`, + ARRAY( + SELECT + STRUCT(bookmarks_sync_remote_tree_problems.key, bookmarks_sync_remote_tree_problems.value) + FROM + UNNEST( + metrics.labeled_counter.bookmarks_sync_remote_tree_problems + ) AS `bookmarks_sync_remote_tree_problems` + ) AS `bookmarks_sync_remote_tree_problems`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_label.key, glean_error_invalid_label.value) + FROM + UNNEST(metrics.labeled_counter.glean_error_invalid_label) AS `glean_error_invalid_label` + ) AS `glean_error_invalid_label`, + ARRAY( + SELECT + STRUCT(glean_error_invalid_overflow.key, glean_error_invalid_over ```

⚠️ Only part of the diff is displayed.

Link to full diff

dataops-ci-bot commented 2 weeks ago

Integration report for "Always fully specify metrics fields to select in Glean union views."

sql.diff

Click to expand! ```diff diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-18 17:23:10.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-18 17:25:29.000000000 +0000 @@ -50,7 +50,7 @@ client_info.app_display_version AS version, ping_info FROM - `moz-fx-data-shared-prod.bedrock_live.interaction_v1` + `moz-fx-data-shared-prod.bedrock_live.non_interaction_v1` UNION ALL SELECT submission_timestamp, @@ -60,7 +60,7 @@ client_info.app_display_version AS version, ping_info FROM - `moz-fx-data-shared-prod.bedrock_live.non_interaction_v1` + `moz-fx-data-shared-prod.bedrock_live.interaction_v1` UNION ALL SELECT submission_timestamp, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql 2024-06-18 17:23:10.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql 2024-06-18 17:26:00.000000000 +0000 @@ -10,7 +10,65 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.errors_marian, + metrics.counter.errors_memory, + metrics.counter.errors_model_download, + metrics.counter.errors_translation, + metrics.counter.service_lang_mismatch, + metrics.counter.service_not_suppported, + metrics.counter.test_counter_test, + metrics.counter.service_not_supported + ) AS `counter`, + STRUCT( + metrics.string.metadata_from_lang, + metrics.string.metadata_to_lang, + metrics.string.performance_model_download_time, + metrics.string.performance_model_load_time, + metrics.string.performance_translation_quality, + metrics.string.performance_translation_time, + metrics.string.performance_words_per_second, + metrics.string.test_string_test, + metrics.string.metadata_firefox_client_id, + metrics.string.metadata_bergamot_translator_version, + metrics.string.metadata_cpu_extensions, + metrics.string.metadata_cpu_family, + metrics.string.metadata_cpu_model, + metrics.string.metadata_cpu_stepping, + metrics.string.metadata_cpu_vendor, + metrics.string.metadata_extension_build_id, + metrics.string.metadata_extension_version, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.metadata_cpu_cores_count, + metrics.quantity.metadata_cpu_count, + metrics.quantity.metadata_cpu_l2_cache, + metrics.quantity.metadata_cpu_l3_cache, + metrics.quantity.metadata_cpu_speed, + metrics.quantity.metadata_system_memory, + metrics.quantity.performance_full_page_translated_wps, + metrics.quantity.performance_translation_engine_wps, + metrics.quantity.performance_word_count, + metrics.quantity.performance_word_count_visible_in_viewport, + metrics.quantity.metadata_cpu_family, + metrics.quantity.metadata_cpu_model, + metrics.quantity.metadata_cpu_stepping + ) AS `quantity`, + STRUCT( + metrics.timespan.performance_full_page_translated_time, + metrics.timespan.performance_model_download_time_num, + metrics.timespan.performance_model_load_time_num, + metrics.timespan.performance_translation_engine_time + ) AS `timespan` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql 2024-06-18 17:23:10.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql 2024-06-18 17:25:58.000000000 +0000 @@ -10,7 +10,15 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql 2024-06-18 17:23:10.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql 2024-06-18 17:25:59.000000000 +0000 @@ -10,7 +10,16 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.uuid.glean_page_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml 2024-06-18 17:22:33.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml 2024-06-18 17:33:50.000000000 +0000 @@ -1,49 +1,49 @@ fields: -- mode: NULLABLE - name: submission_date +- name: submission_date type: DATE -- mode: NULLABLE - name: source + mode: NULLABLE +- name: source type: STRING -- mode: NULLABLE - name: event_type + mode: NULLABLE +- name: event_type type: STRING -- mode: NULLABLE - name: form_factor + mode: NULLABLE +- name: form_factor type: STRING -- mode: NULLABLE - name: country + mode: NULLABLE +- name: country type: STRING -- mode: NULLABLE - name: subdivision1 + mode: NULLABLE +- name: subdivision1 type: STRING -- mode: NULLABLE - name: advertiser + mode: NULLABLE +- name: advertiser type: STRING -- mode: NULLABLE - name: release_channel + mode: NULLABLE +- name: release_channel type: STRING -- mode: NULLABLE - name: position + mode: NULLABLE +- name: position type: INTEGER -- mode: NULLABLE - name: provider + mode: NULLABLE +- name: provider type: STRING -- mode: NULLABLE - name: match_type + mode: NULLABLE +- name: match_type type: STRING -- mode: NULLABLE - name: normalized_os + mode: NULLABLE +- name: normalized_os type: STRING -- mode: NULLABLE - name: suggest_data_sharing_enabled + mode: NULLABLE +- name: suggest_data_sharing_enabled type: BOOLEAN -- mode: NULLABLE - name: event_count + mode: NULLABLE +- name: event_count type: INTEGER -- mode: NULLABLE - name: user_count + mode: NULLABLE +- name: user_count type: INTEGER -- mode: NULLABLE - name: query_type + mode: NULLABLE +- name: query_type type: STRING + mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml 2024-06-18 17:22:33.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml 2024-06-18 17:33:50.000000000 +0000 @@ -1,40 +1,40 @@ fields: -- mode: NULLABLE - name: submission_date +- name: submission_date type: DATE -- mode: NULLABLE - name: form_factor + mode: NULLABLE +- name: form_factor type: STRING -- mode: NULLABLE - name: country + mode: NULLABLE +- name: country type: STRING -- mode: NULLABLE - name: advertiser + mode: NULLABLE +- name: advertiser type: STRING -- mode: NULLABLE - name: normalized_os + mode: NULLABLE +- name: normalized_os type: STRING -- mode: NULLABLE - name: release_channel + mode: NULLABLE +- name: release_channel type: STRING -- mode: NULLABLE - name: position + mode: NULLABLE +- name: position type: INTEGER -- mode: NULLABLE - name: provider + mode: NULLABLE +- name: provider type: STRING -- mode: NULLABLE - name: match_type + mode: NULLABLE +- name: match_type type: STRING -- mode: NULLABLE - name: suggest_data_sharing_enabled + mode: NULLABLE +- name: suggest_data_sharing_enabled type: BOOLEAN -- mode: NULLABLE - name: impression_count + mode: NULLABLE +- name: impression_count type: INTEGER -- mode: NULLABLE - name: click_count + mode: NULLABLE +- name: click_count type: INTEGER -- mode: NULLABLE - name: query_type + mode: NULLABLE +- name: query_type type: STRING + mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql 2024-06-18 17:23:10.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql 2024-06-18 17:26:21.000000000 +0000 @@ -13,7 +13,19 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +47,19 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -82,8 +106,11 @@ metrics.labeled_counter.glean_error_invalid_state, metrics.labeled_counter.glean_error_invalid_value ) AS `labeled_counter`, - metrics.string, - metrics.uuid + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -140,8 +167,11 @@ metrics.labeled_counter.glean_error_invalid_state, metrics.labeled_counter.glean_error_invalid_value ) AS `labeled_counter`, - metrics.string, - metrics.uuid + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -173,7 +203,19 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql 2024-06-18 17:23:10.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql 2024-06-18 17:28:30.000000000 +0000 @@ -13,7 +13,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +69,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -57,7 +125,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -79,7 +181,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -101,7 +237,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql 2024-06-18 17:23:10.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql 2024-06-18 17:27:11.000000000 +0000 @@ -13,7 +13,36 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.metrics_search_count, + metrics.labeled_counter.browser_search_ad_clicks, + metrics.labeled_counter.browser_search_in_content, + metrics.labeled_counter.browser_search_with_ads, + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `labeled_counter`, + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +64,36 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.metrics_search_count, + metrics.labeled_counter.browser_search_ad_clicks, + metrics.labeled_counter.browser_search_in_content, + metrics.labeled_counter.browser_search_with_ads, + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `labeled_counter`, + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -76,7 +134,11 @@ events, metadata, STRUCT( - metrics.counter, + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, STRUCT( metrics.labeled_counter.glean_error_invalid_label, metrics.labeled_counter.glean_error_invalid_overflow, @@ -88,9 +150,18 @@ metrics.labeled_counter.browser_search_with_ads, metrics.labeled_counter.glean_validation_pings_submitted ) AS `labeled_counter`, - metrics.string, - metrics.timespan, - metrics.datetime + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -141,7 +212,11 @@ events, metadata, STRUCT( - metrics.counter, + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, STRUCT( metrics.labeled_counter.glean_error_invalid_label, metrics.labeled_counter.glean_error_invalid_overflow, @@ -153,9 +228,18 @@ metrics.labeled_counter.browser_search_with_ads, metrics.labeled_counter.glean_validation_pings_submitted ) AS `labeled_counter`, - metrics.string, - metrics.timespan, - metrics.datetime + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -187,7 +271,36 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.metrics_search_count, + metrics.labeled_counter.browser_search_ad_clicks, + metrics.labeled_counter.browser_search_in_content, + metrics.labeled_counter.browser_search_with_ads, + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `labeled_counter`, + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql 2024-06-18 17:23:10.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql 2024-06-18 17:28:31.000000000 +0000 @@ -13,7 +13,44 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.bookmarks_sync_incoming, + metrics.labeled_counter.bookmarks_sync_outgoing, + metrics.labeled_counter.bookmarks_sync_remote_tree_problems, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.bookmarks_sync_v2_incoming, + metrics.labeled_counter.bookmarks_sync_v2_outgoing, + metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +72,44 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.bookmarks_sync_incoming, + metrics.labeled_counter.bookmarks_sync_outgoing, + metrics.labeled_counter.bookmarks_sync_remote_tree_problems, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.bookmarks_sync_v2_incoming, + metrics.labeled_counter.bookmarks_sync_v2_outgoing, + metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -76,8 +150,20 @@ events, metadata, STRUCT( - metrics.counter, - metrics.datetime, + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, STRUCT( metrics.labeled_counter.bookmarks_sync_incoming, metrics.labeled_counter.bookmarks_sync_outgoing, @@ -90,9 +176,16 @@ metrics.labeled_counter.bookmarks_sync_v2_outgoing, metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems ) AS `labeled_counter`, - metrics.labeled_string, - metrics.string, - metrics.uuid + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -143,8 +236,20 @@ events, metadata, STRUCT( - metrics.counter, - metrics.datetime, + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, STRUCT( metrics.labeled_counter.bookmarks_sync_incoming, metrics.labeled_counter.bookmarks_sync_outgoing, @@ -157,9 +262,16 @@ metrics.labeled_counter.bookmarks_sync_v2_outgoing, metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems ) AS `labeled_counter`, - metrics.labeled_string, - metrics.string, - metrics.uuid + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -191,7 +303,44 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.bookmarks_sync_incoming, + metrics.labeled_counter.bookmarks_sync_outgoing, + metrics.labeled_counter.bookmarks_sync_remote_tree_problems, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.bookmarks_sync_v2_incoming, + metrics.labeled_counter.bookmarks_sync_v2_outgoing, + metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql 2024-06-18 17:23:10.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql 2024-06-18 17:27:05.000000000 +0000 @@ -13,7 +13,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +97,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -57,7 +181,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -79,7 +265,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -101,7 +349,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/cookie_banner_report_site/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/cookie_banner_report_site/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/cookie_banner_report_site/view.sql 2024-06-18 17:23:10.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/cookie_banner_report_site/view.sql 2024-06-18 17:26:19.000000000 +0000 @@ -13,7 +13,17 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.url2.cookie_banners_report_site_domain) AS `url2`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.url.cookie_banners_report_site_domain) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +45,17 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.url2.cookie_banners_report_site_domain) AS `url2`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.url.cookie_banners_report_site_domain) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -57,7 +77,17 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.url2.cookie_banners_report_site_domain) AS `url2`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.url.cookie_banners_report_site_domain) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -79,7 +109,17 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.url2.cookie_banners_report_site_domain) AS `url2`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.url.cookie_banners_report_site_domain) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -101,7 +141,17 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.url2.cookie_banners_report_site_domain) AS `url2`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.url.cookie_banners_report_site_domain) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/view.sql 2024-06-18 17:23:10.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/view.sql 2024-06-18 17:28:54.000000000 +0000 @@ -13,7 +13,23 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT(metrics.boolean.crash_startup) AS `boolean`, + STRUCT(metrics.datetime.crash_time, metrics.datetime.raw_crash_time) AS `datetime`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.crash_process_type, + metrics.string.crash_cause, + metrics.string.crash_remote_type, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.crash_uptime) AS `timespan` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +51,23 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT(metrics.boolean.crash_startup) AS `boolean`, + STRUCT(metrics.datetime.crash_time, metrics.datetime.raw_crash_time) AS `datetime`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.crash_process_type, + metrics.string.crash_cause, + metrics.string.crash_r ```

⚠️ Only part of the diff is displayed.

Link to full diff

sean-rose commented 2 weeks ago

I was worried doing this might cause BigQuery to always scan all metrics columns since they're being restructured in the view query, but in a minimal test dry-running queries to count the number of rows with a particular boolean metric set to true BigQuery reported the same number of bytes scanned both with and without this change. So it appears BigQuery is successfully able to optimize through the restructuring logic and only scan the data that's needed (at least with simple STRUCT() calls like in this case).

sean-rose commented 2 weeks ago

One thing we'll need to watch out for is this can make the view SQL significantly longer. For example, with this change sql/moz-fx-data-shared-prod/fenix/metrics/view.sql would increase from ~99k characters to ~225k characters, which would be getting close to BigQuery's 256k character limit for view SQL (I'm going to ask Google whether that limit can be increased).

BenWu commented 2 weeks ago

You may have already figured this out but use_counters is even bigger than the metrics view (783k characters). whd pointed out that we should be able to get jenkins to trigger artifact deployment soon so this might no longer be an issue soon, although it would still be a bit of ETL quirkiness https://bugzilla.mozilla.org/show_bug.cgi?id=1883727#c3

sean-rose commented 2 weeks ago

You may have already figured this out but use_counters is even bigger than the metrics view (783k characters). whd pointed out that we should be able to get jenkins to trigger artifact deployment soon so this might no longer be an issue soon, although it would still be a bit of ETL quirkiness https://bugzilla.mozilla.org/show_bug.cgi?id=1883727#c3

Yeah, with this change fenix.use_counters ends up being 783k characters and focus_android.use_counters ends up being 469k characters. I missed those initially because I was only running the glean_usage generator locally without running the stable_views generator first.

I'm going to add a workaround for that, then ping you and @scholtzan for re-review, and y'all can weigh in on whether it's worth merging this, or if it would be better to just wait for the Jenkins-triggered artifact deployment.

dataops-ci-bot commented 2 weeks ago

Integration report for "Don't restructure metrics in Glean union views if the generated SQL exceeds the character limit."

sql.diff

Click to expand! ```diff diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_desktop_conv_evnt_categorization.py /tmp/workspace/generated-sql/dags/bqetl_desktop_conv_evnt_categorization.py --- /tmp/workspace/main-generated-sql/dags/bqetl_desktop_conv_evnt_categorization.py 2024-06-19 00:31:22.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_desktop_conv_evnt_categorization.py 2024-06-19 00:50:09.000000000 +0000 @@ -115,19 +115,6 @@ + ["submission_date:DATE:{{ds}}"], ) - with TaskGroup( - "google_ads_derived__conversion_event_categorization__v1_external", - ) as google_ads_derived__conversion_event_categorization__v1_external: - ExternalTaskMarker( - task_id="bqetl_google_analytics_derived_ga4__wait_for_google_ads_derived__conversion_event_categorization__v1", - external_dag_id="bqetl_google_analytics_derived_ga4", - external_task_id="wait_for_google_ads_derived__conversion_event_categorization__v1", - ) - - google_ads_derived__conversion_event_categorization__v1_external.set_upstream( - google_ads_derived__conversion_event_categorization__v1 - ) - checks__warn_google_ads_derived__conversion_event_categorization__v1.set_upstream( google_ads_derived__conversion_event_categorization__v1 ) diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_google_analytics_derived_ga4.py /tmp/workspace/generated-sql/dags/bqetl_google_analytics_derived_ga4.py --- /tmp/workspace/main-generated-sql/dags/bqetl_google_analytics_derived_ga4.py 2024-06-19 00:31:22.000000000 +0000 +++ /tmp/workspace/generated-sql/dags/bqetl_google_analytics_derived_ga4.py 2024-06-19 00:50:09.000000000 +0000 @@ -106,19 +106,6 @@ ) ) - wait_for_google_ads_derived__conversion_event_categorization__v1 = ( - ExternalTaskSensor( - task_id="wait_for_google_ads_derived__conversion_event_categorization__v1", - external_dag_id="bqetl_desktop_conv_evnt_categorization", - external_task_id="google_ads_derived__conversion_event_categorization__v1", - check_existence=True, - mode="reschedule", - allowed_states=ALLOWED_STATES, - failed_states=FAILED_STATES, - pool="DATA_ENG_EXTERNALTASKSENSOR", - ) - ) - wait_for_telemetry_derived__clients_daily__v6 = ExternalTaskSensor( task_id="wait_for_telemetry_derived__clients_daily__v6", external_dag_id="bqetl_main_summary", @@ -372,7 +359,7 @@ mozilla_org_derived__gclid_conversions__v2 = bigquery_etl_query( task_id="mozilla_org_derived__gclid_conversions__v2", - destination_table='gclid_conversions_v2${{ macros.ds_format(macros.ds_add(ds, -14), "%Y-%m-%d", "%Y%m%d") }}', + destination_table="gclid_conversions_v2", dataset_id="mozilla_org_derived", project_id="moz-fx-data-shared-prod", owner="mhirose@mozilla.com", @@ -381,10 +368,9 @@ "mhirose@mozilla.com", "telemetry-alerts@mozilla.com", ], - date_partition_parameter=None, + date_partition_parameter="activity_date", depends_on_past=False, - parameters=["activity_date:DATE:{{macros.ds_add(ds, -14)}}"] - + ["conversion_window:INT64:30"], + parameters=["conversion_window:INT64:30"], ) mozilla_vpn_derived__site_metrics_summary__v2 = bigquery_etl_query( @@ -463,10 +449,6 @@ ) mozilla_org_derived__gclid_conversions__v2.set_upstream( - wait_for_google_ads_derived__conversion_event_categorization__v1 - ) - - mozilla_org_derived__gclid_conversions__v2.set_upstream( mozilla_org_derived__ga_sessions__v2 ) Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_defaultagent_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/glean_dictionary_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/gleanjs_docs_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitor_cirrus_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozilla_lockbox_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozilla_mach_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozillavpn_backend_cirrus_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozphab_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_connect_firefox_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefoxreality_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_lockbox_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_mozregression_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_tv_firefox_derived: event_monitoring_live_v1 Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/treeherder_derived: event_monitoring_live_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 00:28:13.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 00:30:06.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-06-18" + DATE(submission_timestamp) >= "2024-06-19" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/metadata.yaml 2024-06-19 00:28:13.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/metadata.yaml 2024-06-19 00:46:40.000000000 +0000 @@ -1,7 +1,7 @@ friendly_name: Event Monitoring Live description: |- Materialized view of experimentation related events - coming from accounts_backend. + coming from . owners: - ascholtz@mozilla.com - akomar@mozilla.com diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 00:28:13.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql 1970-01-01 00:00:00.000000000 +0000 @@ -1,76 +0,0 @@ -CREATE MATERIALIZED VIEW -IF - NOT EXISTS `moz-fx-data-shared-prod.accounts_cirrus_derived.event_monitoring_live_v1` - OPTIONS - (enable_refresh = TRUE, refresh_interval_minutes = 60) - AS - SELECT - DATE(submission_timestamp) AS submission_date, - TIMESTAMP_ADD( - TIMESTAMP_TRUNC(submission_timestamp, HOUR), - -- Aggregates event counts over 60-minute intervals - INTERVAL(DIV(EXTRACT(MINUTE FROM submission_timestamp), 60) * 60) MINUTE - ) AS window_start, - TIMESTAMP_ADD( - TIMESTAMP_TRUNC(submission_timestamp, HOUR), - INTERVAL((DIV(EXTRACT(MINUTE FROM submission_timestamp), 60) + 1) * 60) MINUTE - ) AS window_end, - event.category AS event_category, - event.name AS event_name, - event_extra.key AS event_extra_key, - normalized_country_code AS country, - 'Mozilla Accounts (Cirrus)' AS normalized_app_name, - channel, - version, - -- Access experiment information. - -- Additional iteration is necessary to aggregate total event count across experiments - -- which is denoted with "*". - -- Some clients are enrolled in multiple experiments, so simply summing up the totals - -- across all the experiments would double count events. - CASE - experiment_index - WHEN ARRAY_LENGTH(ping_info.experiments) - THEN "*" - ELSE ping_info.experiments[SAFE_OFFSET(experiment_index)].key - END AS experiment, - CASE - experiment_index - WHEN ARRAY_LENGTH(ping_info.experiments) - THEN "*" - ELSE ping_info.experiments[SAFE_OFFSET(experiment_index)].value.branch - END AS experiment_branch, - COUNT(*) AS total_events - FROM - ( - SELECT - submission_timestamp, - events, - normalized_country_code, - client_info.app_channel AS channel, - client_info.app_display_version AS version, - ping_info - FROM - `moz-fx-data-shared-prod.accounts_cirrus_live.events_v1` - ) - CROSS JOIN - UNNEST(events) AS event, - -- Iterator for accessing experiments. - -- Add one more for aggregating events across all experiments - UNNEST(GENERATE_ARRAY(0, ARRAY_LENGTH(ping_info.experiments))) AS experiment_index - LEFT JOIN - UNNEST(event.extra) AS event_extra - WHERE - DATE(submission_timestamp) >= "2024-06-18" - GROUP BY - submission_date, - window_start, - window_end, - event_category, - event_name, - event_extra_key, - country, - normalized_app_name, - channel, - version, - experiment, - experiment_branch diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/metadata.yaml 2024-06-19 00:28:13.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -friendly_name: Event Monitoring Live -description: |- - Materialized view of experimentation related events - coming from accounts_cirrus. -owners: -- ascholtz@mozilla.com -- akomar@mozilla.com -labels: - materialized_view: true - owner1: ascholtz - owner2: akomar -bigquery: null -workgroup_access: -- role: roles/bigquery.dataViewer - members: - - workgroup:mozilla-confidential -references: - materialized_view.sql: - - moz-fx-data-shared-prod.accounts_cirrus_live.events_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 00:28:14.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 00:30:06.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-06-18" + DATE(submission_timestamp) >= "2024-06-19" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/metadata.yaml 2024-06-19 00:28:14.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/metadata.yaml 2024-06-19 00:46:45.000000000 +0000 @@ -1,7 +1,7 @@ friendly_name: Event Monitoring Live description: |- Materialized view of experimentation related events - coming from accounts_frontend. + coming from . owners: - ascholtz@mozilla.com - akomar@mozilla.com diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 00:28:14.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 00:30:06.000000000 +0000 @@ -50,7 +50,7 @@ client_info.app_display_version AS version, ping_info FROM - `moz-fx-data-shared-prod.bedrock_live.events_v1` + `moz-fx-data-shared-prod.bedrock_live.non_interaction_v1` UNION ALL SELECT submission_timestamp, @@ -70,7 +70,7 @@ client_info.app_display_version AS version, ping_info FROM - `moz-fx-data-shared-prod.bedrock_live.non_interaction_v1` + `moz-fx-data-shared-prod.bedrock_live.events_v1` ) CROSS JOIN UNNEST(events) AS event, @@ -80,7 +80,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-06-18" + DATE(submission_timestamp) >= "2024-06-19" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/metadata.yaml 2024-06-19 00:28:14.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/metadata.yaml 2024-06-19 00:46:45.000000000 +0000 @@ -1,7 +1,7 @@ friendly_name: Event Monitoring Live description: |- Materialized view of experimentation related events - coming from bedrock. + coming from . owners: - ascholtz@mozilla.com - akomar@mozilla.com diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql 2024-06-19 00:28:14.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql 2024-06-19 00:30:37.000000000 +0000 @@ -10,7 +10,65 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.errors_marian, + metrics.counter.errors_memory, + metrics.counter.errors_model_download, + metrics.counter.errors_translation, + metrics.counter.service_lang_mismatch, + metrics.counter.service_not_suppported, + metrics.counter.test_counter_test, + metrics.counter.service_not_supported + ) AS `counter`, + STRUCT( + metrics.string.metadata_from_lang, + metrics.string.metadata_to_lang, + metrics.string.performance_model_download_time, + metrics.string.performance_model_load_time, + metrics.string.performance_translation_quality, + metrics.string.performance_translation_time, + metrics.string.performance_words_per_second, + metrics.string.test_string_test, + metrics.string.metadata_firefox_client_id, + metrics.string.metadata_bergamot_translator_version, + metrics.string.metadata_cpu_extensions, + metrics.string.metadata_cpu_family, + metrics.string.metadata_cpu_model, + metrics.string.metadata_cpu_stepping, + metrics.string.metadata_cpu_vendor, + metrics.string.metadata_extension_build_id, + metrics.string.metadata_extension_version, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.metadata_cpu_cores_count, + metrics.quantity.metadata_cpu_count, + metrics.quantity.metadata_cpu_l2_cache, + metrics.quantity.metadata_cpu_l3_cache, + metrics.quantity.metadata_cpu_speed, + metrics.quantity.metadata_system_memory, + metrics.quantity.performance_full_page_translated_wps, + metrics.quantity.performance_translation_engine_wps, + metrics.quantity.performance_word_count, + metrics.quantity.performance_word_count_visible_in_viewport, + metrics.quantity.metadata_cpu_family, + metrics.quantity.metadata_cpu_model, + metrics.quantity.metadata_cpu_stepping + ) AS `quantity`, + STRUCT( + metrics.timespan.performance_full_page_translated_time, + metrics.timespan.performance_model_download_time_num, + metrics.timespan.performance_model_load_time_num, + metrics.timespan.performance_translation_engine_time + ) AS `timespan` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql 2024-06-19 00:28:14.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql 2024-06-19 00:30:36.000000000 +0000 @@ -10,7 +10,15 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql 2024-06-19 00:28:14.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql 2024-06-19 00:30:37.000000000 +0000 @@ -10,7 +10,16 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.uuid.glean_page_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 00:28:13.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql 1970-01-01 00:00:00.000000000 +0000 @@ -1,76 +0,0 @@ -CREATE MATERIALIZED VIEW -IF - NOT EXISTS `moz-fx-data-shared-prod.burnham_derived.event_monitoring_live_v1` - OPTIONS - (enable_refresh = TRUE, refresh_interval_minutes = 60) - AS - SELECT - DATE(submission_timestamp) AS submission_date, - TIMESTAMP_ADD( - TIMESTAMP_TRUNC(submission_timestamp, HOUR), - -- Aggregates event counts over 60-minute intervals - INTERVAL(DIV(EXTRACT(MINUTE FROM submission_timestamp), 60) * 60) MINUTE - ) AS window_start, - TIMESTAMP_ADD( - TIMESTAMP_TRUNC(submission_timestamp, HOUR), - INTERVAL((DIV(EXTRACT(MINUTE FROM submission_timestamp), 60) + 1) * 60) MINUTE - ) AS window_end, - event.category AS event_category, - event.name AS event_name, - event_extra.key AS event_extra_key, - normalized_country_code AS country, - 'Burnham' AS normalized_app_name, - channel, - version, - -- Access experiment information. - -- Additional iteration is necessary to aggregate total event count across experiments - -- which is denoted with "*". - -- Some clients are enrolled in multiple experiments, so simply summing up the totals - -- across all the experiments would double count events. - CASE - experiment_index - WHEN ARRAY_LENGTH(ping_info.experiments) - THEN "*" - ELSE ping_info.experiments[SAFE_OFFSET(experiment_index)].key - END AS experiment, - CASE - experiment_index - WHEN ARRAY_LENGTH(ping_info.experiments) - THEN "*" - ELSE ping_info.experiments[SAFE_OFFSET(experiment_index)].value.branch - END AS experiment_branch, - COUNT(*) AS total_events - FROM - ( - SELECT - submission_timestamp, - events, - normalized_country_code, - client_info.app_channel AS channel, - client_info.app_display_version AS version, - ping_info - FROM - `moz-fx-data-shared-prod.burnham_live.events_v1` - ) - CROSS JOIN - UNNEST(events) AS event, - -- Iterator for accessing experiments. - -- Add one more for aggregating events across all experiments - UNNEST(GENERATE_ARRAY(0, ARRAY_LENGTH(ping_info.experiments))) AS experiment_index - LEFT JOIN - UNNEST(event.extra) AS event_extra - WHERE - DATE(submission_timestamp) >= "2024-06-18" - GROUP BY - submission_date, - window_start, - window_end, - event_category, - event_name, - event_extra_key, - country, - normalized_app_name, - channel, - version, - experiment, - experiment_branch diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/metadata.yaml 2024-06-19 00:28:13.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/metadata.yaml 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -friendly_name: Event Monitoring Live -description: |- - Materialized view of experimentation related events - coming from burnham. -owners: -- ascholtz@mozilla.com -- akomar@mozilla.com -labels: - materialized_view: true - owner1: ascholtz - owner2: akomar -bigquery: null -workgroup_access: -- role: roles/bigquery.dataViewer - members: - - workgroup:mozilla-confidential -references: - materialized_view.sql: - - moz-fx-data-shared-prod.burnham_live.events_v1 diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml 2024-06-19 00:27:38.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml 2024-06-19 00:35:56.000000000 +0000 @@ -1,49 +1,49 @@ fields: -- mode: NULLABLE - name: submission_date +- name: submission_date type: DATE -- mode: NULLABLE - name: source + mode: NULLABLE +- name: source type: STRING -- mode: NULLABLE - name: event_type + mode: NULLABLE +- name: event_type type: STRING -- mode: NULLABLE - name: form_factor + mode: NULLABLE +- name: form_factor type: STRING -- mode: NULLABLE - name: country + mode: NULLABLE +- name: country type: STRING -- mode: NULLABLE - name: subdivision1 + mode: NULLABLE +- name: subdivision1 type: STRING -- mode: NULLABLE - name: advertiser + mode: NULLABLE +- name: advertiser type: STRING -- mode: NULLABLE - name: release_channel + mode: NULLABLE +- name: release_channel type: STRING -- mode: NULLABLE - name: position + mode: NULLABLE +- name: position type: INTEGER -- mode: NULLABLE - name: provider + mode: NULLABLE +- name: provider type: STRING -- mode: NULLABLE - name: match_type + mode: NULLABLE +- name: match_type type: STRING -- mode: NULLABLE - name: normalized_os + mode: NULLABLE +- name: normalized_os type: STRING -- mode: NULLABLE - name: suggest_data_sharing_enabled + mode: NULLABLE +- name: suggest_data_sharing_enabled type: BOOLEAN -- mode: NULLABLE - name: event_count + mode: NULLABLE +- name: event_count type: INTEGER -- mode: NULLABLE - name: user_count + mode: NULLABLE +- name: user_count type: INTEGER -- mode: NULLABLE - name: query_type + mode: NULLABLE +- name: query_type type: STRING + mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml 2024-06-19 00:27:38.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml 2024-06-19 00:35:55.000000000 +0000 @@ -1,40 +1,40 @@ fields: -- mode: NULLABLE - name: submission_date +- name: submission_date type: DATE -- mode: NULLABLE - name: form_factor + mode: NULLABLE +- name: form_factor type: STRING -- mode: NULLABLE - name: country + mode: NULLABLE +- name: country type: STRING -- mode: NULLABLE - name: advertiser + mode: NULLABLE +- name: advertiser type: STRING -- mode: NULLABLE - name: normalized_os + mode: NULLABLE +- name: normalized_os type: STRING -- mode: NULLABLE - name: release_channel + mode: NULLABLE +- name: release_channel type: STRING -- mode: NULLABLE - name: position + mode: NULLABLE +- name: position type: INTEGER -- mode: NULLABLE - name: provider + mode: NULLABLE +- name: provider type: STRING -- mode: NULLABLE - name: match_type + mode: NULLABLE +- name: match_type type: STRING -- mode: NULLABLE - name: suggest_data_sharing_enabled + mode: NULLABLE +- name: suggest_data_sharing_enabled type: BOOLEAN -- mode: NULLABLE - name: impression_count + mode: NULLABLE +- name: impression_count type: INTEGER -- mode: NULLABLE - name: click_count + mode: NULLABLE +- name: click_count type: INTEGER -- mode: NULLABLE - name: query_type + mode: NULLABLE +- name: query_type type: STRING + mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 00:28:14.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 00:30:07.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-06-18" + DATE(submission_timestamp) >= "2024-06-19" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/metadata.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/metadata.yaml 2024-06-19 00:28:14.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/metadata.yaml 2024-06-19 00:46:45.000000000 +0000 @@ -1,7 +1,7 @@ friendly_name: Event Monitoring Live description: |- Materialized view of experimentation related events - coming from debug_ping_view. + coming from . owners: - ascholtz@mozilla.com - akomar@mozilla.com diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql 2024-06-19 00:28:13.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql 2024-06-19 00:31:04.000000000 +0000 @@ -13,7 +13,19 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +47,19 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -82,8 +106,11 @@ metrics.labeled_counter.glean_error_invalid_state, metrics.labeled_counter.glean_error_invalid_value ) AS `labeled_counter`, - metrics.string, - metrics.uuid + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -140,8 +167,11 @@ metrics.labeled_counter.glean_error_invalid_state, metrics.labeled_counter.glean_error_invalid_value ) AS `labeled_counter`, - metrics.string, - metrics.uuid + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -173,7 +203,19 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql 2024-06-19 00:28:13.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql 2024-06-19 00:33:27.000000000 +0000 @@ -13,7 +13,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +69,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -57,7 +125,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -79,7 +181,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -101,7 +237,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql 2024-06-19 00:28:13.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql 2024-06-19 00:31:59.000000000 +0000 @@ -13,7 +13,36 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.metrics_search_count, + metrics.labeled_counter.browser_search_ad_clicks, + metrics.labeled_counter.browser_search_in_content, + metrics.labeled_counter.browser_search_with_ads, + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `labeled_counter`, + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +64,36 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.metrics_search_count, + metrics.labeled_counter.browser_search_ad_clicks, + metrics.labeled_counter.browser_search_in_content, + metrics.labeled_counter.browser_search_with_ads, + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `labeled_counter`, + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -76,7 +134,11 @@ events, metadata, STRUCT( - metrics.counter, + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, STRUCT( metrics.labeled_counter.glean_error_invalid_label, metrics.labeled_counter.glean_error_invalid_overflow, @@ -88,9 +150,18 @@ metrics.labeled_counter.browser_search_with_ads, metrics.labeled_counter.glean_validation_pings_submitted ) AS `labeled_counter`, - metrics.string, - metrics.timespan, - metrics.datetime + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -141,7 +212,11 @@ events, metadata, STRUCT( - metrics.counter, + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, STRUCT( metrics.labeled_counter.glean_error_invalid_label, metrics.labeled_counter.glean_error_invalid_overflow, @@ -153,9 +228,18 @@ metrics.labeled_counter.browser_search_with_ads, metrics.labeled_counter.glean_validation_pings_submitted ) AS `labeled_counter`, - metrics.string, - metrics.timespan, - metrics.datetime + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -187,7 +271,36 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.metrics_search_count, + metrics.labeled_counter.browser_search_ad_clicks, + metrics.labeled_counter.browser_search_in_content, + metrics.labeled_counter.browser_search_with_ads, + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `labeled_counter`, + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql 2024-06-19 00:28:13.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql 2024-06-19 00:33:29.000000000 +0000 @@ -13,7 +13,44 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.bookmarks_sync_incoming, + metrics.labeled_counter.bookmarks_sync_outgoing, + metrics.labeled_counter.bookmarks_sync_remote_tree_problems, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.bookmarks_sync_v2_incoming, + metrics.labeled_counter.bookmarks_sync_v2_outgoing, + metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +72,44 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.bookmarks_sync_incoming, + metrics.labeled_counter.bookmarks_sync_outgoing, + metrics.labeled_counter.bookmarks_sync_remote_tree_problems, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.bookmarks_sync_v2_incoming, + metrics.labeled_counter.bookmarks_sync_v2_outgoing, + metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -76,8 +150,20 @@ events, metadata, STRUCT( - metrics.counter, - metrics.datetime, + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, STRUCT( metrics.labeled_counter.bookmarks_sync_incoming, metrics.labeled_counter.bookmarks_sync_outgoing, @@ -90,9 +176,16 @@ metrics.labeled_counter.bookmarks_sync_v2_outgoing, metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems ) AS `labeled_counter`, - metrics.labeled_string, - metrics.string, - metrics.uuid + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -143,8 +236,20 @@ events, metadata, STRUCT( - metrics.counter, - metrics.datetime, + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, STRUCT( metrics.labeled_counter.bookmarks_sync_incoming, metrics.labeled_counter.bookmarks_sync_outgoing, @@ -157,9 +262,16 @@ metrics.labeled_counter.bookmarks_sync_v2_outgoing, metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems ) AS `labeled_counter`, - metrics.labeled_string, - metrics.string, - metrics.uuid + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -191,7 +303,44 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.bookmarks_sync_incoming, + metrics.labeled_counter.bookmarks_sync_outgoing, + metrics.labeled_counter.bookmarks_sync_remote_tree_problems, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.bookmarks_sync_v2_incoming, + metrics.labeled_counter.bookmarks_sync_v2_outgoing, + metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql 2024-06-19 00:28:13.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql 2024-06-19 00:31:52.000000000 +0000 @@ -13,7 +13,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +97,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitra ```

⚠️ Only part of the diff is displayed.

Link to full diff

dataops-ci-bot commented 2 weeks ago

Integration report for "Merge branch 'main' into fix/glean-metrics-union"

sql.diff

Click to expand! ```diff diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 02:08:31.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 02:10:31.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-06-18" + DATE(submission_timestamp) >= "2024-06-19" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 02:08:31.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 02:11:12.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-06-18" + DATE(submission_timestamp) >= "2024-06-19" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 02:08:31.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 02:11:12.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-06-18" + DATE(submission_timestamp) >= "2024-06-19" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 02:08:31.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 02:11:12.000000000 +0000 @@ -80,7 +80,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-06-18" + DATE(submission_timestamp) >= "2024-06-19" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql 2024-06-19 02:08:32.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql 2024-06-19 02:11:27.000000000 +0000 @@ -10,7 +10,65 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.errors_marian, + metrics.counter.errors_memory, + metrics.counter.errors_model_download, + metrics.counter.errors_translation, + metrics.counter.service_lang_mismatch, + metrics.counter.service_not_suppported, + metrics.counter.test_counter_test, + metrics.counter.service_not_supported + ) AS `counter`, + STRUCT( + metrics.string.metadata_from_lang, + metrics.string.metadata_to_lang, + metrics.string.performance_model_download_time, + metrics.string.performance_model_load_time, + metrics.string.performance_translation_quality, + metrics.string.performance_translation_time, + metrics.string.performance_words_per_second, + metrics.string.test_string_test, + metrics.string.metadata_firefox_client_id, + metrics.string.metadata_bergamot_translator_version, + metrics.string.metadata_cpu_extensions, + metrics.string.metadata_cpu_family, + metrics.string.metadata_cpu_model, + metrics.string.metadata_cpu_stepping, + metrics.string.metadata_cpu_vendor, + metrics.string.metadata_extension_build_id, + metrics.string.metadata_extension_version, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.metadata_cpu_cores_count, + metrics.quantity.metadata_cpu_count, + metrics.quantity.metadata_cpu_l2_cache, + metrics.quantity.metadata_cpu_l3_cache, + metrics.quantity.metadata_cpu_speed, + metrics.quantity.metadata_system_memory, + metrics.quantity.performance_full_page_translated_wps, + metrics.quantity.performance_translation_engine_wps, + metrics.quantity.performance_word_count, + metrics.quantity.performance_word_count_visible_in_viewport, + metrics.quantity.metadata_cpu_family, + metrics.quantity.metadata_cpu_model, + metrics.quantity.metadata_cpu_stepping + ) AS `quantity`, + STRUCT( + metrics.timespan.performance_full_page_translated_time, + metrics.timespan.performance_model_download_time_num, + metrics.timespan.performance_model_load_time_num, + metrics.timespan.performance_translation_engine_time + ) AS `timespan` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql 2024-06-19 02:08:32.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql 2024-06-19 02:11:28.000000000 +0000 @@ -10,7 +10,15 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql 2024-06-19 02:08:32.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql 2024-06-19 02:11:28.000000000 +0000 @@ -10,7 +10,16 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.uuid.glean_page_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 02:08:31.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 02:11:12.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-06-18" + DATE(submission_timestamp) >= "2024-06-19" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml 2024-06-19 02:07:53.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml 2024-06-19 02:19:50.000000000 +0000 @@ -1,49 +1,49 @@ fields: -- mode: NULLABLE - name: submission_date +- name: submission_date type: DATE -- mode: NULLABLE - name: source + mode: NULLABLE +- name: source type: STRING -- mode: NULLABLE - name: event_type + mode: NULLABLE +- name: event_type type: STRING -- mode: NULLABLE - name: form_factor + mode: NULLABLE +- name: form_factor type: STRING -- mode: NULLABLE - name: country + mode: NULLABLE +- name: country type: STRING -- mode: NULLABLE - name: subdivision1 + mode: NULLABLE +- name: subdivision1 type: STRING -- mode: NULLABLE - name: advertiser + mode: NULLABLE +- name: advertiser type: STRING -- mode: NULLABLE - name: release_channel + mode: NULLABLE +- name: release_channel type: STRING -- mode: NULLABLE - name: position + mode: NULLABLE +- name: position type: INTEGER -- mode: NULLABLE - name: provider + mode: NULLABLE +- name: provider type: STRING -- mode: NULLABLE - name: match_type + mode: NULLABLE +- name: match_type type: STRING -- mode: NULLABLE - name: normalized_os + mode: NULLABLE +- name: normalized_os type: STRING -- mode: NULLABLE - name: suggest_data_sharing_enabled + mode: NULLABLE +- name: suggest_data_sharing_enabled type: BOOLEAN -- mode: NULLABLE - name: event_count + mode: NULLABLE +- name: event_count type: INTEGER -- mode: NULLABLE - name: user_count + mode: NULLABLE +- name: user_count type: INTEGER -- mode: NULLABLE - name: query_type + mode: NULLABLE +- name: query_type type: STRING + mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml 2024-06-19 02:07:53.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml 2024-06-19 02:19:50.000000000 +0000 @@ -1,40 +1,40 @@ fields: -- mode: NULLABLE - name: submission_date +- name: submission_date type: DATE -- mode: NULLABLE - name: form_factor + mode: NULLABLE +- name: form_factor type: STRING -- mode: NULLABLE - name: country + mode: NULLABLE +- name: country type: STRING -- mode: NULLABLE - name: advertiser + mode: NULLABLE +- name: advertiser type: STRING -- mode: NULLABLE - name: normalized_os + mode: NULLABLE +- name: normalized_os type: STRING -- mode: NULLABLE - name: release_channel + mode: NULLABLE +- name: release_channel type: STRING -- mode: NULLABLE - name: position + mode: NULLABLE +- name: position type: INTEGER -- mode: NULLABLE - name: provider + mode: NULLABLE +- name: provider type: STRING -- mode: NULLABLE - name: match_type + mode: NULLABLE +- name: match_type type: STRING -- mode: NULLABLE - name: suggest_data_sharing_enabled + mode: NULLABLE +- name: suggest_data_sharing_enabled type: BOOLEAN -- mode: NULLABLE - name: impression_count + mode: NULLABLE +- name: impression_count type: INTEGER -- mode: NULLABLE - name: click_count + mode: NULLABLE +- name: click_count type: INTEGER -- mode: NULLABLE - name: query_type + mode: NULLABLE +- name: query_type type: STRING + mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 02:08:31.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql 2024-06-19 02:11:12.000000000 +0000 @@ -60,7 +60,7 @@ LEFT JOIN UNNEST(event.extra) AS event_extra WHERE - DATE(submission_timestamp) >= "2024-06-18" + DATE(submission_timestamp) >= "2024-06-19" GROUP BY submission_date, window_start, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql 2024-06-19 02:08:31.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql 2024-06-19 02:11:38.000000000 +0000 @@ -13,7 +13,19 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +47,19 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -82,8 +106,11 @@ metrics.labeled_counter.glean_error_invalid_state, metrics.labeled_counter.glean_error_invalid_value ) AS `labeled_counter`, - metrics.string, - metrics.uuid + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -140,8 +167,11 @@ metrics.labeled_counter.glean_error_invalid_state, metrics.labeled_counter.glean_error_invalid_value ) AS `labeled_counter`, - metrics.string, - metrics.uuid + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -173,7 +203,19 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql 2024-06-19 02:08:31.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql 2024-06-19 02:13:56.000000000 +0000 @@ -13,7 +13,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +69,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -57,7 +125,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -79,7 +181,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -101,7 +237,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql 2024-06-19 02:08:31.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql 2024-06-19 02:12:35.000000000 +0000 @@ -13,7 +13,36 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.metrics_search_count, + metrics.labeled_counter.browser_search_ad_clicks, + metrics.labeled_counter.browser_search_in_content, + metrics.labeled_counter.browser_search_with_ads, + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `labeled_counter`, + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +64,36 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.metrics_search_count, + metrics.labeled_counter.browser_search_ad_clicks, + metrics.labeled_counter.browser_search_in_content, + metrics.labeled_counter.browser_search_with_ads, + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `labeled_counter`, + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -76,7 +134,11 @@ events, metadata, STRUCT( - metrics.counter, + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, STRUCT( metrics.labeled_counter.glean_error_invalid_label, metrics.labeled_counter.glean_error_invalid_overflow, @@ -88,9 +150,18 @@ metrics.labeled_counter.browser_search_with_ads, metrics.labeled_counter.glean_validation_pings_submitted ) AS `labeled_counter`, - metrics.string, - metrics.timespan, - metrics.datetime + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -141,7 +212,11 @@ events, metadata, STRUCT( - metrics.counter, + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, STRUCT( metrics.labeled_counter.glean_error_invalid_label, metrics.labeled_counter.glean_error_invalid_overflow, @@ -153,9 +228,18 @@ metrics.labeled_counter.browser_search_with_ads, metrics.labeled_counter.glean_validation_pings_submitted ) AS `labeled_counter`, - metrics.string, - metrics.timespan, - metrics.datetime + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -187,7 +271,36 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.metrics_search_count, + metrics.labeled_counter.browser_search_ad_clicks, + metrics.labeled_counter.browser_search_in_content, + metrics.labeled_counter.browser_search_with_ads, + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `labeled_counter`, + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql 2024-06-19 02:08:31.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql 2024-06-19 02:13:58.000000000 +0000 @@ -13,7 +13,44 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.bookmarks_sync_incoming, + metrics.labeled_counter.bookmarks_sync_outgoing, + metrics.labeled_counter.bookmarks_sync_remote_tree_problems, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.bookmarks_sync_v2_incoming, + metrics.labeled_counter.bookmarks_sync_v2_outgoing, + metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +72,44 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.bookmarks_sync_incoming, + metrics.labeled_counter.bookmarks_sync_outgoing, + metrics.labeled_counter.bookmarks_sync_remote_tree_problems, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.bookmarks_sync_v2_incoming, + metrics.labeled_counter.bookmarks_sync_v2_outgoing, + metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -76,8 +150,20 @@ events, metadata, STRUCT( - metrics.counter, - metrics.datetime, + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, STRUCT( metrics.labeled_counter.bookmarks_sync_incoming, metrics.labeled_counter.bookmarks_sync_outgoing, @@ -90,9 +176,16 @@ metrics.labeled_counter.bookmarks_sync_v2_outgoing, metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems ) AS `labeled_counter`, - metrics.labeled_string, - metrics.string, - metrics.uuid + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -143,8 +236,20 @@ events, metadata, STRUCT( - metrics.counter, - metrics.datetime, + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, STRUCT( metrics.labeled_counter.bookmarks_sync_incoming, metrics.labeled_counter.bookmarks_sync_outgoing, @@ -157,9 +262,16 @@ metrics.labeled_counter.bookmarks_sync_v2_outgoing, metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems ) AS `labeled_counter`, - metrics.labeled_string, - metrics.string, - metrics.uuid + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -191,7 +303,44 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.bookmarks_sync_incoming, + metrics.labeled_counter.bookmarks_sync_outgoing, + metrics.labeled_counter.bookmarks_sync_remote_tree_problems, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.bookmarks_sync_v2_incoming, + metrics.labeled_counter.bookmarks_sync_v2_outgoing, + metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql 2024-06-19 02:08:31.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql 2024-06-19 02:12:28.000000000 +0000 @@ -13,7 +13,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +97,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -57,7 +181,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -79,7 +265,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -101,7 +349,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/cookie_banner_report_site/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/cookie_banner_report_site/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/cookie_banner_report_site/view.sql 2024-06-19 02:08:31.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/cookie_banner_report_site/view.sql 2024-06-19 02:11:44.000000000 +0000 @@ -13,7 +13,17 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.url2.cookie_banners_report_site_domain) AS `url2`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.url.cookie_banners_report_site_domain) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +45,17 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.url2.cookie_banners_report_site_domain) AS `url2`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.url.cookie_banners_report_site_domain) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_ ```

⚠️ Only part of the diff is displayed.

Link to full diff

dataops-ci-bot commented 1 week ago

Integration report for "Merge branch 'main' into fix/glean-metrics-union"

sql.diff

Click to expand! ```diff diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql 2024-06-21 16:30:33.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/custom/view.sql 2024-06-21 16:33:27.000000000 +0000 @@ -10,7 +10,65 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.errors_marian, + metrics.counter.errors_memory, + metrics.counter.errors_model_download, + metrics.counter.errors_translation, + metrics.counter.service_lang_mismatch, + metrics.counter.service_not_suppported, + metrics.counter.test_counter_test, + metrics.counter.service_not_supported + ) AS `counter`, + STRUCT( + metrics.string.metadata_from_lang, + metrics.string.metadata_to_lang, + metrics.string.performance_model_download_time, + metrics.string.performance_model_load_time, + metrics.string.performance_translation_quality, + metrics.string.performance_translation_time, + metrics.string.performance_words_per_second, + metrics.string.test_string_test, + metrics.string.metadata_firefox_client_id, + metrics.string.metadata_bergamot_translator_version, + metrics.string.metadata_cpu_extensions, + metrics.string.metadata_cpu_family, + metrics.string.metadata_cpu_model, + metrics.string.metadata_cpu_stepping, + metrics.string.metadata_cpu_vendor, + metrics.string.metadata_extension_build_id, + metrics.string.metadata_extension_version, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.metadata_cpu_cores_count, + metrics.quantity.metadata_cpu_count, + metrics.quantity.metadata_cpu_l2_cache, + metrics.quantity.metadata_cpu_l3_cache, + metrics.quantity.metadata_cpu_speed, + metrics.quantity.metadata_system_memory, + metrics.quantity.performance_full_page_translated_wps, + metrics.quantity.performance_translation_engine_wps, + metrics.quantity.performance_word_count, + metrics.quantity.performance_word_count_visible_in_viewport, + metrics.quantity.metadata_cpu_family, + metrics.quantity.metadata_cpu_model, + metrics.quantity.metadata_cpu_stepping + ) AS `quantity`, + STRUCT( + metrics.timespan.performance_full_page_translated_time, + metrics.timespan.performance_model_download_time_num, + metrics.timespan.performance_model_load_time_num, + metrics.timespan.performance_translation_engine_time + ) AS `timespan` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql 2024-06-21 16:30:33.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/deletion_request/view.sql 2024-06-21 16:33:26.000000000 +0000 @@ -10,7 +10,15 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql 2024-06-21 16:30:33.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bergamot/events/view.sql 2024-06-21 16:33:25.000000000 +0000 @@ -10,7 +10,16 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.uuid.glean_page_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml 2024-06-21 16:29:54.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml 2024-06-21 16:41:06.000000000 +0000 @@ -1,49 +1,49 @@ fields: -- mode: NULLABLE - name: submission_date +- name: submission_date type: DATE -- mode: NULLABLE - name: source + mode: NULLABLE +- name: source type: STRING -- mode: NULLABLE - name: event_type + mode: NULLABLE +- name: event_type type: STRING -- mode: NULLABLE - name: form_factor + mode: NULLABLE +- name: form_factor type: STRING -- mode: NULLABLE - name: country + mode: NULLABLE +- name: country type: STRING -- mode: NULLABLE - name: subdivision1 + mode: NULLABLE +- name: subdivision1 type: STRING -- mode: NULLABLE - name: advertiser + mode: NULLABLE +- name: advertiser type: STRING -- mode: NULLABLE - name: release_channel + mode: NULLABLE +- name: release_channel type: STRING -- mode: NULLABLE - name: position + mode: NULLABLE +- name: position type: INTEGER -- mode: NULLABLE - name: provider + mode: NULLABLE +- name: provider type: STRING -- mode: NULLABLE - name: match_type + mode: NULLABLE +- name: match_type type: STRING -- mode: NULLABLE - name: normalized_os + mode: NULLABLE +- name: normalized_os type: STRING -- mode: NULLABLE - name: suggest_data_sharing_enabled + mode: NULLABLE +- name: suggest_data_sharing_enabled type: BOOLEAN -- mode: NULLABLE - name: event_count + mode: NULLABLE +- name: event_count type: INTEGER -- mode: NULLABLE - name: user_count + mode: NULLABLE +- name: user_count type: INTEGER -- mode: NULLABLE - name: query_type + mode: NULLABLE +- name: query_type type: STRING + mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml 2024-06-21 16:29:54.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml 2024-06-21 16:41:06.000000000 +0000 @@ -1,40 +1,40 @@ fields: -- mode: NULLABLE - name: submission_date +- name: submission_date type: DATE -- mode: NULLABLE - name: form_factor + mode: NULLABLE +- name: form_factor type: STRING -- mode: NULLABLE - name: country + mode: NULLABLE +- name: country type: STRING -- mode: NULLABLE - name: advertiser + mode: NULLABLE +- name: advertiser type: STRING -- mode: NULLABLE - name: normalized_os + mode: NULLABLE +- name: normalized_os type: STRING -- mode: NULLABLE - name: release_channel + mode: NULLABLE +- name: release_channel type: STRING -- mode: NULLABLE - name: position + mode: NULLABLE +- name: position type: INTEGER -- mode: NULLABLE - name: provider + mode: NULLABLE +- name: provider type: STRING -- mode: NULLABLE - name: match_type + mode: NULLABLE +- name: match_type type: STRING -- mode: NULLABLE - name: suggest_data_sharing_enabled + mode: NULLABLE +- name: suggest_data_sharing_enabled type: BOOLEAN -- mode: NULLABLE - name: impression_count + mode: NULLABLE +- name: impression_count type: INTEGER -- mode: NULLABLE - name: click_count + mode: NULLABLE +- name: click_count type: INTEGER -- mode: NULLABLE - name: query_type + mode: NULLABLE +- name: query_type type: STRING + mode: NULLABLE diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql 2024-06-21 16:30:33.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/activation/view.sql 2024-06-21 16:33:37.000000000 +0000 @@ -13,7 +13,19 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +47,19 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -82,8 +106,11 @@ metrics.labeled_counter.glean_error_invalid_state, metrics.labeled_counter.glean_error_invalid_value ) AS `labeled_counter`, - metrics.string, - metrics.uuid + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -140,8 +167,11 @@ metrics.labeled_counter.glean_error_invalid_state, metrics.labeled_counter.glean_error_invalid_value ) AS `labeled_counter`, - metrics.string, - metrics.uuid + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -173,7 +203,19 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.activation_identifier, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.activation_activation_id) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql 2024-06-21 16:30:33.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/addresses_sync/view.sql 2024-06-21 16:35:45.000000000 +0000 @@ -13,7 +13,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +69,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -57,7 +125,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -79,7 +181,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -101,7 +237,41 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.addresses_sync_outgoing_batches, + metrics.counter.addresses_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.addresses_sync_finished_at, + metrics.datetime.raw_addresses_sync_finished_at, + metrics.datetime.addresses_sync_started_at, + metrics.datetime.raw_addresses_sync_started_at, + metrics.datetime.addresses_sync_v2_finished_at, + metrics.datetime.raw_addresses_sync_v2_finished_at, + metrics.datetime.addresses_sync_v2_started_at, + metrics.datetime.raw_addresses_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.addresses_sync_incoming, + metrics.labeled_counter.addresses_sync_outgoing, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.addresses_sync_v2_incoming, + metrics.labeled_counter.addresses_sync_v2_outgoing + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.addresses_sync_failure_reason, + metrics.labeled_string.addresses_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.addresses_sync_uid, + metrics.string.addresses_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql 2024-06-21 16:30:33.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/baseline/view.sql 2024-06-21 16:34:28.000000000 +0000 @@ -13,7 +13,36 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.metrics_search_count, + metrics.labeled_counter.browser_search_ad_clicks, + metrics.labeled_counter.browser_search_in_content, + metrics.labeled_counter.browser_search_with_ads, + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `labeled_counter`, + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +64,36 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.metrics_search_count, + metrics.labeled_counter.browser_search_ad_clicks, + metrics.labeled_counter.browser_search_in_content, + metrics.labeled_counter.browser_search_with_ads, + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `labeled_counter`, + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -76,7 +134,11 @@ events, metadata, STRUCT( - metrics.counter, + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, STRUCT( metrics.labeled_counter.glean_error_invalid_label, metrics.labeled_counter.glean_error_invalid_overflow, @@ -88,9 +150,18 @@ metrics.labeled_counter.browser_search_with_ads, metrics.labeled_counter.glean_validation_pings_submitted ) AS `labeled_counter`, - metrics.string, - metrics.timespan, - metrics.datetime + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -141,7 +212,11 @@ events, metadata, STRUCT( - metrics.counter, + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, STRUCT( metrics.labeled_counter.glean_error_invalid_label, metrics.labeled_counter.glean_error_invalid_overflow, @@ -153,9 +228,18 @@ metrics.labeled_counter.browser_search_with_ads, metrics.labeled_counter.glean_validation_pings_submitted ) AS `labeled_counter`, - metrics.string, - metrics.timespan, - metrics.datetime + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -187,7 +271,36 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.events_total_uri_count, + metrics.counter.glean_validation_metrics_ping_count, + metrics.counter.events_normal_and_private_uri_count + ) AS `counter`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.metrics_search_count, + metrics.labeled_counter.browser_search_ad_clicks, + metrics.labeled_counter.browser_search_in_content, + metrics.labeled_counter.browser_search_with_ads, + metrics.labeled_counter.glean_validation_pings_submitted + ) AS `labeled_counter`, + STRUCT( + metrics.string.glean_baseline_locale, + metrics.string.search_default_engine_code, + metrics.string.search_default_engine_name, + metrics.string.metrics_distribution_id, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.glean_baseline_duration) AS `timespan`, + STRUCT( + metrics.datetime.glean_validation_first_run_hour, + metrics.datetime.raw_glean_validation_first_run_hour + ) AS `datetime` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql 2024-06-21 16:30:33.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/bookmarks_sync/view.sql 2024-06-21 16:35:46.000000000 +0000 @@ -13,7 +13,44 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.bookmarks_sync_incoming, + metrics.labeled_counter.bookmarks_sync_outgoing, + metrics.labeled_counter.bookmarks_sync_remote_tree_problems, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.bookmarks_sync_v2_incoming, + metrics.labeled_counter.bookmarks_sync_v2_outgoing, + metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +72,44 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.bookmarks_sync_incoming, + metrics.labeled_counter.bookmarks_sync_outgoing, + metrics.labeled_counter.bookmarks_sync_remote_tree_problems, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.bookmarks_sync_v2_incoming, + metrics.labeled_counter.bookmarks_sync_v2_outgoing, + metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -76,8 +150,20 @@ events, metadata, STRUCT( - metrics.counter, - metrics.datetime, + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, STRUCT( metrics.labeled_counter.bookmarks_sync_incoming, metrics.labeled_counter.bookmarks_sync_outgoing, @@ -90,9 +176,16 @@ metrics.labeled_counter.bookmarks_sync_v2_outgoing, metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems ) AS `labeled_counter`, - metrics.labeled_string, - metrics.string, - metrics.uuid + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -143,8 +236,20 @@ events, metadata, STRUCT( - metrics.counter, - metrics.datetime, + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, STRUCT( metrics.labeled_counter.bookmarks_sync_incoming, metrics.labeled_counter.bookmarks_sync_outgoing, @@ -157,9 +262,16 @@ metrics.labeled_counter.bookmarks_sync_v2_outgoing, metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems ) AS `labeled_counter`, - metrics.labeled_string, - metrics.string, - metrics.uuid + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` ) AS `metrics`, normalized_app_name, normalized_country_code, @@ -191,7 +303,44 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.counter.bookmarks_sync_outgoing_batches, + metrics.counter.bookmarks_sync_v2_outgoing_batches + ) AS `counter`, + STRUCT( + metrics.datetime.bookmarks_sync_finished_at, + metrics.datetime.raw_bookmarks_sync_finished_at, + metrics.datetime.bookmarks_sync_started_at, + metrics.datetime.raw_bookmarks_sync_started_at, + metrics.datetime.bookmarks_sync_v2_finished_at, + metrics.datetime.raw_bookmarks_sync_v2_finished_at, + metrics.datetime.bookmarks_sync_v2_started_at, + metrics.datetime.raw_bookmarks_sync_v2_started_at + ) AS `datetime`, + STRUCT( + metrics.labeled_counter.bookmarks_sync_incoming, + metrics.labeled_counter.bookmarks_sync_outgoing, + metrics.labeled_counter.bookmarks_sync_remote_tree_problems, + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value, + metrics.labeled_counter.bookmarks_sync_v2_incoming, + metrics.labeled_counter.bookmarks_sync_v2_outgoing, + metrics.labeled_counter.bookmarks_sync_v2_remote_tree_problems + ) AS `labeled_counter`, + STRUCT( + metrics.labeled_string.bookmarks_sync_failure_reason, + metrics.labeled_string.bookmarks_sync_v2_failure_reason + ) AS `labeled_string`, + STRUCT( + metrics.string.bookmarks_sync_uid, + metrics.string.bookmarks_sync_v2_uid, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.uuid.sync_sync_uuid, metrics.uuid.sync_v2_sync_uuid) AS `uuid` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql 2024-06-21 16:30:33.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/view.sql 2024-06-21 16:34:22.000000000 +0000 @@ -13,7 +13,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +97,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -57,7 +181,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -79,7 +265,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -101,7 +349,69 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.boolean.broken_site_report_browser_info_app_fission_enabled, + metrics.boolean.broken_site_report_browser_info_graphics_has_touch_screen, + metrics.boolean.broken_site_report_browser_info_prefs_forced_accelerated_layers, + metrics.boolean.broken_site_report_browser_info_prefs_global_privacy_control_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_installtrigger_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_opaque_response_blocking, + metrics.boolean.broken_site_report_browser_info_prefs_resist_fingerprinting_enabled, + metrics.boolean.broken_site_report_browser_info_prefs_software_webrender, + metrics.boolean.broken_site_report_browser_info_system_is_tablet, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_active_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_mixed_display_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_has_tracking_content_blocked, + metrics.boolean.broken_site_report_tab_info_antitracking_is_private_browsing, + metrics.boolean.broken_site_report_tab_info_frameworks_fastclick, + metrics.boolean.broken_site_report_tab_info_frameworks_marfeel, + metrics.boolean.broken_site_report_tab_info_frameworks_mobify + ) AS `boolean`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.quantity.broken_site_report_browser_info_prefs_cookie_behavior, + metrics.quantity.broken_site_report_browser_info_system_memory + ) AS `quantity`, + STRUCT( + metrics.string.broken_site_report_breakage_category, + metrics.string.broken_site_report_browser_info_graphics_device_pixel_ratio, + metrics.string.broken_site_report_tab_info_antitracking_block_list, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT( + metrics.string_list.broken_site_report_browser_info_app_default_locales, + metrics.string_list.broken_site_report_browser_info_security_antispyware, + metrics.string_list.broken_site_report_browser_info_security_antivirus, + metrics.string_list.broken_site_report_browser_info_security_firewall, + metrics.string_list.broken_site_report_tab_info_languages + ) AS `string_list`, + STRUCT( + metrics.text2.broken_site_report_browser_info_app_default_useragent_string, + metrics.text2.broken_site_report_browser_info_graphics_devices_json, + metrics.text2.broken_site_report_browser_info_graphics_drivers_json, + metrics.text2.broken_site_report_browser_info_graphics_features_json, + metrics.text2.broken_site_report_browser_info_graphics_monitors_json, + metrics.text2.broken_site_report_description, + metrics.text2.broken_site_report_tab_info_useragent_string + ) AS `text2`, + STRUCT(metrics.url2.broken_site_report_url) AS `url2`, + STRUCT( + metrics.text.broken_site_report_browser_info_app_default_useragent_string, + metrics.text.broken_site_report_browser_info_graphics_devices_json, + metrics.text.broken_site_report_browser_info_graphics_drivers_json, + metrics.text.broken_site_report_browser_info_graphics_features_json, + metrics.text.broken_site_report_browser_info_graphics_monitors_json, + metrics.text.broken_site_report_description, + metrics.text.broken_site_report_tab_info_useragent_string + ) AS `text`, + STRUCT(metrics.url.broken_site_report_url) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/cookie_banner_report_site/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/cookie_banner_report_site/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/cookie_banner_report_site/view.sql 2024-06-21 16:30:33.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/cookie_banner_report_site/view.sql 2024-06-21 16:33:35.000000000 +0000 @@ -13,7 +13,17 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.url2.cookie_banners_report_site_domain) AS `url2`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.url.cookie_banners_report_site_domain) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +45,17 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.url2.cookie_banners_report_site_domain) AS `url2`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.url.cookie_banners_report_site_domain) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -57,7 +77,17 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.url2.cookie_banners_report_site_domain) AS `url2`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.url.cookie_banners_report_site_domain) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -79,7 +109,17 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.url2.cookie_banners_report_site_domain) AS `url2`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.url.cookie_banners_report_site_domain) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -101,7 +141,17 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT(metrics.url2.cookie_banners_report_site_domain) AS `url2`, + STRUCT(metrics.string.glean_client_annotation_experimentation_id) AS `string`, + STRUCT(metrics.url.cookie_banners_report_site_domain) AS `url` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/view.sql --- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/view.sql 2024-06-21 16:30:33.000000000 +0000 +++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/view.sql 2024-06-21 16:36:09.000000000 +0000 @@ -13,7 +13,23 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT(metrics.boolean.crash_startup) AS `boolean`, + STRUCT(metrics.datetime.crash_time, metrics.datetime.raw_crash_time) AS `datetime`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.crash_process_type, + metrics.string.crash_cause, + metrics.string.crash_remote_type, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.crash_uptime) AS `timespan` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -35,7 +51,23 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT(metrics.boolean.crash_startup) AS `boolean`, + STRUCT(metrics.datetime.crash_time, metrics.datetime.raw_crash_time) AS `datetime`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.crash_process_type, + metrics.string.crash_cause, + metrics.string.crash_remote_type, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.crash_uptime) AS `timespan` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -57,7 +89,23 @@ document_id, events, metadata, - metrics, + STRUCT( + STRUCT(metrics.boolean.crash_startup) AS `boolean`, + STRUCT(metrics.datetime.crash_time, metrics.datetime.raw_crash_time) AS `datetime`, + STRUCT( + metrics.labeled_counter.glean_error_invalid_label, + metrics.labeled_counter.glean_error_invalid_overflow, + metrics.labeled_counter.glean_error_invalid_state, + metrics.labeled_counter.glean_error_invalid_value + ) AS `labeled_counter`, + STRUCT( + metrics.string.crash_process_type, + metrics.string.crash_cause, + metrics.string.crash_remote_type, + metrics.string.glean_client_annotation_experimentation_id + ) AS `string`, + STRUCT(metrics.timespan.crash_uptime) AS `timespan` + ) AS `metrics`, normalized_app_name, normalized_country_code, normalized_os, @@ -79,7 +127,23 @@ document_id, events, metadata, - metrics, + STRUCT( + ```

⚠️ Only part of the diff is displayed.

Link to full diff