Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DO NOT merge] - Set retention on client_level tables for glean_usage tables #6815

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

alekhyamoz
Copy link
Contributor

@alekhyamoz alekhyamoz commented Jan 15, 2025

As part of the data retention project, the final set of work would be setting the partitions before 775 days (on client-level tables) expire.
This PR will be merged only after January 28th.

As part of this PR 2 changes will be implemented

  1. Set the partition expiration to 775
  2. Add a label table_type: client_level

Please note that first_seen tables are excluded from setting retention.

Reviewer please valid for the tables you own or use. Also, please don't hesitate to tag the appropriate owners.

@dataops-ci-bot

This comment has been minimized.

@dataops-ci-bot

This comment has been minimized.

@@ -19,6 +19,7 @@ bigquery:
type: day
field: submission_date
require_partition_filter: true
expiration_days: 775
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just out of curiosity, what number should be used for expiration days? I have seen 780 as well:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the recent data retention sync meeting, we discussed and decided to use 775. The above PR was before a number was finalized. Open to suggestions or discussions if needed.

Copy link
Collaborator

@scholtzan scholtzan Jan 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we change the 780 to 775 in a separate PR? To make it consistent?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have changed 780 to 775 for a couple of tables. This file is deprecated and I will add it to my to-be-deleted list
ql/moz-fx-data-shared-prod/firefox_ios_derived/active_users_aggregates_v1/metadata.yaml#L23

@alekhyamoz alekhyamoz force-pushed the retention_glean_usage branch from 9aac4b4 to d354e8f Compare January 15, 2025 17:52
@alekhyamoz alekhyamoz force-pushed the retention_glean_usage branch from fb438f1 to 051ee24 Compare January 15, 2025 17:57
@alekhyamoz alekhyamoz changed the title Set retention on client_level tables for glean_usage tables [DO NOT merge] - Set retention on client_level tables for glean_usage tables Jan 15, 2025
@dataops-ci-bot

This comment has been minimized.

Copy link
Member

@badboy badboy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r+ for the events_stream tables.

@dataops-ci-bot

This comment has been minimized.

@alekhyamoz alekhyamoz force-pushed the retention_glean_usage branch from 3783a5d to ecd153f Compare January 16, 2025 15:36
@dataops-ci-bot
Copy link

Integration report for "Add some more client level glean usage tables"

sql.diff

Click to expand!
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_main_summary.py /tmp/workspace/generated-sql/dags/bqetl_main_summary.py
--- /tmp/workspace/main-generated-sql/dags/bqetl_main_summary.py	2025-01-16 15:43:17.000000000 +0000
+++ /tmp/workspace/generated-sql/dags/bqetl_main_summary.py	2025-01-16 15:57:20.000000000 +0000
@@ -392,12 +392,8 @@
         destination_table="clients_daily_event_v1",
         dataset_id="telemetry_derived",
         project_id="moz-fx-data-shared-prod",
-        owner="[email protected]",
-        email=[
-            "[email protected]",
-            "[email protected]",
-            "[email protected]",
-        ],
+        owner="[email protected]",
+        email=["[email protected]", "[email protected]"],
         start_date=datetime.datetime(2021, 1, 19, 0, 0),
         date_partition_parameter="submission_date",
         depends_on_past=False,
@@ -624,12 +620,8 @@
         destination_table="clients_last_seen_event_v1",
         dataset_id="telemetry_derived",
         project_id="moz-fx-data-shared-prod",
-        owner="[email protected]",
-        email=[
-            "[email protected]",
-            "[email protected]",
-            "[email protected]",
-        ],
+        owner="[email protected]",
+        email=["[email protected]", "[email protected]"],
         start_date=datetime.datetime(2021, 1, 19, 0, 0),
         date_partition_parameter="submission_date",
         depends_on_past=True,
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/engagement_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/new_profile_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/retention_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/engagement_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/new_profile_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/retention_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_android/engagement_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_android/new_profile_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_android/retention_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_ios/engagement_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_ios/new_profile_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_ios/retention_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/klar_android/engagement_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/klar_android/new_profile_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/klar_android/retention_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/klar_ios/engagement_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/klar_ios/new_profile_clients: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/klar_ios/retention_clients: schema.yaml
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	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql	2025-01-16 15:41:11.000000000 +0000
@@ -67,7 +67,7 @@
   LEFT JOIN
     UNNEST(event.extra) AS event_extra
   WHERE
-    DATE(submission_timestamp) >= "2025-01-15"
+    DATE(submission_timestamp) >= "2025-01-16"
   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/events_stream_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/events_stream_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/events_stream_v1/metadata.yaml	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/events_stream_v1/metadata.yaml	2025-01-16 15:52:05.000000000 +0000
@@ -10,6 +10,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: jrediger
   owner2: wstuckey
@@ -26,7 +27,7 @@
     type: day
     field: submission_timestamp
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/baseline_clients_daily_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/baseline_clients_daily_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/baseline_clients_daily_v1/metadata.yaml	2025-01-16 15:37:56.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/baseline_clients_daily_v1/metadata.yaml	2025-01-16 15:52:14.000000000 +0000
@@ -10,6 +10,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: ascholtz
 scheduling:
@@ -20,7 +21,7 @@
     type: day
     field: submission_date
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml	2025-01-16 15:37:56.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml	2025-01-16 15:52:14.000000000 +0000
@@ -11,6 +11,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: ascholtz
 scheduling:
