From 46f6d06e913b243104d300d90b53c77e2ebdde44 Mon Sep 17 00:00:00 2001 From: Ben Dean-Kawamura Date: Fri, 23 Jan 2026 15:58:03 -0500 Subject: [PATCH] SYNC-5167: Errors only dashboards My hope for the sync dashboard was that it could combine errors + sync metrics + other glean metrics. However, the latter 2 parts are performing poorly and we are currently only collecting metrics on Android. This updates the SYNC dashboard to only show the things that are actually working: Android errors. The resulting dashboard is pretty functional, although somewhat bare: https://yardstick.mozilla.org/d/sync-main/sync --- .../src/metrics/rust_component_errors.rs | 4 + .../src/team_config.rs | 118 +----------------- 2 files changed, 10 insertions(+), 112 deletions(-) diff --git a/tools/generate-rust-dashboards/src/metrics/rust_component_errors.rs b/tools/generate-rust-dashboards/src/metrics/rust_component_errors.rs index 88d82345eb..8fb8701e91 100644 --- a/tools/generate-rust-dashboards/src/metrics/rust_component_errors.rs +++ b/tools/generate-rust-dashboards/src/metrics/rust_component_errors.rs @@ -20,6 +20,10 @@ pub fn add_to_dashboard(builder: &mut DashboardBuilder, config: &TeamConfig) -> builder.add_panel_title("Component Errors"); for app in config.applications().iter() { + // Errors are only implemented on Android at this point. + if *app != Application::Android { + continue; + } builder.add_panel_third(count_panel(config, *app, ReleaseChannel::Nightly)); builder.add_panel_third(count_panel(config, *app, ReleaseChannel::Beta)); builder.add_panel_third(count_panel(config, *app, ReleaseChannel::Release)); diff --git a/tools/generate-rust-dashboards/src/team_config.rs b/tools/generate-rust-dashboards/src/team_config.rs index d64699f209..5c001b911c 100644 --- a/tools/generate-rust-dashboards/src/team_config.rs +++ b/tools/generate-rust-dashboards/src/team_config.rs @@ -4,8 +4,6 @@ use crate::config::*; -use Application::*; - pub fn all_dashboards() -> Vec { vec![ TeamConfig { @@ -19,128 +17,24 @@ pub fn all_dashboards() -> Vec { Component::Tabs, ], component_errors: true, - sync_metrics: true, - main_dashboard_metrics: vec![DistributionMetric { - kind: DistributionMetricKind::Timing, - display_name: "Places run_maintenance() time", - ping: "metrics", - category: "places_manager", - metric: "run_maintenance_time", - axis_label: "time (ms)", - value_divisor: Some(1_000_000), - value_filter: None, - applications: vec![Android], - link_to: Some("Sync Maintenance Times"), - } - .into()], - extra_dashboards: vec![ExtraDashboard { - name: "Sync Maintenance Times", - metrics: vec![ - DistributionMetric { - kind: DistributionMetricKind::Timing, - display_name: "Places run_maintenance_chk_pnt_time() time", - ping: "metrics", - category: "places_manager", - metric: "run_maintenance_chk_pnt_time", - axis_label: "time (ms)", - value_divisor: Some(1_000_000), - value_filter: None, - applications: vec![Android], - link_to: None, - } - .into(), - DistributionMetric { - kind: DistributionMetricKind::Timing, - display_name: "Places run_maintenance_optimize_time() time", - ping: "metrics", - category: "places_manager", - metric: "run_maintenance_optimize_time", - axis_label: "time (ms)", - value_divisor: Some(1_000_000), - value_filter: None, - applications: vec![Android], - link_to: None, - } - .into(), - DistributionMetric { - kind: DistributionMetricKind::Timing, - display_name: "Places run_maintenance_prune_time() time", - ping: "metrics", - category: "places_manager", - metric: "run_maintenance_prune_time", - axis_label: "time (ms)", - value_divisor: Some(1_000_000), - value_filter: None, - applications: vec![Android], - link_to: None, - } - .into(), - DistributionMetric { - kind: DistributionMetricKind::Timing, - display_name: "Places run_maintenance_vacuum_time() time", - ping: "metrics", - category: "places_manager", - metric: "run_maintenance_vacuum_time", - axis_label: "time (ms)", - value_divisor: Some(1_000_000), - value_filter: None, - applications: vec![Android], - link_to: None, - } - .into(), - ], - }], + // Metrics aren't supported yet. Keep the following fields false/empty for now. + sync_metrics: false, + main_dashboard_metrics: vec![], + extra_dashboards: vec![], }, TeamConfig { team_name: "DISCO", components: vec![Component::Suggest], component_errors: true, sync_metrics: false, - main_dashboard_metrics: vec![ - LabeledDistributionMetric { - kind: DistributionMetricKind::Timing, - display_name: "Suggest ingest time", - ping: "metrics", - category: "suggest", - metric: "ingest_time", - axis_label: "time (ms)", - value_divisor: Some(1_000_000), - value_filter: Some(100_000), - applications: vec![Desktop], - } - .into(), - LabeledDistributionMetric { - kind: DistributionMetricKind::Timing, - display_name: "Suggest ingest download time", - ping: "metrics", - category: "suggest", - metric: "ingest_download_time", - axis_label: "time (ms)", - value_divisor: Some(1_000_000), - value_filter: None, - applications: vec![Desktop], - } - .into(), - LabeledDistributionMetric { - kind: DistributionMetricKind::Timing, - display_name: "Suggest query time", - ping: "metrics", - category: "suggest", - metric: "ingest_query_time", - axis_label: "time (us)", - value_divisor: Some(1_000), - value_filter: None, - applications: vec![Desktop], - } - .into(), - ], + main_dashboard_metrics: vec![], extra_dashboards: vec![], }, TeamConfig { team_name: "Credential Management", components: vec![Component::Logins], component_errors: true, - sync_metrics: true, + sync_metrics: false, main_dashboard_metrics: vec![], extra_dashboards: vec![], },