Skip to content

Commit

Permalink
Create aggregate tables for Firefox Health Indicator dashboard (#6665)
Browse files Browse the repository at this point in the history
* Create 2 new tables from Firefox health indicator dashboard

* Fix dag name

* Add schema.yaml

* Fix dags.yaml indentation

* Add cluster column

* Add new table fx_health_ind_win_instll_by_instll_typ_v1

* Add fx_health_ind_win_uninstll_v1

* Update metadata.yaml

* Fix query

* Update labels

* Add fx_health_ind_mau_per_os

* Make partition filter not required

* Update start date
  • Loading branch information
kwindau authored Dec 13, 2024
1 parent f4891c3 commit a50f5aa
Show file tree
Hide file tree
Showing 20 changed files with 324 additions and 0 deletions.
19 changes: 19 additions & 0 deletions dags.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1959,3 +1959,22 @@ bqetl_newtab_engagement_hourly:
retry_delay: 5m
tags:
- impact/tier_2

bqetl_fx_health_ind_dashboard:
description: |
This DAG builds aggregate tables used in the Firefox Health dashboard
default_args:
depends_on_past: false
owner: [email protected]
email:
- [email protected]
- [email protected]
email_on_failure: true
email_on_retry: false
start_date: "2024-12-13"
retries: 2
retry_delay: 5m
tags:
- impact/tier_2
repo: bigquery-etl
schedule_interval: 0 16 * * *
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CREATE OR REPLACE VIEW
`moz-fx-data-shared-prod.telemetry.fx_health_ind_desktop_dau_by_device_type`
AS
SELECT
*
FROM
`moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_desktop_dau_by_device_type_v1`
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CREATE OR REPLACE VIEW
`moz-fx-data-shared-prod.telemetry.fx_health_ind_fqueze_cpu_info`
AS
SELECT
*
FROM
`moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_fqueze_cpu_info_v1`
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CREATE OR REPLACE VIEW
`moz-fx-data-shared-prod.telemetry.fx_health_ind_mau_per_os`
AS
SELECT
*
FROM
`moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_mau_per_os_v1`
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CREATE OR REPLACE VIEW
`moz-fx-data-shared-prod.telemetry.fx_health_ind_win_instll_by_instll_typ`
AS
SELECT
*
FROM
`moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_win_instll_by_instll_typ_v1`
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CREATE OR REPLACE VIEW
`moz-fx-data-shared-prod.telemetry.fx_health_ind_win_uninstll`
AS
SELECT
*
FROM
`moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_win_uninstll_v1`
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
friendly_name: Fx Health Ind Desktop Dau By Device Type
description: |-
Aggregate table that calculates desktop DAU by device type
owners:
- [email protected]
labels:
incremental: true
owner1: [email protected]
table_type: aggregate
shredder_mitigation: true
scheduling:
dag_name: bqetl_fx_health_ind_dashboard
bigquery:
time_partitioning:
type: day
field: submission_date
require_partition_filter: false
expiration_days: null
range_partitioning: null
clustering:
fields:
- TDP
references: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
SELECT
DATE(t.submission_timestamp) AS submission_date,
cpu.cpu_type AS TDP,
100 * COUNT(DISTINCT(client_id)) AS users
FROM
`moz-fx-data-shared-prod.telemetry.main_1pct` AS t
JOIN
`moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_fqueze_cpu_info_v1` AS cpu
ON cpu.cpu_name = environment.system.cpu.name
AND environment.system.cpu.name IS NOT NULL
WHERE
DATE(t.submission_timestamp) = @submission_date
GROUP BY
DATE(t.submission_timestamp),
cpu.cpu_type
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
fields:
- mode: NULLABLE
name: submission_date
type: DATE
description: Submission Date
- mode: NULLABLE
name: TDP
type: STRING
description: TDP
- mode: NULLABLE
name: users
type: INTEGER
description: Number of Users
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
friendly_name: Fx Health Ind Fqueze Cpu Info
description: |-
Static table of CPU Information used in Firefox Health Indicators dashboard
owners:
- [email protected]
labels:
incremental: true
owner1: [email protected]
bigquery:
range_partitioning: null
clustering:
fields:
- cpu_name
references: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
fields:
- mode: REQUIRED
name: cpu_name
type: STRING
description: CPU Name
- mode: REQUIRED
name: cpu_tdp
type: FLOAT
description: CPU TDP
- mode: REQUIRED
name: cpu_cores
type: INTEGER
description: CPU Cores
- mode: NULLABLE
name: cpu_type
type: STRING
description: CPU Type
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
friendly_name: Fx Health Indicator Mau by OS
description: |-
Aggregate table calculating MAU and DAU per OS
owners:
- [email protected]
labels:
incremental: true
owner1: [email protected]
table_type: aggregate
scheduling:
dag_name: bqetl_fx_health_ind_dashboard
bigquery:
time_partitioning:
type: day
field: submission_date
require_partition_filter: false
expiration_days: null
range_partitioning: null
clustering:
fields:
- os
references: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
WITH sample_cte AS (
SELECT
submission_date,
os,
SUM(dau) AS tot_dau,
SUM(mau) AS tot_mau
FROM
`moz-fx-data-shared-prod.telemetry.active_users_aggregates` --telemetry.firefox_desktop_exact_mau28_by_client_count_dimensions
WHERE
app_name = 'Firefox Desktop'
AND submission_date
BETWEEN DATE_SUB(@submission_date, INTERVAL 6 DAY)
AND @submission_date
GROUP BY
submission_date,
os
HAVING
SUM(mau) > 1000
),
smoothed AS (
SELECT
*,
AVG(tot_dau) OVER (
PARTITION BY
os
ORDER BY
submission_date
ROWS BETWEEN
6 PRECEDING
AND 0 FOLLOWING
) AS smoothed_dau,
COUNT(1) OVER (
PARTITION BY
os
ORDER BY
submission_date
ROWS BETWEEN
6 PRECEDING
AND 0 FOLLOWING
) AS nbr_Days_included
FROM
sample_cte
)
SELECT
submission_date,
os,
tot_dau AS dau,
tot_mau AS mau,
smoothed_dau,
smoothed_dau / tot_mau AS ER
FROM
smoothed
WHERE
nbr_days_included = 7 --only include those operating systems that have at least 1000 MAU on all 7 days
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
fields:
- mode: NULLABLE
name: submission_date
type: DATE
description: Submission Date
- mode: NULLABLE
name: os
type: STRING
description: Operating System
- mode: NULLABLE
name: dau
type: INTEGER
description: DAU
- mode: NULLABLE
name: mau
type: INTEGER
description: MAU
- mode: NULLABLE
name: smoothed_dau
type: FLOAT
description: Smoothed DAU
- mode: NULLABLE
name: ER
type: FLOAT
description: ER - Smoothed DAU Divided by MAU
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
friendly_name: Firefox Health Indicator Windows Installs
description: |-
Aggregate table of windows installs by installer type, used in Firefox Health dashboard
owners:
- [email protected]
labels:
incremental: true
owner1: [email protected]
table_type: aggregate
shredder_mitigation: true
scheduling:
dag_name: bqetl_fx_health_ind_dashboard
bigquery:
time_partitioning:
type: day
field: submission_date
require_partition_filter: false
expiration_days: null
range_partitioning: null
clustering:
fields:
- installer_type
references: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
SELECT
CAST(submission_timestamp AS DATE) AS submission_date,
installer_type,
COUNT(1) AS install_count,
FROM
`moz-fx-data-shared-prod.firefox_installer.install`
WHERE
DATE(submission_timestamp) = @submission_date
AND update_channel = 'release'
GROUP BY
CAST(submission_timestamp AS DATE),
installer_type
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
fields:
- mode: NULLABLE
name: submission_date
type: DATE
description: Submission Date
- mode: NULLABLE
name: installer_type
type: STRING
description: Installer Type
- mode: NULLABLE
name: install_count
type: INTEGER
description: Install Count
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
friendly_name: Fx Health Ind Win Uninstll
description: |-
Aggregate view of Windows uninstalls by day
owners:
- [email protected]
labels:
incremental: true
owner1: [email protected]
table_type: aggregate
scheduling:
dag_name: bqetl_fx_health_ind_dashboard
bigquery:
time_partitioning:
type: day
field: submission_date
require_partition_filter: false
expiration_days: null
range_partitioning: null
references: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
SELECT
DATE(submission_timestamp) AS submission_date,
COUNT(DISTINCT(client_id)) AS uninstall_client_count
FROM
`moz-fx-data-shared-prod.telemetry.uninstall`
WHERE
DATE(submission_timestamp) = @submission_date
AND application.name = 'Firefox'
AND application.channel = 'release'
GROUP BY
DATE(submission_timestamp)
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
fields:
- mode: NULLABLE
name: submission_date
type: DATE
description: Submission Date
- mode: NULLABLE
name: uninstall_client_count
type: INTEGER
description: Count of Clients with Uninstalls

1 comment on commit a50f5aa

@dataops-ci-bot
Copy link

Choose a reason for hiding this comment

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

Integration report for "Create aggregate tables for Firefox Health Indicator dashboard (#6665)"

sql.diff

Click to expand!
Only in /tmp/workspace/generated-sql/dags/: bqetl_fx_health_ind_dashboard.py
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_analytics_aggregations.py /tmp/workspace/generated-sql/dags/bqetl_analytics_aggregations.py
--- /tmp/workspace/main-generated-sql/dags/bqetl_analytics_aggregations.py	2024-12-13 17:41:38.000000000 +0000
+++ /tmp/workspace/generated-sql/dags/bqetl_analytics_aggregations.py	2024-12-13 17:42:52.000000000 +0000
@@ -473,6 +473,13 @@
         "checks__fail_fenix_derived__active_users_aggregates__v3_external",
     ) as checks__fail_fenix_derived__active_users_aggregates__v3_external:
         ExternalTaskMarker(
+            task_id="bqetl_fx_health_ind_dashboard__wait_for_checks__fail_fenix_derived__active_users_aggregates__v3",
+            external_dag_id="bqetl_fx_health_ind_dashboard",
+            external_task_id="wait_for_checks__fail_fenix_derived__active_users_aggregates__v3",
+            execution_date="{{ (execution_date - macros.timedelta(days=-1, seconds=44100)).isoformat() }}",
+        )
+
+        ExternalTaskMarker(
             task_id="bqetl_dynamic_dau__wait_for_checks__fail_fenix_derived__active_users_aggregates__v3",
             external_dag_id="bqetl_dynamic_dau",
             external_task_id="wait_for_checks__fail_fenix_derived__active_users_aggregates__v3",
@@ -504,6 +511,13 @@
         "checks__fail_firefox_ios_derived__active_users_aggregates__v3_external",
     ) as checks__fail_firefox_ios_derived__active_users_aggregates__v3_external:
         ExternalTaskMarker(
+            task_id="bqetl_fx_health_ind_dashboard__wait_for_checks__fail_firefox_ios_derived__active_users_aggregates__v3",
+            external_dag_id="bqetl_fx_health_ind_dashboard",
+            external_task_id="wait_for_checks__fail_firefox_ios_derived__active_users_aggregates__v3",
+            execution_date="{{ (execution_date - macros.timedelta(days=-1, seconds=44100)).isoformat() }}",
+        )
+
+        ExternalTaskMarker(
             task_id="bqetl_dynamic_dau__wait_for_checks__fail_firefox_ios_derived__active_users_aggregates__v3",
             external_dag_id="bqetl_dynamic_dau",
             external_task_id="wait_for_checks__fail_firefox_ios_derived__active_users_aggregates__v3",
@@ -535,6 +549,13 @@
         "checks__fail_focus_android_derived__active_users_aggregates__v3_external",
     ) as checks__fail_focus_android_derived__active_users_aggregates__v3_external:
         ExternalTaskMarker(
+            task_id="bqetl_fx_health_ind_dashboard__wait_for_checks__fail_focus_android_derived__active_users_aggregates__v3",
+            external_dag_id="bqetl_fx_health_ind_dashboard",
+            external_task_id="wait_for_checks__fail_focus_android_derived__active_users_aggregates__v3",
+            execution_date="{{ (execution_date - macros.timedelta(days=-1, seconds=44100)).isoformat() }}",
+        )
+
+        ExternalTaskMarker(
             task_id="bqetl_dynamic_dau__wait_for_checks__fail_focus_android_derived__active_users_aggregates__v3",
             external_dag_id="bqetl_dynamic_dau",
             external_task_id="wait_for_checks__fail_focus_android_derived__active_users_aggregates__v3",
@@ -566,6 +587,13 @@
         "checks__fail_focus_ios_derived__active_users_aggregates__v3_external",
     ) as checks__fail_focus_ios_derived__active_users_aggregates__v3_external:
         ExternalTaskMarker(
+            task_id="bqetl_fx_health_ind_dashboard__wait_for_checks__fail_focus_ios_derived__active_users_aggregates__v3",
+            external_dag_id="bqetl_fx_health_ind_dashboard",
+            external_task_id="wait_for_checks__fail_focus_ios_derived__active_users_aggregates__v3",
+            execution_date="{{ (execution_date - macros.timedelta(days=-1, seconds=44100)).isoformat() }}",
+        )
+
+        ExternalTaskMarker(
             task_id="bqetl_dynamic_dau__wait_for_checks__fail_focus_ios_derived__active_users_aggregates__v3",
             external_dag_id="bqetl_dynamic_dau",
             external_task_id="wait_for_checks__fail_focus_ios_derived__active_users_aggregates__v3",
@@ -597,6 +625,13 @@
         "checks__fail_klar_android_derived__active_users_aggregates__v3_external",
     ) as checks__fail_klar_android_derived__active_users_aggregates__v3_external:
         ExternalTaskMarker(
+            task_id="bqetl_fx_health_ind_dashboard__wait_for_checks__fail_klar_android_derived__active_users_aggregates__v3",
+            external_dag_id="bqetl_fx_health_ind_dashboard",
+            external_task_id="wait_for_checks__fail_klar_android_derived__active_users_aggregates__v3",
+            execution_date="{{ (execution_date - macros.timedelta(days=-1, seconds=44100)).isoformat() }}",
+        )
+
+        ExternalTaskMarker(
             task_id="bqetl_dynamic_dau__wait_for_checks__fail_klar_android_derived__active_users_aggregates__v3",
             external_dag_id="bqetl_dynamic_dau",
             external_task_id="wait_for_checks__fail_klar_android_derived__active_users_aggregates__v3",
@@ -628,6 +663,13 @@
         "checks__fail_klar_ios_derived__active_users_aggregates__v3_external",
     ) as checks__fail_klar_ios_derived__active_users_aggregates__v3_external:
         ExternalTaskMarker(
+            task_id="bqetl_fx_health_ind_dashboard__wait_for_checks__fail_klar_ios_derived__active_users_aggregates__v3",
+            external_dag_id="bqetl_fx_health_ind_dashboard",
+            external_task_id="wait_for_checks__fail_klar_ios_derived__active_users_aggregates__v3",
+            execution_date="{{ (execution_date - macros.timedelta(days=-1, seconds=44100)).isoformat() }}",
+        )
+
+        ExternalTaskMarker(
             task_id="bqetl_dynamic_dau__wait_for_checks__fail_klar_ios_derived__active_users_aggregates__v3",
             external_dag_id="bqetl_dynamic_dau",
             external_task_id="wait_for_checks__fail_klar_ios_derived__active_users_aggregates__v3",
@@ -826,6 +868,13 @@
         "firefox_desktop_active_users_aggregates_v4_external",
     ) as firefox_desktop_active_users_aggregates_v4_external:
         ExternalTaskMarker(
+            task_id="bqetl_fx_health_ind_dashboard__wait_for_firefox_desktop_active_users_aggregates_v4",
+            external_dag_id="bqetl_fx_health_ind_dashboard",
+            external_task_id="wait_for_firefox_desktop_active_users_aggregates_v4",
+            execution_date="{{ (execution_date - macros.timedelta(days=-1, seconds=44100)).isoformat() }}",
+        )
+
+        ExternalTaskMarker(
             task_id="bqetl_dynamic_dau__wait_for_firefox_desktop_active_users_aggregates_v4",
             external_dag_id="bqetl_dynamic_dau",
             external_task_id="wait_for_firefox_desktop_active_users_aggregates_v4",
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_fx_health_ind_dashboard.py /tmp/workspace/generated-sql/dags/bqetl_fx_health_ind_dashboard.py
--- /tmp/workspace/main-generated-sql/dags/bqetl_fx_health_ind_dashboard.py	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/dags/bqetl_fx_health_ind_dashboard.py	2024-12-13 17:42:55.000000000 +0000
@@ -0,0 +1,258 @@
+# Generated via https://github.com/mozilla/bigquery-etl/blob/main/bigquery_etl/query_scheduling/generate_airflow_dags.py
+
+from airflow import DAG
+from airflow.sensors.external_task import ExternalTaskMarker
+from airflow.sensors.external_task import ExternalTaskSensor
+from airflow.utils.task_group import TaskGroup
+import datetime
+from operators.gcp_container_operator import GKEPodOperator
+from utils.constants import ALLOWED_STATES, FAILED_STATES
+from utils.gcp import bigquery_etl_query, bigquery_dq_check, bigquery_bigeye_check
+
+docs = """
+### bqetl_fx_health_ind_dashboard
+
+Built from bigquery-etl repo, [`dags/bqetl_fx_health_ind_dashboard.py`](https://github.com/mozilla/bigquery-etl/blob/generated-sql/dags/bqetl_fx_health_ind_dashboard.py)
+
+#### Description
+
+This DAG builds aggregate tables used in the Firefox Health dashboard
+
+#### Owner
+
+[email protected]
+
+#### Tags
+
+* impact/tier_2
+* repo/bigquery-etl
+"""
+
+
+default_args = {
+    "owner": "[email protected]",
+    "start_date": datetime.datetime(2024, 12, 13, 0, 0),
+    "end_date": None,
+    "email": ["[email protected]", "[email protected]"],
+    "depends_on_past": False,
+    "retry_delay": datetime.timedelta(seconds=300),
+    "email_on_failure": True,
+    "email_on_retry": False,
+    "retries": 2,
+}
+
+tags = ["impact/tier_2", "repo/bigquery-etl"]
+
+with DAG(
+    "bqetl_fx_health_ind_dashboard",
+    default_args=default_args,
+    schedule_interval="0 16 * * *",
+    doc_md=docs,
+    tags=tags,
+) as dag:
+
+    wait_for_telemetry_derived__main_remainder_1pct__v1 = ExternalTaskSensor(
+        task_id="wait_for_telemetry_derived__main_remainder_1pct__v1",
+        external_dag_id="bqetl_main_summary",
+        external_task_id="telemetry_derived__main_remainder_1pct__v1",
+        execution_delta=datetime.timedelta(seconds=50400),
+        check_existence=True,
+        mode="reschedule",
+        poke_interval=datetime.timedelta(minutes=5),
+        allowed_states=ALLOWED_STATES,
+        failed_states=FAILED_STATES,
+        pool="DATA_ENG_EXTERNALTASKSENSOR",
+    )
+
+    wait_for_checks__fail_fenix_derived__active_users_aggregates__v3 = (
+        ExternalTaskSensor(
+            task_id="wait_for_checks__fail_fenix_derived__active_users_aggregates__v3",
+            external_dag_id="bqetl_analytics_aggregations",
+            external_task_id="checks__fail_fenix_derived__active_users_aggregates__v3",
+            execution_delta=datetime.timedelta(seconds=42300),
+            check_existence=True,
+            mode="reschedule",
+            poke_interval=datetime.timedelta(minutes=5),
+            allowed_states=ALLOWED_STATES,
+            failed_states=FAILED_STATES,
+            pool="DATA_ENG_EXTERNALTASKSENSOR",
+        )
+    )
+
+    wait_for_checks__fail_firefox_ios_derived__active_users_aggregates__v3 = ExternalTaskSensor(
+        task_id="wait_for_checks__fail_firefox_ios_derived__active_users_aggregates__v3",
+        external_dag_id="bqetl_analytics_aggregations",
+        external_task_id="checks__fail_firefox_ios_derived__active_users_aggregates__v3",
+        execution_delta=datetime.timedelta(seconds=42300),
+        check_existence=True,
+        mode="reschedule",
+        poke_interval=datetime.timedelta(minutes=5),
+        allowed_states=ALLOWED_STATES,
+        failed_states=FAILED_STATES,
+        pool="DATA_ENG_EXTERNALTASKSENSOR",
+    )
+
+    wait_for_checks__fail_focus_android_derived__active_users_aggregates__v3 = ExternalTaskSensor(
+        task_id="wait_for_checks__fail_focus_android_derived__active_users_aggregates__v3",
+        external_dag_id="bqetl_analytics_aggregations",
+        external_task_id="checks__fail_focus_android_derived__active_users_aggregates__v3",
+        execution_delta=datetime.timedelta(seconds=42300),
+        check_existence=True,
+        mode="reschedule",
+        poke_interval=datetime.timedelta(minutes=5),
+        allowed_states=ALLOWED_STATES,
+        failed_states=FAILED_STATES,
+        pool="DATA_ENG_EXTERNALTASKSENSOR",
+    )
+
+    wait_for_checks__fail_focus_ios_derived__active_users_aggregates__v3 = ExternalTaskSensor(
+        task_id="wait_for_checks__fail_focus_ios_derived__active_users_aggregates__v3",
+        external_dag_id="bqetl_analytics_aggregations",
+        external_task_id="checks__fail_focus_ios_derived__active_users_aggregates__v3",
+        execution_delta=datetime.timedelta(seconds=42300),
+        check_existence=True,
+        mode="reschedule",
+        poke_interval=datetime.timedelta(minutes=5),
+        allowed_states=ALLOWED_STATES,
+        failed_states=FAILED_STATES,
+        pool="DATA_ENG_EXTERNALTASKSENSOR",
+    )
+
+    wait_for_checks__fail_klar_android_derived__active_users_aggregates__v3 = ExternalTaskSensor(
+        task_id="wait_for_checks__fail_klar_android_derived__active_users_aggregates__v3",
+        external_dag_id="bqetl_analytics_aggregations",
+        external_task_id="checks__fail_klar_android_derived__active_users_aggregates__v3",
+        execution_delta=datetime.timedelta(seconds=42300),
+        check_existence=True,
+        mode="reschedule",
+        poke_interval=datetime.timedelta(minutes=5),
+        allowed_states=ALLOWED_STATES,
+        failed_states=FAILED_STATES,
+        pool="DATA_ENG_EXTERNALTASKSENSOR",
+    )
+
+    wait_for_checks__fail_klar_ios_derived__active_users_aggregates__v3 = ExternalTaskSensor(
+        task_id="wait_for_checks__fail_klar_ios_derived__active_users_aggregates__v3",
+        external_dag_id="bqetl_analytics_aggregations",
+        external_task_id="checks__fail_klar_ios_derived__active_users_aggregates__v3",
+        execution_delta=datetime.timedelta(seconds=42300),
+        check_existence=True,
+        mode="reschedule",
+        poke_interval=datetime.timedelta(minutes=5),
+        allowed_states=ALLOWED_STATES,
+        failed_states=FAILED_STATES,
+        pool="DATA_ENG_EXTERNALTASKSENSOR",
+    )
+
+    wait_for_firefox_desktop_active_users_aggregates_v4 = ExternalTaskSensor(
+        task_id="wait_for_firefox_desktop_active_users_aggregates_v4",
+        external_dag_id="bqetl_analytics_aggregations",
+        external_task_id="firefox_desktop_active_users_aggregates_v4",
+        execution_delta=datetime.timedelta(seconds=42300),
+        check_existence=True,
+        mode="reschedule",
+        poke_interval=datetime.timedelta(minutes=5),
+        allowed_states=ALLOWED_STATES,
+        failed_states=FAILED_STATES,
+        pool="DATA_ENG_EXTERNALTASKSENSOR",
+    )
+
+    wait_for_copy_deduplicate_all = ExternalTaskSensor(
+        task_id="wait_for_copy_deduplicate_all",
+        external_dag_id="copy_deduplicate",
+        external_task_id="copy_deduplicate_all",
+        execution_delta=datetime.timedelta(seconds=54000),
+        check_existence=True,
+        mode="reschedule",
+        poke_interval=datetime.timedelta(minutes=5),
+        allowed_states=ALLOWED_STATES,
+        failed_states=FAILED_STATES,
+        pool="DATA_ENG_EXTERNALTASKSENSOR",
+    )
+
+    telemetry_derived__fx_health_ind_desktop_dau_by_device_type__v1 = (
+        bigquery_etl_query(
+            task_id="telemetry_derived__fx_health_ind_desktop_dau_by_device_type__v1",
+            destination_table="fx_health_ind_desktop_dau_by_device_type_v1",
+            dataset_id="telemetry_derived",
+            project_id="moz-fx-data-shared-prod",
+            owner="[email protected]",
+            email=["[email protected]", "[email protected]"],
+            date_partition_parameter="submission_date",
+            depends_on_past=False,
+        )
+    )
+
+    telemetry_derived__fx_health_ind_mau_per_os__v1 = bigquery_etl_query(
+        task_id="telemetry_derived__fx_health_ind_mau_per_os__v1",
+        destination_table='fx_health_ind_mau_per_os_v1${{ macros.ds_format(macros.ds_add(ds, -1), "%Y-%m-%d", "%Y%m%d") }}',
+        dataset_id="telemetry_derived",
+        project_id="moz-fx-data-shared-prod",
+        owner="[email protected]",
+        email=["[email protected]", "[email protected]"],
+        date_partition_parameter=None,
+        depends_on_past=False,
+        parameters=["submission_date:DATE:{{macros.ds_add(ds, -1)}}"],
+    )
+
+    telemetry_derived__fx_health_ind_win_instll_by_instll_typ__v1 = bigquery_etl_query(
+        task_id="telemetry_derived__fx_health_ind_win_instll_by_instll_typ__v1",
+        destination_table="fx_health_ind_win_instll_by_instll_typ_v1",
+        dataset_id="telemetry_derived",
+        project_id="moz-fx-data-shared-prod",
+        owner="[email protected]",
+        email=["[email protected]", "[email protected]"],
+        date_partition_parameter="submission_date",
+        depends_on_past=False,
+    )
+
+    telemetry_derived__fx_health_ind_win_uninstll__v1 = bigquery_etl_query(
+        task_id="telemetry_derived__fx_health_ind_win_uninstll__v1",
+        destination_table="fx_health_ind_win_uninstll_v1",
+        dataset_id="telemetry_derived",
+        project_id="moz-fx-data-shared-prod",
+        owner="[email protected]",
+        email=["[email protected]", "[email protected]"],
+        date_partition_parameter="submission_date",
+        depends_on_past=False,
+    )
+
+    telemetry_derived__fx_health_ind_desktop_dau_by_device_type__v1.set_upstream(
+        wait_for_telemetry_derived__main_remainder_1pct__v1
+    )
+
+    telemetry_derived__fx_health_ind_mau_per_os__v1.set_upstream(
+        wait_for_checks__fail_fenix_derived__active_users_aggregates__v3
+    )
+
+    telemetry_derived__fx_health_ind_mau_per_os__v1.set_upstream(
+        wait_for_checks__fail_firefox_ios_derived__active_users_aggregates__v3
+    )
+
+    telemetry_derived__fx_health_ind_mau_per_os__v1.set_upstream(
+        wait_for_checks__fail_focus_android_derived__active_users_aggregates__v3
+    )
+
+    telemetry_derived__fx_health_ind_mau_per_os__v1.set_upstream(
+        wait_for_checks__fail_focus_ios_derived__active_users_aggregates__v3
+    )
+
+    telemetry_derived__fx_health_ind_mau_per_os__v1.set_upstream(
+        wait_for_checks__fail_klar_android_derived__active_users_aggregates__v3
+    )
+
+    telemetry_derived__fx_health_ind_mau_per_os__v1.set_upstream(
+        wait_for_checks__fail_klar_ios_derived__active_users_aggregates__v3
+    )
+
+    telemetry_derived__fx_health_ind_mau_per_os__v1.set_upstream(
+        wait_for_firefox_desktop_active_users_aggregates_v4
+    )
+
+    telemetry_derived__fx_health_ind_win_instll_by_instll_typ__v1.set_upstream(
+        wait_for_copy_deduplicate_all
+    )
+
+    telemetry_derived__fx_health_ind_win_uninstll__v1.set_upstream(
+        wait_for_copy_deduplicate_all
+    )
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	2024-12-13 17:41:38.000000000 +0000
+++ /tmp/workspace/generated-sql/dags/bqetl_main_summary.py	2024-12-13 17:42:48.000000000 +0000
@@ -715,6 +715,13 @@
             execution_date="{{ (execution_date - macros.timedelta(days=-1, seconds=75600)).isoformat() }}",
         )
 