@@ -22,7 +23,7 @@
     type: day
     field: submission_date
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
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	2025-01-16 15:37:56.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql	2025-01-16 15:41:11.000000000 +0000
@@ -67,7 +67,7 @@
   LEFT JOIN
     UNNEST(event.extra) AS event_extra
   WHERE
-    DATE(submission_timestamp) >= "2025-01-15"
+    DATE(submission_timestamp) >= "2025-01-16"
   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/events_stream_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/events_stream_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/events_stream_v1/metadata.yaml	2025-01-16 15:37:56.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/events_stream_v1/metadata.yaml	2025-01-16 15:52:14.000000000 +0000
@@ -10,6 +10,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: jrediger
   owner2: wstuckey
@@ -24,7 +25,7 @@
     type: day
     field: submission_timestamp
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/metrics_clients_daily_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/metrics_clients_daily_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/metrics_clients_daily_v1/metadata.yaml	2025-01-16 15:37:56.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/metrics_clients_daily_v1/metadata.yaml	2025-01-16 15:52:14.000000000 +0000
@@ -6,6 +6,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: ascholtz
 scheduling:
@@ -16,7 +17,7 @@
     type: day
     field: submission_date
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
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	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql	2025-01-16 15:41:11.000000000 +0000
@@ -67,7 +67,7 @@
   LEFT JOIN
     UNNEST(event.extra) AS event_extra
   WHERE
-    DATE(submission_timestamp) >= "2025-01-15"
+    DATE(submission_timestamp) >= "2025-01-16"
   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/events_stream_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/events_stream_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/events_stream_v1/metadata.yaml	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/events_stream_v1/metadata.yaml	2025-01-16 15:52:14.000000000 +0000
@@ -10,6 +10,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: jrediger
   owner2: wstuckey
@@ -26,7 +27,7 @@
     type: day
     field: submission_timestamp
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/ads_backend_derived/events_stream_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/ads_backend_derived/events_stream_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/ads_backend_derived/events_stream_v1/metadata.yaml	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/ads_backend_derived/events_stream_v1/metadata.yaml	2025-01-16 15:52:06.000000000 +0000
@@ -10,6 +10,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: jrediger
   owner2: wstuckey
@@ -24,7 +25,7 @@
     type: day
     field: submission_timestamp
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
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	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql	2025-01-16 15:41:11.000000000 +0000
@@ -87,7 +87,7 @@
   LEFT JOIN
     UNNEST(event.extra) AS event_extra
   WHERE
-    DATE(submission_timestamp) >= "2025-01-15"
+    DATE(submission_timestamp) >= "2025-01-16"
   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/events_stream_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/events_stream_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/events_stream_v1/metadata.yaml	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/events_stream_v1/metadata.yaml	2025-01-16 15:52:14.000000000 +0000
@@ -10,6 +10,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: jrediger
   owner2: wstuckey
@@ -24,7 +25,7 @@
     type: day
     field: submission_timestamp
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/baseline_clients_daily_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/baseline_clients_daily_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/baseline_clients_daily_v1/metadata.yaml	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/baseline_clients_daily_v1/metadata.yaml	2025-01-16 15:52:06.000000000 +0000
@@ -10,6 +10,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: ascholtz
 scheduling:
@@ -20,7 +21,7 @@
     type: day
     field: submission_date
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/baseline_clients_last_seen_v1/metadata.yaml	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/baseline_clients_last_seen_v1/metadata.yaml	2025-01-16 15:52:06.000000000 +0000
@@ -11,6 +11,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: ascholtz
 scheduling:
@@ -22,7 +23,7 @@
     type: day
     field: submission_date
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/clients_last_seen_joined_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/clients_last_seen_joined_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/clients_last_seen_joined_v1/metadata.yaml	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/clients_last_seen_joined_v1/metadata.yaml	2025-01-16 15:52:06.000000000 +0000
@@ -13,6 +13,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: ascholtz
 scheduling:
@@ -24,7 +25,7 @@
     type: day
     field: submission_date
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
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	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql	2025-01-16 15:41:12.000000000 +0000
@@ -67,7 +67,7 @@
   LEFT JOIN
     UNNEST(event.extra) AS event_extra
   WHERE
-    DATE(submission_timestamp) >= "2025-01-15"
+    DATE(submission_timestamp) >= "2025-01-16"
   GROUP BY
     submission_date,
     window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/events_stream_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/events_stream_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/events_stream_v1/metadata.yaml	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/events_stream_v1/metadata.yaml	2025-01-16 15:52:06.000000000 +0000
@@ -10,6 +10,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: jrediger
   owner2: wstuckey
@@ -24,7 +25,7 @@
     type: day
     field: submission_timestamp
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/metrics_clients_daily_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/metrics_clients_daily_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/metrics_clients_daily_v1/metadata.yaml	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/metrics_clients_daily_v1/metadata.yaml	2025-01-16 15:52:06.000000000 +0000
@@ -6,6 +6,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: ascholtz
 scheduling:
@@ -16,7 +17,7 @@
     type: day
     field: submission_date
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/metrics_clients_last_seen_v1/metadata.yaml	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/metrics_clients_last_seen_v1/metadata.yaml	2025-01-16 15:52:06.000000000 +0000
@@ -11,6 +11,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: ascholtz
 scheduling:
