jetstream/ios-sync-manager-integration.toml (168 lines of code) (raw):

[experiment] end_date = "2023-07-08" [metrics] daily = ["rust_tab_sync_success", "bookmarks_sync_success", "logins_sync_success", "history_sync_success"] weekly = ["rust_tab_sync_success", "bookmarks_sync_success", "logins_sync_success", "history_sync_success"] overall = ["rust_tab_sync_success", "bookmarks_sync_success", "logins_sync_success", "history_sync_success"] [metrics.rust_tab_sync_success] select_expression = """CASE WHEN COUNT(ds.submission_date) > 0 THEN COUNTIF( metrics.labeled_counter.rust_tabs_sync_failure_reason IS NULL OR ARRAY_LENGTH(metrics.labeled_counter.rust_tabs_sync_failure_reason) = 0)/COUNT(*) ELSE NULL END""" data_source = "rust_table" friendly_name = "Rust tab sync success rate" description = "Number of times that rust tabs sync successfully on ios divided by total syncs" [metrics.bookmarks_sync_success] select_expression = """CASE WHEN COUNT(ds.submission_date) > 0 THEN COUNTIF( metrics.labeled_counter.bookmarks_sync_failure_reason IS NULL OR ARRAY_LENGTH(metrics.labeled_counter.bookmarks_sync_failure_reason) = 0)/COUNT(*) ELSE NULL END""" data_source = "bookmark_table" friendly_name = "Bookmarks sync success rate" description = "Number of times that bookmarks sync successfully on ios divided by total syncs" [metrics.logins_sync_success] select_expression = """CASE WHEN COUNT(ds.submission_date) > 0 THEN COUNTIF( metrics.labeled_counter.logins_sync_failure_reason IS NULL OR ARRAY_LENGTH(metrics.labeled_counter.logins_sync_failure_reason) = 0 )/COUNT(*) ELSE NULL END""" data_source = "login_table" friendly_name = "Login sync success rate" description = "Number of times that logins successfully sync on ios divided by total syncs" [metrics.history_sync_success] select_expression = """CASE WHEN COUNT(ds.submission_date) > 0 THEN COUNTIF( metrics.labeled_counter.history_sync_failure_reason IS NULL OR ARRAY_LENGTH(metrics.labeled_counter.history_sync_failure_reason) = 0)/COUNT(*) ELSE NULL END""" data_source = "history_table" friendly_name = "History sync success rate" description = "Number of times that history is successfully synced on ios divided by total syncs" [metrics.rust_tab_sync_success.statistics.bootstrap_mean] pre_treatments = ["remove_nulls"] [metrics.bookmarks_sync_success.statistics.bootstrap_mean] pre_treatments = ["remove_nulls"] [metrics.logins_sync_success.statistics.bootstrap_mean] pre_treatments = ["remove_nulls"] [metrics.history_sync_success.statistics.bootstrap_mean] pre_treatments = ["remove_nulls"] [data_sources] [data_sources.rust_table] from_expression = """( SELECT tabs.* ,DATE(submission_timestamp) AS submission_date ,enroll.client_id FROM `moz-fx-data-shared-prod.org_mozilla_ios_firefox.temp_rust_tabs_sync` tabs INNER JOIN ( SELECT events.client_info.client_id AS client_id, mozfun.map.get_key( e.extra, 'branch' ) AS branch, mozfun.map.get_key(e.extra, 'enrollment_id') AS enrollment_id, DATE(MIN(events.submission_timestamp)) AS enrollment_date, COUNT(events.submission_timestamp) AS num_enrollment_events FROM `moz-fx-data-shared-prod.org_mozilla_ios_firefox.events` events, UNNEST(events.events) AS e WHERE events.client_info.client_id IS NOT NULL AND DATE(events.submission_timestamp) BETWEEN '2023-05-23' AND '2023-05-30' AND e.category = 'nimbus_events' AND mozfun.map.get_key(e.extra, 'experiment') = 'ios-sync-manager-integration' AND e.name = 'enrollment' GROUP BY client_id, branch, enrollment_id ) enroll ON mozfun.map.get_key(tabs.ping_info.experiments, 'ios-sync-manager-integration').extra.enrollment_id = enroll.enrollment_id WHERE DATE(tabs.submission_timestamp) >= '2023-05-23' )""" experiments_column_type = "glean" [data_sources.bookmark_table] from_expression = """( SELECT tabs.* ,DATE(submission_timestamp) AS submission_date ,enroll.client_id FROM `moz-fx-data-shared-prod.org_mozilla_ios_firefox.temp_bookmarks_sync` tabs INNER JOIN ( SELECT events.client_info.client_id AS client_id, mozfun.map.get_key( e.extra, 'branch' ) AS branch, mozfun.map.get_key(e.extra, 'enrollment_id') AS enrollment_id, DATE(MIN(events.submission_timestamp)) AS enrollment_date, COUNT(events.submission_timestamp) AS num_enrollment_events FROM `moz-fx-data-shared-prod.org_mozilla_ios_firefox.events` events, UNNEST(events.events) AS e WHERE events.client_info.client_id IS NOT NULL AND DATE(events.submission_timestamp) BETWEEN '2023-05-23' AND '2023-05-30' AND e.category = 'nimbus_events' AND mozfun.map.get_key(e.extra, 'experiment') = 'ios-sync-manager-integration' AND e.name = 'enrollment' GROUP BY client_id, branch, enrollment_id ) enroll ON mozfun.map.get_key(tabs.ping_info.experiments, 'ios-sync-manager-integration').extra.enrollment_id = enroll.enrollment_id WHERE DATE(tabs.submission_timestamp) >= '2023-05-23' )""" experiments_column_type = "glean" [data_sources.login_table] from_expression = """( SELECT tabs.* ,DATE(submission_timestamp) AS submission_date ,enroll.client_id FROM `moz-fx-data-shared-prod.org_mozilla_ios_firefox.temp_logins_sync` tabs INNER JOIN ( SELECT events.client_info.client_id AS client_id, mozfun.map.get_key( e.extra, 'branch' ) AS branch, mozfun.map.get_key(e.extra, 'enrollment_id') AS enrollment_id, DATE(MIN(events.submission_timestamp)) AS enrollment_date, COUNT(events.submission_timestamp) AS num_enrollment_events FROM `moz-fx-data-shared-prod.org_mozilla_ios_firefox.events` events, UNNEST(events.events) AS e WHERE events.client_info.client_id IS NOT NULL AND DATE(events.submission_timestamp) BETWEEN '2023-05-23' AND '2023-05-30' AND e.category = 'nimbus_events' AND mozfun.map.get_key(e.extra, 'experiment') = 'ios-sync-manager-integration' AND e.name = 'enrollment' GROUP BY client_id, branch, enrollment_id ) enroll ON mozfun.map.get_key(tabs.ping_info.experiments, 'ios-sync-manager-integration').extra.enrollment_id = enroll.enrollment_id WHERE DATE(tabs.submission_timestamp) >= '2023-05-23' )""" experiments_column_type = "glean" [data_sources.history_table] from_expression = """( SELECT tabs.* ,DATE(submission_timestamp) AS submission_date ,enroll.client_id FROM `moz-fx-data-shared-prod.org_mozilla_ios_firefox.temp_history_sync` tabs INNER JOIN ( SELECT events.client_info.client_id AS client_id, mozfun.map.get_key( e.extra, 'branch' ) AS branch, mozfun.map.get_key(e.extra, 'enrollment_id') AS enrollment_id, DATE(MIN(events.submission_timestamp)) AS enrollment_date, COUNT(events.submission_timestamp) AS num_enrollment_events FROM `moz-fx-data-shared-prod.org_mozilla_ios_firefox.events` events, UNNEST(events.events) AS e WHERE events.client_info.client_id IS NOT NULL AND DATE(events.submission_timestamp) BETWEEN '2023-05-23' AND '2023-05-30' AND e.category = 'nimbus_events' AND mozfun.map.get_key(e.extra, 'experiment') = 'ios-sync-manager-integration' AND e.name = 'enrollment' GROUP BY client_id, branch, enrollment_id ) enroll ON mozfun.map.get_key(tabs.ping_info.experiments, 'ios-sync-manager-integration').extra.enrollment_id = enroll.enrollment_id WHERE DATE(tabs.submission_timestamp) >= '2023-05-23' )""" experiments_column_type = "glean"