+        ExternalTaskMarker(
+            task_id="bqetl_fx_health_ind_dashboard__wait_for_telemetry_derived__main_remainder_1pct__v1",
+            external_dag_id="bqetl_fx_health_ind_dashboard",
+            external_task_id="wait_for_telemetry_derived__main_remainder_1pct__v1",
+            execution_date="{{ (execution_date - macros.timedelta(days=-1, seconds=36000)).isoformat() }}",
+        )
+
         telemetry_derived__main_remainder_1pct__v1_external.set_upstream(
             telemetry_derived__main_remainder_1pct__v1
         )
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry: fx_health_ind_desktop_dau_by_device_type
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry: fx_health_ind_fqueze_cpu_info
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry: fx_health_ind_mau_per_os
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry: fx_health_ind_win_instll_by_instll_typ
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry: fx_health_ind_win_uninstll
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived: fx_health_ind_desktop_dau_by_device_type_v1
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived: fx_health_ind_fqueze_cpu_info_v1
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived: fx_health_ind_mau_per_os_v1
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived: fx_health_ind_win_instll_by_instll_typ_v1
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived: fx_health_ind_win_uninstll_v1
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_desktop_dau_by_device_type/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_desktop_dau_by_device_type/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_desktop_dau_by_device_type/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_desktop_dau_by_device_type/metadata.yaml	2024-12-13 17:37:54.000000000 +0000
@@ -0,0 +1,14 @@
+friendly_name: Fx Health Ind Desktop Dau By Device Type
+description: |-
+  Please provide a description for the query
+owners: []
+labels: {}
+bigquery: null
+workgroup_access:
+- role: roles/bigquery.dataViewer
+  members:
+  - workgroup:dataops-managed/taar
+  - workgroup:mozilla-confidential
+references:
+  view.sql:
+  - moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_desktop_dau_by_device_type_v1
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_desktop_dau_by_device_type/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_desktop_dau_by_device_type/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_desktop_dau_by_device_type/view.sql	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_desktop_dau_by_device_type/view.sql	2024-12-13 17:35:47.000000000 +0000
@@ -0,0 +1,7 @@
+CREATE OR REPLACE VIEW
+  `moz-fx-data-shared-prod.telemetry.fx_health_ind_desktop_dau_by_device_type`
+AS
+SELECT
+  *
+FROM
+  `moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_desktop_dau_by_device_type_v1`
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_fqueze_cpu_info/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_fqueze_cpu_info/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_fqueze_cpu_info/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_fqueze_cpu_info/metadata.yaml	2024-12-13 17:37:54.000000000 +0000
@@ -0,0 +1,14 @@
+friendly_name: Fx Health Ind Fqueze Cpu Info
+description: |-
+  Please provide a description for the query
+owners: []
+labels: {}
+bigquery: null
+workgroup_access:
+- role: roles/bigquery.dataViewer
+  members:
+  - workgroup:dataops-managed/taar
+  - workgroup:mozilla-confidential
+references:
+  view.sql:
+  - moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_fqueze_cpu_info_v1
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_fqueze_cpu_info/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_fqueze_cpu_info/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_fqueze_cpu_info/view.sql	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_fqueze_cpu_info/view.sql	2024-12-13 17:35:47.000000000 +0000
@@ -0,0 +1,7 @@
+CREATE OR REPLACE VIEW
+  `moz-fx-data-shared-prod.telemetry.fx_health_ind_fqueze_cpu_info`
+AS
+SELECT
+  *
+FROM
+  `moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_fqueze_cpu_info_v1`
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_mau_per_os/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_mau_per_os/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_mau_per_os/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_mau_per_os/metadata.yaml	2024-12-13 17:37:54.000000000 +0000
@@ -0,0 +1,14 @@
+friendly_name: Fx Health Ind Mau Per Os
+description: |-
+  Please provide a description for the query
+owners: []
+labels: {}
+bigquery: null
+workgroup_access:
+- role: roles/bigquery.dataViewer
+  members:
+  - workgroup:dataops-managed/taar
+  - workgroup:mozilla-confidential
+references:
+  view.sql:
+  - moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_mau_per_os_v1
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_mau_per_os/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_mau_per_os/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_mau_per_os/view.sql	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_mau_per_os/view.sql	2024-12-13 17:35:47.000000000 +0000
@@ -0,0 +1,7 @@
+CREATE OR REPLACE VIEW
+  `moz-fx-data-shared-prod.telemetry.fx_health_ind_mau_per_os`
+AS
+SELECT
+  *
+FROM
+  `moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_mau_per_os_v1`
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_instll_by_instll_typ/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_instll_by_instll_typ/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_instll_by_instll_typ/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_instll_by_instll_typ/metadata.yaml	2024-12-13 17:37:54.000000000 +0000
@@ -0,0 +1,14 @@
+friendly_name: Fx Health Ind Win Instll By Instll Typ
+description: |-
+  Please provide a description for the query
+owners: []
+labels: {}
+bigquery: null
+workgroup_access:
+- role: roles/bigquery.dataViewer
+  members:
+  - workgroup:dataops-managed/taar
+  - workgroup:mozilla-confidential
+references:
+  view.sql:
+  - moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_win_instll_by_instll_typ_v1
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_instll_by_instll_typ/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_instll_by_instll_typ/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_instll_by_instll_typ/view.sql	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_instll_by_instll_typ/view.sql	2024-12-13 17:35:47.000000000 +0000
@@ -0,0 +1,7 @@
+CREATE OR REPLACE VIEW
+  `moz-fx-data-shared-prod.telemetry.fx_health_ind_win_instll_by_instll_typ`
+AS
+SELECT
+  *
+FROM
+  `moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_win_instll_by_instll_typ_v1`
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_uninstll/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_uninstll/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_uninstll/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_uninstll/metadata.yaml	2024-12-13 17:37:54.000000000 +0000
@@ -0,0 +1,14 @@
+friendly_name: Fx Health Ind Win Uninstll
+description: |-
+  Please provide a description for the query
+owners: []
+labels: {}
+bigquery: null
+workgroup_access:
+- role: roles/bigquery.dataViewer
+  members:
+  - workgroup:dataops-managed/taar
+  - workgroup:mozilla-confidential
+references:
+  view.sql:
+  - moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_win_uninstll_v1
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_uninstll/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_uninstll/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_uninstll/view.sql	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry/fx_health_ind_win_uninstll/view.sql	2024-12-13 17:35:47.000000000 +0000
@@ -0,0 +1,7 @@
+CREATE OR REPLACE VIEW
+  `moz-fx-data-shared-prod.telemetry.fx_health_ind_win_uninstll`
+AS
+SELECT
+  *
+FROM
+  `moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_win_uninstll_v1`
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_desktop_dau_by_device_type_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_desktop_dau_by_device_type_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_desktop_dau_by_device_type_v1/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_desktop_dau_by_device_type_v1/metadata.yaml	2024-12-13 17:38:00.000000000 +0000
@@ -0,0 +1,28 @@
+friendly_name: Fx Health Ind Desktop Dau By Device Type
+description: |-
+  Aggregate table that calculates desktop DAU by device type
+owners:
+- [email protected]
+labels:
+  incremental: true
+  owner1: kwindau
+  table_type: aggregate
+  shredder_mitigation: true
+  dag: bqetl_fx_health_ind_dashboard
+scheduling:
+  dag_name: bqetl_fx_health_ind_dashboard
+bigquery:
+  time_partitioning:
+    type: day
+    field: submission_date
+    require_partition_filter: false
+    expiration_days: null
+  range_partitioning: null
+  clustering:
+    fields:
+    - TDP
+workgroup_access:
+- role: roles/bigquery.dataViewer
+  members:
+  - workgroup:mozilla-confidential
+references: {}
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_desktop_dau_by_device_type_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_desktop_dau_by_device_type_v1/query.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_desktop_dau_by_device_type_v1/query.sql	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_desktop_dau_by_device_type_v1/query.sql	2024-12-13 17:35:47.000000000 +0000
@@ -0,0 +1,15 @@
+SELECT
+  DATE(t.submission_timestamp) AS submission_date,
+  cpu.cpu_type AS TDP,
+  100 * COUNT(DISTINCT(client_id)) AS users
+FROM
+  `moz-fx-data-shared-prod.telemetry.main_1pct` AS t
+JOIN
+  `moz-fx-data-shared-prod.telemetry_derived.fx_health_ind_fqueze_cpu_info_v1` AS cpu
+  ON cpu.cpu_name = environment.system.cpu.name
+  AND environment.system.cpu.name IS NOT NULL
+WHERE
+  DATE(t.submission_timestamp) = @submission_date
+GROUP BY
+  DATE(t.submission_timestamp),
+  cpu.cpu_type
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_desktop_dau_by_device_type_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_desktop_dau_by_device_type_v1/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_desktop_dau_by_device_type_v1/schema.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_desktop_dau_by_device_type_v1/schema.yaml	2024-12-13 17:35:47.000000000 +0000
@@ -0,0 +1,13 @@
+fields:
+- mode: NULLABLE
+  name: submission_date
+  type: DATE
+  description: Submission Date
+- mode: NULLABLE
+  name: TDP
+  type: STRING
+  description: TDP
+- mode: NULLABLE
+  name: users
+  type: INTEGER
+  description: Number of Users
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_fqueze_cpu_info_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_fqueze_cpu_info_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_fqueze_cpu_info_v1/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_fqueze_cpu_info_v1/metadata.yaml	2024-12-13 17:38:00.000000000 +0000
@@ -0,0 +1,19 @@
+friendly_name: Fx Health Ind Fqueze Cpu Info
+description: |-
+  Static table of CPU Information used in Firefox Health Indicators dashboard
+owners:
+- [email protected]
+labels:
+  incremental: true
+  owner1: kwindau
+bigquery:
+  time_partitioning: null
+  range_partitioning: null
+  clustering:
+    fields:
+    - cpu_name
+workgroup_access:
+- role: roles/bigquery.dataViewer
+  members:
+  - workgroup:mozilla-confidential
+references: {}
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_fqueze_cpu_info_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_fqueze_cpu_info_v1/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_fqueze_cpu_info_v1/schema.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_fqueze_cpu_info_v1/schema.yaml	2024-12-13 17:35:47.000000000 +0000
@@ -0,0 +1,17 @@
+fields:
+- mode: REQUIRED
+  name: cpu_name
+  type: STRING
+  description: CPU Name
+- mode: REQUIRED
+  name: cpu_tdp
+  type: FLOAT
+  description: CPU TDP
+- mode: REQUIRED
+  name: cpu_cores
+  type: INTEGER
+  description: CPU Cores
+- mode: NULLABLE
+  name: cpu_type
+  type: STRING
+  description: CPU Type
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_mau_per_os_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_mau_per_os_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_mau_per_os_v1/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_mau_per_os_v1/metadata.yaml	2024-12-13 17:38:00.000000000 +0000
@@ -0,0 +1,27 @@
+friendly_name: Fx Health Indicator Mau by OS
+description: |-
+  Aggregate table calculating MAU and DAU per OS
+owners:
+- [email protected]
+labels:
+  incremental: true
+  owner1: kwindau
+  table_type: aggregate
+  dag: bqetl_fx_health_ind_dashboard
+scheduling:
+  dag_name: bqetl_fx_health_ind_dashboard
+bigquery:
+  time_partitioning:
+    type: day
+    field: submission_date
+    require_partition_filter: false
+    expiration_days: null
+  range_partitioning: null
+  clustering:
+    fields:
+    - os
+workgroup_access:
+- role: roles/bigquery.dataViewer
+  members:
+  - workgroup:mozilla-confidential
+references: {}
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_mau_per_os_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_mau_per_os_v1/query.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_mau_per_os_v1/query.sql	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_mau_per_os_v1/query.sql	2024-12-13 17:35:47.000000000 +0000
@@ -0,0 +1,54 @@
+WITH sample_cte AS (
+  SELECT
+    submission_date,
+    os,
+    SUM(dau) AS tot_dau,
+    SUM(mau) AS tot_mau
+  FROM
+    `moz-fx-data-shared-prod.telemetry.active_users_aggregates` --telemetry.firefox_desktop_exact_mau28_by_client_count_dimensions
+  WHERE
+    app_name = 'Firefox Desktop'
+    AND submission_date
+    BETWEEN DATE_SUB(@submission_date, INTERVAL 6 DAY)
+    AND @submission_date
+  GROUP BY
+    submission_date,
+    os
+  HAVING
+    SUM(mau) > 1000
+),
+smoothed AS (
+  SELECT
+    *,
+    AVG(tot_dau) OVER (
+      PARTITION BY
+        os
+      ORDER BY
+        submission_date
+      ROWS BETWEEN
+        6 PRECEDING
+        AND 0 FOLLOWING
+    ) AS smoothed_dau,
+    COUNT(1) OVER (
+      PARTITION BY
+        os
+      ORDER BY
+        submission_date
+      ROWS BETWEEN
+        6 PRECEDING
+        AND 0 FOLLOWING
+    ) AS nbr_Days_included
+  FROM
+    sample_cte
+)
+SELECT
+  submission_date,
+  os,
+  tot_dau AS dau,
+  tot_mau AS mau,
+  smoothed_dau,
+  smoothed_dau / tot_mau AS ER
+FROM
+  smoothed
+WHERE
+  nbr_days_included = 7 --only include those operating systems that have at least 1000 MAU on all 7 days
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_mau_per_os_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_mau_per_os_v1/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_mau_per_os_v1/schema.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_mau_per_os_v1/schema.yaml	2024-12-13 17:35:47.000000000 +0000
@@ -0,0 +1,25 @@
+fields:
+- mode: NULLABLE
+  name: submission_date
+  type: DATE
+  description: Submission Date
+- mode: NULLABLE
+  name: os
+  type: STRING
+  description: Operating System
+- mode: NULLABLE
+  name: dau
+  type: INTEGER
+  description: DAU
+- mode: NULLABLE
+  name: mau
+  type: INTEGER
+  description: MAU
+- mode: NULLABLE
+  name: smoothed_dau
+  type: FLOAT
+  description: Smoothed DAU
+- mode: NULLABLE
+  name: ER
+  type: FLOAT
+  description: ER - Smoothed DAU Divided by MAU
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_instll_by_instll_typ_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_instll_by_instll_typ_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_instll_by_instll_typ_v1/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_instll_by_instll_typ_v1/metadata.yaml	2024-12-13 17:38:00.000000000 +0000
@@ -0,0 +1,28 @@
+friendly_name: Firefox Health Indicator Windows Installs
+description: |-
+  Aggregate table of windows installs by installer type, used in Firefox Health dashboard
+owners:
+- [email protected]
+labels:
+  incremental: true
+  owner1: kwindau
+  table_type: aggregate
+  shredder_mitigation: true
+  dag: bqetl_fx_health_ind_dashboard
+scheduling:
+  dag_name: bqetl_fx_health_ind_dashboard
+bigquery:
+  time_partitioning:
+    type: day
+    field: submission_date
+    require_partition_filter: false
+    expiration_days: null
+  range_partitioning: null
+  clustering:
+    fields:
+    - installer_type
+workgroup_access:
+- role: roles/bigquery.dataViewer
+  members:
+  - workgroup:mozilla-confidential
+references: {}
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_instll_by_instll_typ_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_instll_by_instll_typ_v1/query.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_instll_by_instll_typ_v1/query.sql	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_instll_by_instll_typ_v1/query.sql	2024-12-13 17:35:47.000000000 +0000
@@ -0,0 +1,12 @@
+SELECT
+  CAST(submission_timestamp AS DATE) AS submission_date,
+  installer_type,
+  COUNT(1) AS install_count,
+FROM
+  `moz-fx-data-shared-prod.firefox_installer.install`
+WHERE
+  DATE(submission_timestamp) = @submission_date
+  AND update_channel = 'release'
+GROUP BY
+  CAST(submission_timestamp AS DATE),
+  installer_type
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_instll_by_instll_typ_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_instll_by_instll_typ_v1/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_instll_by_instll_typ_v1/schema.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_instll_by_instll_typ_v1/schema.yaml	2024-12-13 17:35:47.000000000 +0000
@@ -0,0 +1,13 @@
+fields:
+- mode: NULLABLE
+  name: submission_date
+  type: DATE
+  description: Submission Date
+- mode: NULLABLE
+  name: installer_type
+  type: STRING
+  description: Installer Type
+- mode: NULLABLE
+  name: install_count
+  type: INTEGER
+  description: Install Count
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_uninstll_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_uninstll_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_uninstll_v1/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_uninstll_v1/metadata.yaml	2024-12-13 17:38:00.000000000 +0000
@@ -0,0 +1,25 @@
+friendly_name: Fx Health Ind Win Uninstll
+description: |-
+  Aggregate view of Windows uninstalls by day
+owners:
+- [email protected]
+labels:
+  incremental: true
+  owner1: kwindau
+  table_type: aggregate
+  dag: bqetl_fx_health_ind_dashboard
+scheduling:
+  dag_name: bqetl_fx_health_ind_dashboard
+bigquery:
+  time_partitioning:
+    type: day
+    field: submission_date
+    require_partition_filter: false
+    expiration_days: null
+  range_partitioning: null
+  clustering: null
+workgroup_access:
+- role: roles/bigquery.dataViewer
+  members:
+  - workgroup:mozilla-confidential
+references: {}
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_uninstll_v1/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_uninstll_v1/query.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_uninstll_v1/query.sql	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_uninstll_v1/query.sql	2024-12-13 17:35:47.000000000 +0000
@@ -0,0 +1,11 @@
+SELECT
+  DATE(submission_timestamp) AS submission_date,
+  COUNT(DISTINCT(client_id)) AS uninstall_client_count
+FROM
+  `moz-fx-data-shared-prod.telemetry.uninstall`
+WHERE
+  DATE(submission_timestamp) = @submission_date
+  AND application.name = 'Firefox'
+  AND application.channel = 'release'
+GROUP BY
+  DATE(submission_timestamp)
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_uninstll_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_uninstll_v1/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_uninstll_v1/schema.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/fx_health_ind_win_uninstll_v1/schema.yaml	2024-12-13 17:35:47.000000000 +0000
@@ -0,0 +1,9 @@
+fields:
+- mode: NULLABLE
+  name: submission_date
+  type: DATE
+  description: Submission Date
+- mode: NULLABLE
+  name: uninstall_client_count
+  type: INTEGER
+  description: Count of Clients with Uninstalls
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/ssl_ratios_v1/bigconfig.yml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/ssl_ratios_v1/bigconfig.yml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/ssl_ratios_v1/bigconfig.yml	2024-12-13 17:35:46.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/ssl_ratios_v1/bigconfig.yml	2024-12-13 17:39:25.000000000 +0000
@@ -7,54 +7,54 @@
     - metric_type:
         type: PREDEFINED
         predefined_metric: PERCENT_NOT_NULL
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_DUPLICATES
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.os
     metrics:
     - metric_type:
         type: PREDEFINED
         predefined_metric: PERCENT_NOT_NULL
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_DUPLICATES
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.*
     metrics:
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_ROWS
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.non_ssl_loads
     metrics:
@@ -62,12 +62,12 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.ssl_loads
     metrics:
@@ -75,12 +75,12 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.reporting_ratio
     metrics:
@@ -88,12 +88,12 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
 - deployments:
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.*
@@ -117,54 +117,54 @@
     - metric_type:
         type: PREDEFINED
         predefined_metric: PERCENT_NOT_NULL
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_DUPLICATES
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.os
     metrics:
     - metric_type:
         type: PREDEFINED
         predefined_metric: PERCENT_NOT_NULL
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_DUPLICATES
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.*
     metrics:
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_ROWS
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.non_ssl_loads
     metrics:
@@ -172,12 +172,12 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.ssl_loads
     metrics:
@@ -185,12 +185,12 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.reporting_ratio
     metrics:
@@ -198,12 +198,12 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
 - deployments:
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.submission_date
@@ -211,54 +211,54 @@
     - metric_type:
         type: PREDEFINED
         predefined_metric: PERCENT_NOT_NULL
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_DUPLICATES
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.os
     metrics:
     - metric_type:
         type: PREDEFINED
         predefined_metric: PERCENT_NOT_NULL
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_DUPLICATES
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.*
     metrics:
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_ROWS
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.non_ssl_loads
     metrics:
@@ -266,12 +266,12 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.ssl_loads
     metrics:
@@ -279,12 +279,12 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.reporting_ratio
     metrics:
@@ -292,12 +292,12 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
 - deployments:
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.submission_date
@@ -305,54 +305,54 @@
     - metric_type:
         type: PREDEFINED
         predefined_metric: PERCENT_NOT_NULL
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_DUPLICATES
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.os
     metrics:
     - metric_type:
         type: PREDEFINED
         predefined_metric: PERCENT_NOT_NULL
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_DUPLICATES
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.*
     metrics:
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_ROWS
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.non_ssl_loads
     metrics:
@@ -360,12 +360,12 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.ssl_loads
     metrics:
@@ -373,12 +373,12 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.reporting_ratio
     metrics:
@@ -386,12 +386,12 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
 - deployments:
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.submission_date
@@ -399,54 +399,54 @@
     - metric_type:
         type: PREDEFINED
         predefined_metric: PERCENT_NOT_NULL
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_DUPLICATES
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.os
     metrics:
     - metric_type:
         type: PREDEFINED
         predefined_metric: PERCENT_NOT_NULL
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_DUPLICATES
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.*
     metrics:
     - metric_type:
         type: PREDEFINED
         predefined_metric: COUNT_ROWS
-      threshold:
-        type: CONSTANT
-        lower_bound: 1.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 1.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.non_ssl_loads
     metrics:
@@ -454,12 +454,12 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.ssl_loads
     metrics:
@@ -467,12 +467,12 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0
   - column_selectors:
     - name: moz-fx-data-shared-prod.moz-fx-data-shared-prod.telemetry_derived.ssl_ratios_v1.reporting_ratio
     metrics:
@@ -480,9 +480,9 @@
         type: PREDEFINED
         predefined_metric: MIN
       metric_name: Range
-      threshold:
-        type: CONSTANT
-        lower_bound: 0.0
       schedule_frequency:
         interval_type: MINUTES
         interval_value: 0
+      threshold:
+        type: CONSTANT
+        lower_bound: 0.0

Link to full diff

Please sign in to comment.