@@ -21,7 +22,7 @@
     type: day
     field: submission_date
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
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	2025-01-16 15:37:08.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml	2025-01-16 15:47:15.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	2025-01-16 15:37:08.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml	2025-01-16 15:47: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/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	2025-01-16 15:37:56.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql	2025-01-16 15:41:12.000000000 +0000
@@ -67,7 +67,7 @@
   LEFT JOIN
     UNNEST(event.extra) AS event_extra
   WHERE
-    DATE(submission_timestamp) >= "2025-01-15"
+    DATE(submission_timestamp) >= "2025-01-16"
   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/events_stream_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/events_stream_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/events_stream_v1/metadata.yaml	2025-01-16 15:37:56.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/events_stream_v1/metadata.yaml	2025-01-16 15:52:14.000000000 +0000
@@ -10,6 +10,7 @@
 labels:
   incremental: true
   schedule: daily
+  table_type: client_level
   dag: bqetl_glean_usage
   owner1: jrediger
   owner2: wstuckey
@@ -24,7 +25,7 @@
     type: day
     field: submission_timestamp
     require_partition_filter: true
-    expiration_days: null
+    expiration_days: 775.0
   range_partitioning: null
   clustering:
     fields:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/engagement/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/engagement/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/engagement/schema.yaml	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/engagement/schema.yaml	2025-01-16 15:47:30.000000000 +0000
@@ -84,6 +84,19 @@
   type: STRING
   mode: NULLABLE
   description: A string containing the distribution identifier.
+- name: device_type
+  type: STRING
+  mode: NULLABLE
+  description: 'On Apple devices allows us to differentiate between iPhone and iPad.
+    On Android devices the value is always "Android".
+
+    '
+- name: device_manufacturer
+  type: STRING
+  mode: NULLABLE
+  description: 'Manufacturer of the device where the client is installed.
+
+    '
 - name: lifecycle_stage
   type: STRING
   mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/engagement_clients/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/engagement_clients/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/engagement_clients/schema.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/engagement_clients/schema.yaml	2025-01-16 15:47:29.000000000 +0000
@@ -0,0 +1,103 @@
+fields:
+- name: submission_date
+  type: DATE
+  mode: NULLABLE
+- name: client_id
+  type: STRING
+  mode: NULLABLE
+- name: sample_id
+  type: INTEGER
+  mode: NULLABLE
+- name: first_seen_date
+  type: DATE
+  mode: NULLABLE
+- name: app_name
+  type: STRING
+  mode: NULLABLE
+- name: normalized_channel
+  type: STRING
+  mode: NULLABLE
+- name: app_version
+  type: STRING
+  mode: NULLABLE
+- name: locale
+  type: STRING
+  mode: NULLABLE
+- name: country
+  type: STRING
+  mode: NULLABLE
+- name: isp
+  type: STRING
+  mode: NULLABLE
+- name: is_dau
+  type: BOOLEAN
+  mode: NULLABLE
+- name: is_wau
+  type: BOOLEAN
+  mode: NULLABLE
+- name: is_mau
+  type: BOOLEAN
+  mode: NULLABLE
+- name: is_mobile
+  type: BOOLEAN
+  mode: NULLABLE
+- name: play_store_attribution_campaign
+  type: STRING
+  mode: NULLABLE
+- name: play_store_attribution_medium
+  type: STRING
+  mode: NULLABLE
+- name: play_store_attribution_source
+  type: STRING
+  mode: NULLABLE
+- name: play_store_attribution_timestamp
+  type: TIMESTAMP
+  mode: NULLABLE
+- name: play_store_attribution_content
+  type: STRING
+  mode: NULLABLE
+- name: play_store_attribution_term
+  type: STRING
+  mode: NULLABLE
+- name: play_store_attribution_install_referrer_response
+  type: STRING
+  mode: NULLABLE
+- name: meta_attribution_app
+  type: STRING
+  mode: NULLABLE
+- name: meta_attribution_timestamp
+  type: TIMESTAMP
+  mode: NULLABLE
+- name: install_source
+  type: STRING
+  mode: NULLABLE
+- name: adjust_ad_group
+  type: STRING
+  mode: NULLABLE
+- name: adjust_campaign
+  type: STRING
+  mode: NULLABLE
+- name: adjust_creative
+  type: STRING
+  mode: NULLABLE
+- name: adjust_network
+  type: STRING
+  mode: NULLABLE
+- name: adjust_attribution_timestamp
+  type: TIMESTAMP
+  mode: NULLABLE
+- name: distribution_id
+  type: STRING
+  mode: NULLABLE
+- name: paid_vs_organic
+  type: STRING
+  mode: NULLABLE
+- name: lifecycle_stage
+  type: STRING
+  mode: NULLABLE
+- name: device_type
+  type: STRING
+  mode: NULLABLE
+- name: device_manufacturer
+  type: STRING
+  mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_clients/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_clients/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_clients/schema.yaml	2025-01-16 15:37:08.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_clients/schema.yaml	2025-01-16 15:47:26.000000000 +0000
@@ -26,6 +26,9 @@
 - name: adjust_network
   type: STRING
   mode: NULLABLE
+- name: install_source
+  type: STRING
+  mode: NULLABLE
 - name: retained_week_2
   type: BOOLEAN
   mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_week_4/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_week_4/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_week_4/schema.yaml	2025-01-16 15:37:08.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_week_4/schema.yaml	2025-01-16 15:47:37.000000000 +0000
@@ -48,6 +48,10 @@
   description: 'The type of source of a client installation.
 
     '
+- name: install_source
+  type: STRING
+  mode: NULLABLE
+  description: null
 - name: new_profiles
   type: INTEGER
   mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/schema.yaml	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/schema.yaml	2025-01-16 15:49:31.000000000 +0000
@@ -441,6 +441,12 @@
     - name: formautofill_availability
       type: BOOLEAN
       mode: NULLABLE
+    - name: formautofill_os_auth_enabled
+      type: BOOLEAN
+      mode: NULLABLE
+    - name: pwmgr_os_auth_enabled
+      type: BOOLEAN
+      mode: NULLABLE
   - name: counter
     type: RECORD
     mode: NULLABLE
@@ -2303,6 +2309,246 @@
         - name: value
           type: INTEGER
           mode: NULLABLE
+    - name: javascript_gc_effectiveness
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+    - name: javascript_gc_mark_rate
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+    - name: javascript_gc_mmu_50
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+    - name: javascript_gc_nursery_promotion_rate
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+    - name: javascript_gc_parallel_mark_interruptions
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+    - name: javascript_gc_parallel_mark_speedup
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+    - name: javascript_gc_parallel_mark_utilization
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+    - name: javascript_gc_pretenure_count
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+    - name: javascript_gc_slice_count
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+    - name: javascript_gc_tenured_survival_rate
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+    - name: javascript_gc_zone_count
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+    - name: javascript_gc_zones_collected
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
   - name: labeled_counter
     type: RECORD
     mode: NULLABLE
@@ -4417,6 +4663,136 @@
       - name: value
         type: INTEGER
         mode: NULLABLE
+    - name: javascript_gc_budget_was_increased
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+    - name: javascript_gc_is_zone_gc
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+    - name: javascript_gc_minor_reason
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+    - name: javascript_gc_minor_reason_long
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+    - name: javascript_gc_non_incremental
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+    - name: javascript_gc_non_incremental_reason
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+    - name: javascript_gc_parallel_mark_used
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+    - name: javascript_gc_reason
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+    - name: javascript_gc_reset
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+    - name: javascript_gc_reset_reason
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+    - name: javascript_gc_slice_was_long
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+    - name: javascript_gc_slow_phase
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+    - name: javascript_gc_slow_task
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
   - name: quantity
     type: RECORD
     mode: NULLABLE
@@ -13642,6 +14018,26 @@
       type: RECORD
       mode: NULLABLE
       fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+    - name: javascript_gc_nursery_bytes
+      type: RECORD
+      mode: NULLABLE
+      fields:
       - name: count
         type: INTEGER
         mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/view.sql	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/view.sql	2025-01-16 15:43:52.000000000 +0000
@@ -97,7 +97,9 @@
       metrics.boolean.devtools_shadowdom_reveal_link_clicked,
       metrics.boolean.devtools_shadowdom_shadow_root_displayed,
       metrics.boolean.devtools_shadowdom_shadow_root_expanded,
-      metrics.boolean.formautofill_availability
+      metrics.boolean.formautofill_availability,
+      metrics.boolean.formautofill_os_auth_enabled,
+      metrics.boolean.pwmgr_os_auth_enabled
     ) AS `boolean`,
     STRUCT(
       metrics.counter.events_total_uri_count,
@@ -328,7 +330,19 @@
       metrics.custom_distribution.networking_http_1_download_throughput_50_100,
       metrics.custom_distribution.networking_http_2_download_throughput_100,
       metrics.custom_distribution.networking_http_2_download_throughput_10_50,
-      metrics.custom_distribution.networking_http_2_download_throughput_50_100
+      metrics.custom_distribution.networking_http_2_download_throughput_50_100,
+      metrics.custom_distribution.javascript_gc_effectiveness,
+      metrics.custom_distribution.javascript_gc_mark_rate,
+      metrics.custom_distribution.javascript_gc_mmu_50,
+      metrics.custom_distribution.javascript_gc_nursery_promotion_rate,
+      metrics.custom_distribution.javascript_gc_parallel_mark_interruptions,
+      metrics.custom_distribution.javascript_gc_parallel_mark_speedup,
+      metrics.custom_distribution.javascript_gc_parallel_mark_utilization,
+      metrics.custom_distribution.javascript_gc_pretenure_count,
+      metrics.custom_distribution.javascript_gc_slice_count,
+      metrics.custom_distribution.javascript_gc_tenured_survival_rate,
+      metrics.custom_distribution.javascript_gc_zone_count,
+      metrics.custom_distribution.javascript_gc_zones_collected
     ) AS `custom_distribution`,
     STRUCT(
       metrics.labeled_counter.crash_metrics_crash_count,
@@ -541,7 +555,20 @@
       metrics.labeled_counter.networking_captive_portal_banner_display_time,
       metrics.labeled_counter.networking_https_record_state,
       metrics.labeled_counter.networking_https_http_or_local,
-      metrics.labeled_counter.networking_http_ip_addr_any_hostnames
+      metrics.labeled_counter.networking_http_ip_addr_any_hostnames,
+      metrics.labeled_counter.javascript_gc_budget_was_increased,
+      metrics.labeled_counter.javascript_gc_is_zone_gc,
+      metrics.labeled_counter.javascript_gc_minor_reason,
+      metrics.labeled_counter.javascript_gc_minor_reason_long,
+      metrics.labeled_counter.javascript_gc_non_incremental,
+      metrics.labeled_counter.javascript_gc_non_incremental_reason,
+      metrics.labeled_counter.javascript_gc_parallel_mark_used,
+      metrics.labeled_counter.javascript_gc_reason,
+      metrics.labeled_counter.javascript_gc_reset,
+      metrics.labeled_counter.javascript_gc_reset_reason,
+      metrics.labeled_counter.javascript_gc_slice_was_long,
+      metrics.labeled_counter.javascript_gc_slow_phase,
+      metrics.labeled_counter.javascript_gc_slow_task
     ) AS `labeled_counter`,
     STRUCT(
       metrics.quantity.gfx_adapter_primary_ram,
@@ -909,7 +936,8 @@
       metrics.memory_distribution.cert_storage_memory,
       metrics.memory_distribution.networking_http_3_udp_datagram_segment_size_received,
       metrics.memory_distribution.networking_http_3_udp_datagram_segment_size_sent,
-      metrics.memory_distribution.networking_http_3_udp_datagram_size_received
+      metrics.memory_distribution.networking_http_3_udp_datagram_size_received,
+      metrics.memory_distribution.javascript_gc_nursery_bytes
     ) AS `memory_distribution`,
     STRUCT(
       metrics.datetime.blocklist_last_modified_rs_addons_mblf,
@@ -1132,7 +1160,9 @@
       metrics.boolean.devtools_shadowdom_reveal_link_clicked,
       metrics.boolean.devtools_shadowdom_shadow_root_displayed,
       metrics.boolean.devtools_shadowdom_shadow_root_expanded,
-      metrics.boolean.formautofill_availability
+      metrics.boolean.formautofill_availability,
+      metrics.boolean.formautofill_os_auth_enabled,
+      metrics.boolean.pwmgr_os_auth_enabled
     ) AS `boolean`,
     STRUCT(
       metrics.counter.events_total_uri_count,
@@ -1363,7 +1393,19 @@
       metrics.custom_distribution.networking_http_1_download_throughput_50_100,
       metrics.custom_distribution.networking_http_2_download_throughput_100,
       metrics.custom_distribution.networking_http_2_download_throughput_10_50,
-      metrics.custom_distribution.networking_http_2_download_throughput_50_100
+      metrics.custom_distribution.networking_http_2_download_throughput_50_100,
+      metrics.custom_distribution.javascript_gc_effectiveness,
+      metrics.custom_distribution.javascript_gc_mark_rate,
+      metrics.custom_distribution.javascript_gc_mmu_50,
+      metrics.custom_distribution.javascript_gc_nursery_promotion_rate,
+      metrics.custom_distribution.javascript_gc_parallel_mark_interruptions,
+      metrics.custom_distribution.javascript_gc_parallel_mark_speedup,
+      metrics.custom_distribution.javascript_gc_parallel_mark_utilization,
+      metrics.custom_distribution.javascript_gc_pretenure_count,
+      metrics.custom_distribution.javascript_gc_slice_count,
+      metrics.custom_distribution.javascript_gc_tenured_survival_rate,
+      metrics.custom_distribution.javascript_gc_zone_count,
+      metrics.custom_distribution.javascript_gc_zones_collected
     ) AS `custom_distribution`,
     STRUCT(
       metrics.labeled_counter.crash_metrics_crash_count,
@@ -1576,7 +1618,20 @@
       metrics.labeled_counter.networking_captive_portal_banner_display_time,
       metrics.labeled_counter.networking_https_record_state,
       metrics.labeled_counter.networking_https_http_or_local,
-      metrics.labeled_counter.networking_http_ip_addr_any_hostnames
+      metrics.labeled_counter.networking_http_ip_addr_any_hostnames,
+      metrics.labeled_counter.javascript_gc_budget_was_increased,
+      metrics.labeled_counter.javascript_gc_is_zone_gc,
+      metrics.labeled_counter.javascript_gc_minor_reason,
+      metrics.labeled_counter.javascript_gc_minor_reason_long,
+      metrics.labeled_counter.javascript_gc_non_incremental,
+      metrics.labeled_counter.javascript_gc_non_incremental_reason,
+      metrics.labeled_counter.javascript_gc_parallel_mark_used,
+      metrics.labeled_counter.javascript_gc_reason,
+      metrics.labeled_counter.javascript_gc_reset,
+      metrics.labeled_counter.javascript_gc_reset_reason,
+      metrics.labeled_counter.javascript_gc_slice_was_long,
+      metrics.labeled_counter.javascript_gc_slow_phase,
+      metrics.labeled_counter.javascript_gc_slow_task
     ) AS `labeled_counter`,
     STRUCT(
       metrics.quantity.gfx_adapter_primary_ram,
@@ -1944,7 +1999,8 @@
       metrics.memory_distribution.cert_storage_memory,
       metrics.memory_distribution.networking_http_3_udp_datagram_segment_size_received,
       metrics.memory_distribution.networking_http_3_udp_datagram_segment_size_sent,
-      metrics.memory_distribution.networking_http_3_udp_datagram_size_received
+      metrics.memory_distribution.networking_http_3_udp_datagram_size_received,
+      metrics.memory_distribution.javascript_gc_nursery_bytes
     ) AS `memory_distribution`,
     STRUCT(
       metrics.datetime.blocklist_last_modified_rs_addons_mblf,
@@ -2185,7 +2241,9 @@
       metrics.boolean.devtools_shadowdom_reveal_link_clicked,
       metrics.boolean.devtools_shadowdom_shadow_root_displayed,
       metrics.boolean.devtools_shadowdom_shadow_root_expanded,
-      metrics.boolean.formautofill_availability
+      metrics.boolean.formautofill_availability,
+      metrics.boolean.formautofill_os_auth_enabled,
+      metrics.boolean.pwmgr_os_auth_enabled
     ) AS `boolean`,
     STRUCT(
       metrics.counter.events_total_uri_count,
@@ -2416,7 +2474,19 @@
       metrics.custom_distribution.networking_http_1_download_throughput_50_100,
       metrics.custom_distribution.networking_http_2_download_throughput_100,
       metrics.custom_distribution.networking_http_2_download_throughput_10_50,
-      metrics.custom_distribution.networking_http_2_download_throughput_50_100
+      metrics.custom_distribution.networking_http_2_download_throughput_50_100,
+      metrics.custom_distribution.javascript_gc_effectiveness,
+      metrics.custom_distribution.javascript_gc_mark_rate,
+      metrics.custom_distribution.javascript_gc_mmu_50,
+      metrics.custom_distribution.javascript_gc_nursery_promotion_rate,
+      metrics.custom_distribution.javascript_gc_parallel_mark_interruptions,
+      metrics.custom_distribution.javascript_gc_parallel_mark_speedup,
+      metrics.custom_distribution.javascript_gc_parallel_mark_utilization,
+      metrics.custom_distribution.javascript_gc_pretenure_count,
+      metrics.custom_distribution.javascript_gc_slice_count,
+      metrics.custom_distribution.javascript_gc_tenured_survival_rate,
+      metrics.custom_distribution.javascript_gc_zone_count,
+      metrics.custom_distribution.javascript_gc_zones_collected
     ) AS `custom_distribution`,
     STRUCT(
       metrics.labeled_counter.crash_metrics_crash_count,
@@ -2629,7 +2699,20 @@
       metrics.labeled_counter.networking_captive_portal_banner_display_time,
       metrics.labeled_counter.networking_https_record_state,
       metrics.labeled_counter.networking_https_http_or_local,
-      metrics.labeled_counter.networking_http_ip_addr_any_hostnames
+      metrics.labeled_counter.networking_http_ip_addr_any_hostnames,
+      metrics.labeled_counter.javascript_gc_budget_was_increased,
+      metrics.labeled_counter.javascript_gc_is_zone_gc,
+      metrics.labeled_counter.javascript_gc_minor_reason,
+      metrics.labeled_counter.javascript_gc_minor_reason_long,
+      metrics.labeled_counter.javascript_gc_non_incremental,
+      metrics.labeled_counter.javascript_gc_non_incremental_reason,
+      metrics.labeled_counter.javascript_gc_parallel_mark_used,
+      metrics.labeled_counter.javascript_gc_reason,
+      metrics.labeled_counter.javascript_gc_reset,
+      metrics.labeled_counter.javascript_gc_reset_reason,
+      metrics.labeled_counter.javascript_gc_slice_was_long,
+      metrics.labeled_counter.javascript_gc_slow_phase,
+      metrics.labeled_counter.javascript_gc_slow_task
     ) AS `labeled_counter`,
     STRUCT(
       metrics.quantity.gfx_adapter_primary_ram,
@@ -2997,7 +3080,8 @@
       metrics.memory_distribution.cert_storage_memory,
       metrics.memory_distribution.networking_http_3_udp_datagram_segment_size_received,
       metrics.memory_distribution.networking_http_3_udp_datagram_segment_size_sent,
-      metrics.memory_distribution.networking_http_3_udp_datagram_size_received
+      metrics.memory_distribution.networking_http_3_udp_datagram_size_received,
+      metrics.memory_distribution.javascript_gc_nursery_bytes
     ) AS `memory_distribution`,
     STRUCT(
       metrics.datetime.blocklist_last_modified_rs_addons_mblf,
@@ -3247,7 +3331,9 @@
       metrics.boolean.devtools_shadowdom_reveal_link_clicked,
       metrics.boolean.devtools_shadowdom_shadow_root_displayed,
       metrics.boolean.devtools_shadowdom_shadow_root_expanded,
-      metrics.boolean.formautofill_availability
+      metrics.boolean.formautofill_availability,
+      metrics.boolean.formautofill_os_auth_enabled,
+      metrics.boolean.pwmgr_os_auth_enabled
     ) AS `boolean`,
     STRUCT(
       metrics.counter.events_total_uri_count,
@@ -3478,7 +3564,19 @@
       metrics.custom_distribution.networking_http_1_download_throughput_50_100,
       metrics.custom_distribution.networking_http_2_download_throughput_100,
       metrics.custom_distribution.networking_http_2_download_throughput_10_50,
-      metrics.custom_distribution.networking_http_2_download_throughput_50_100
+      metrics.custom_distribution.networking_http_2_download_throughput_50_100,
+      metrics.custom_distribution.javascript_gc_effectiveness,
+      metrics.custom_distribution.javascript_gc_mark_rate,
+      metrics.custom_distribution.javascript_gc_mmu_50,
+      metrics.custom_distribution.javascript_gc_nursery_promotion_rate,
+      metrics.custom_distribution.javascript_gc_parallel_mark_interruptions,
+      metrics.custom_distribution.javascript_gc_parallel_mark_speedup,
+      metrics.custom_distribution.javascript_gc_parallel_mark_utilization,
+      metrics.custom_distribution.javascript_gc_pretenure_count,
+      metrics.custom_distribution.javascript_gc_slice_count,
+      metrics.custom_distribution.javascript_gc_tenured_survival_rate,
+      metrics.custom_distribution.javascript_gc_zone_count,
+      metrics.custom_distribution.javascript_gc_zones_collected
     ) AS `custom_distribution`,
     STRUCT(
       metrics.labeled_counter.crash_metrics_crash_count,
@@ -3691,7 +3789,20 @@
       metrics.labeled_counter.networking_captive_portal_banner_display_time,
       metrics.labeled_counter.networking_https_record_state,
       metrics.labeled_counter.networking_https_http_or_local,
-      metrics.labeled_counter.networking_http_ip_addr_any_hostnames
+      metrics.labeled_counter.networking_http_ip_addr_any_hostnames,
+      metrics.labeled_counter.javascript_gc_budget_was_increased,
+      metrics.labeled_counter.javascript_gc_is_zone_gc,
+      metrics.labeled_counter.javascript_gc_minor_reason,
+      metrics.labeled_counter.javascript_gc_minor_reason_long,
+      metrics.labeled_counter.javascript_gc_non_incremental,
+      metrics.labeled_counter.javascript_gc_non_incremental_reason,
+      metrics.labeled_counter.javascript_gc_parallel_mark_used,
+      metrics.labeled_counter.javascript_gc_reason,
+      metrics.labeled_counter.javascript_gc_reset,
+      metrics.labeled_counter.javascript_gc_reset_reason,
+      metrics.labeled_counter.javascript_gc_slice_was_long,
+      metrics.labeled_counter.javascript_gc_slow_phase,
+      metrics.labeled_counter.javascript_gc_slow_task
     ) AS `labeled_counter`,
     STRUCT(
       metrics.quantity.gfx_adapter_primary_ram,
@@ -4059,7 +4170,8 @@
       metrics.memory_distribution.cert_storage_memory,
       metrics.memory_distribution.networking_http_3_udp_datagram_segment_size_received,
       metrics.memory_distribution.networking_http_3_udp_datagram_segment_size_sent,
-      metrics.memory_distribution.networking_http_3_udp_datagram_size_received
+      metrics.memory_distribution.networking_http_3_udp_datagram_size_received,
+      metrics.memory_distribution.javascript_gc_nursery_bytes
     ) AS `memory_distribution`,
     STRUCT(
       metrics.datetime.blocklist_last_modified_rs_addons_mblf,
@@ -4291,7 +4403,9 @@
       metrics.boolean.devtools_shadowdom_reveal_link_clicked,
       metrics.boolean.devtools_shadowdom_shadow_root_displayed,
       metrics.boolean.devtools_shadowdom_shadow_root_expanded,
-      metrics.boolean.formautofill_availability
+      metrics.boolean.formautofill_availability,
+      metrics.boolean.formautofill_os_auth_enabled,
+      metrics.boolean.pwmgr_os_auth_enabled
     ) AS `boolean`,
     STRUCT(
       metrics.counter.events_total_uri_count,
@@ -4522,7 +4636,19 @@
       metrics.custom_distribution.networking_http_1_download_throughput_50_100,
       metrics.custom_distribution.networking_http_2_download_throughput_100,
       metrics.custom_distribution.networking_http_2_download_throughput_10_50,
-      metrics.custom_distribution.networking_http_2_download_throughput_50_100
+      metrics.custom_distribution.networking_http_2_download_throughput_50_100,
+      metrics.custom_distribution.javascript_gc_effectiveness,
+      metrics.custom_distribution.javascript_gc_mark_rate,
+      metrics.custom_distribution.javascript_gc_mmu_50,
+      metrics.custom_distribution.javascript_gc_nursery_promotion_rate,
+      metrics.custom_distribution.javascript_gc_parallel_mark_interruptions,
+      metrics.custom_distribution.javascript_gc_parallel_mark_speedup,
+      metrics.custom_distribution.javascript_gc_parallel_mark_utilization,
+      metrics.custom_distribution.javascript_gc_pretenure_count,
+      metrics.custom_distribution.javascript_gc_slice_count,
+      metrics.custom_distribution.javascript_gc_tenured_survival_rate,
+      metrics.custom_distribution.javascript_gc_zone_count,
+      metrics.custom_distribution.javascript_gc_zones_collected
     ) AS `custom_distribution`,
     STRUCT(
       metrics.labeled_counter.crash_metrics_crash_count,
@@ -4735,7 +4861,20 @@
       metrics.labeled_counter.networking_captive_portal_banner_display_time,
       metrics.labeled_counter.networking_https_record_state,
       metrics.labeled_counter.networking_https_http_or_local,
-      metrics.labeled_counter.networking_http_ip_addr_any_hostnames
+      metrics.labeled_counter.networking_http_ip_addr_any_hostnames,
+      metrics.labeled_counter.javascript_gc_budget_was_increased,
+      metrics.labeled_counter.javascript_gc_is_zone_gc,
+      metrics.labeled_counter.javascript_gc_minor_reason,
+      metrics.labeled_counter.javascript_gc_minor_reason_long,
+      metrics.labeled_counter.javascript_gc_non_incremental,
+      metrics.labeled_counter.javascript_gc_non_incremental_reason,
+      metrics.labeled_counter.javascript_gc_parallel_mark_used,
+      metrics.labeled_counter.javascript_gc_reason,
+      metrics.labeled_counter.javascript_gc_reset,
+      metrics.labeled_counter.javascript_gc_reset_reason,
+      metrics.labeled_counter.javascript_gc_slice_was_long,
+      metrics.labeled_counter.javascript_gc_slow_phase,
+      metrics.labeled_counter.javascript_gc_slow_task
     ) AS `labeled_counter`,
     STRUCT(
       metrics.quantity.gfx_adapter_primary_ram,
@@ -5103,7 +5242,8 @@
       metrics.memory_distribution.cert_storage_memory,
       metrics.memory_distribution.networking_http_3_udp_datagram_segment_size_received,
       metrics.memory_distribution.networking_http_3_udp_datagram_segment_size_sent,
-      metrics.memory_distribution.networking_http_3_udp_datagram_size_received
+      metrics.memory_distribution.networking_http_3_udp_datagram_size_received,
+      metrics.memory_distribution.javascript_gc_nursery_bytes
     ) AS `memory_distribution`,
     STRUCT(
       metrics.datetime.blocklist_last_modified_rs_addons_mblf,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/new_profile_clients/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/new_profile_clients/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/new_profile_clients/schema.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/new_profile_clients/schema.yaml	2025-01-16 15:47:33.000000000 +0000
@@ -0,0 +1,94 @@
+fields:
+- name: client_id
+  type: STRING
+  mode: NULLABLE
+- name: first_seen_date
+  type: DATE
+  mode: NULLABLE
+- name: normalized_channel
+  type: STRING
+  mode: NULLABLE
+- name: app_name
+  type: STRING
+  mode: NULLABLE
+- name: app_version
+  type: STRING
+  mode: NULLABLE
+- name: country
+  type: STRING
+  mode: NULLABLE
+- name: locale
+  type: STRING
+  mode: NULLABLE
+- name: isp
+  type: STRING
+  mode: NULLABLE
+- name: os
+  type: STRING
+  mode: NULLABLE
+- name: os_version
+  type: STRING
+  mode: NULLABLE
+- name: device_model
+  type: STRING
+  mode: NULLABLE
+- name: device_manufacturer
+  type: STRING
+  mode: NULLABLE
+- name: is_mobile
+  type: BOOLEAN
+  mode: NULLABLE
+- name: play_store_attribution_campaign
+  type: STRING
+  mode: NULLABLE
+- name: play_store_attribution_medium
+  type: STRING
+  mode: NULLABLE
+- name: play_store_attribution_source
+  type: STRING
+  mode: NULLABLE
+- name: play_store_attribution_timestamp
+  type: TIMESTAMP
+  mode: NULLABLE
+- name: play_store_attribution_content
+  type: STRING
+  mode: NULLABLE
+- name: play_store_attribution_term
+  type: STRING
+  mode: NULLABLE
+- name: play_store_attribution_install_referrer_response
+  type: STRING
+  mode: NULLABLE
+- name: meta_attribution_app
+  type: STRING
+  mode: NULLABLE
+- name: meta_attribution_timestamp
+  type: TIMESTAMP
+  mode: NULLABLE
+- name: install_source
+  type: STRING
+  mode: NULLABLE
+- name: adjust_ad_group
+  type: STRING
+  mode: NULLABLE
+- name: adjust_campaign
+  type: STRING
+  mode: NULLABLE
+- name: adjust_creative
+  type: STRING
+  mode: NULLABLE
+- name: adjust_network
+  type: STRING
+  mode: NULLABLE
+- name: adjust_attribution_timestamp
+  type: TIMESTAMP
+  mode: NULLABLE
+- name: distribution_id
+  type: STRING
+  mode: NULLABLE
+- name: paid_vs_organic
+  type: STRING
+  mode: NULLABLE
+- name: device_type
+  type: STRING
+  mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/new_profiles/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/new_profiles/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/new_profiles/schema.yaml	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/new_profiles/schema.yaml	2025-01-16 15:47:34.000000000 +0000
@@ -84,6 +84,13 @@
   type: STRING
   mode: NULLABLE
   description: A string containing the distribution identifier.
+- name: device_type
+  type: STRING
+  mode: NULLABLE
+  description: 'On Apple devices allows us to differentiate between iPhone and iPad.
+    On Android devices the value is always "Android".
+
+    '
 - name: paid_vs_organic
   type: STRING
   mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/retention/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/retention/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/retention/schema.yaml	2025-01-16 15:37:55.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/retention/schema.yaml	2025-01-16 15:47:28.000000000 +0000
@@ -104,6 +104,19 @@
   type: STRING
   mode: NULLABLE
   description: A string containing the distribution identifier.
+- name: device_type
+  type: STRING
+  mode: NULLABLE
+  description: 'On Apple devices allows us to differentiate between iPhone and iPad.
+    On Android dev

⚠️ Only part of the diff is displayed.

Link to full diff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants