From a69a21f05d234cee0e7dbb30da3d7da642f82b05 Mon Sep 17 00:00:00 2001 From: jenkins Date: Sat, 16 May 2026 20:57:56 -0300 Subject: [PATCH] monitoring: use fresh quality snapshots --- scripts/dashboards_render_atlas.py | 69 ++++++++++-------- .../monitoring/dashboards/atlas-overview.json | 4 +- .../monitoring/dashboards/atlas-testing.json | 72 +++++++++---------- .../grafana-dashboard-overview.yaml | 4 +- .../monitoring/grafana-dashboard-testing.yaml | 72 +++++++++---------- 5 files changed, 117 insertions(+), 104 deletions(-) diff --git a/scripts/dashboards_render_atlas.py b/scripts/dashboards_render_atlas.py index 6379111a..d9e58461 100644 --- a/scripts/dashboards_render_atlas.py +++ b/scripts/dashboards_render_atlas.py @@ -603,6 +603,8 @@ PLATFORM_TEST_ACTIVE_SUITES_24H = ( "or on() vector(0)" ) PLATFORM_TEST_POINT_WINDOW = "1h" +PLATFORM_TEST_FRESH_WINDOW = "30h" +PLATFORM_TEST_LATEST_WINDOW = "30d" PLATFORM_TEST_SUCCESS_RATE_SUITE_TARGETS = [ { "refId": chr(ord("A") + index), @@ -623,8 +625,8 @@ QUALITY_GATE_SUITE_INDEX_30D = ( f'sum by (suite) (increase(platform_quality_gate_runs_total{{suite=~"{PLATFORM_TEST_SUITE_MATCHER}",{PLATFORM_TEST_EXPORT_FILTER}}}[30d]))' ) QUALITY_GATE_COVERAGE_BY_SUITE = ( - f'(max by (suite) ({{__name__=~".*_quality_gate_coverage_percent",{PLATFORM_TEST_EXPORT_FILTER}}})) ' - f'or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{{{PLATFORM_TEST_EXPORT_FILTER}}}))' + f'(max by (suite) (last_over_time({{__name__=~".*_quality_gate_coverage_percent",{PLATFORM_TEST_EXPORT_FILTER}}}[{PLATFORM_TEST_LATEST_WINDOW}]))) ' + f'or on(suite) (max by (suite) (last_over_time(platform_quality_gate_workspace_line_coverage_percent{{{PLATFORM_TEST_EXPORT_FILTER}}}[{PLATFORM_TEST_LATEST_WINDOW}])))' ) QUALITY_GATE_COVERAGE_BY_SUITE_WITH_MISSING = ( f"({QUALITY_GATE_COVERAGE_BY_SUITE}) or on(suite) (0 * ({QUALITY_GATE_SUITE_INDEX_30D}) - 1)" @@ -633,7 +635,7 @@ QUALITY_GATE_COVERAGE_GAP_BY_SUITE = ( f"clamp_min(95 - ({QUALITY_GATE_COVERAGE_BY_SUITE}), 0)" ) QUALITY_GATE_SMELL_INFRACTIONS_BY_SUITE = ( - f"max by (suite) (platform_quality_gate_source_lines_over_500_total{{{PLATFORM_TEST_EXPORT_FILTER}}})" + f"max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{{{PLATFORM_TEST_EXPORT_FILTER}}}[{PLATFORM_TEST_LATEST_WINDOW}]))" ) QUALITY_GATE_SMELL_INFRACTIONS_BY_SUITE_WITH_MISSING = ( f"({QUALITY_GATE_SMELL_INFRACTIONS_BY_SUITE}) or on(suite) (0 * ({QUALITY_GATE_SUITE_INDEX_30D}) - 1)" @@ -646,10 +648,10 @@ PLATFORM_TEST_CHECK_ROLLUP_MATCHERS = ( f'suite=~"{PLATFORM_TEST_SUITE_CANONICAL_MATCHER}",branch!="",check!=""' ) PLATFORM_TEST_CHECK_ROLLUP_SELECTOR = ( - f'platform_quality:check_status:present_1h{{{PLATFORM_TEST_CHECK_ROLLUP_MATCHERS},status!=""}}' + f'last_over_time(platform_quality:check_status:present_1h{{{PLATFORM_TEST_CHECK_ROLLUP_MATCHERS},status!=""}}[{PLATFORM_TEST_FRESH_WINDOW}])' ) PLATFORM_TEST_CHECK_ROLLUP_OK_SELECTOR = ( - f'platform_quality:check_status:present_1h{{{PLATFORM_TEST_CHECK_ROLLUP_MATCHERS},status=~"{PLATFORM_TEST_NON_FAILURE_STATUS}"}}' + f'last_over_time(platform_quality:check_status:present_1h{{{PLATFORM_TEST_CHECK_ROLLUP_MATCHERS},status=~"{PLATFORM_TEST_NON_FAILURE_STATUS}"}}[{PLATFORM_TEST_FRESH_WINDOW}])' ) PLATFORM_TEST_CURRENT_GATE_HEALTH_BY_SUITE = ( f'(100 * sum by (suite) (max by (suite, check) ' @@ -1660,7 +1662,7 @@ TESTING_PANEL_DESCRIPTIONS = { "Runs (24h)": "Selected quality-gate run count in 24h; zero means the dashboard may be stale.", "Avg Coverage (%)": "Average latest line coverage for selected suites; higher means better test protection.", "Suites with LOC >500": "Selected suites with oversized source files; zero is good for maintainability.", - "Current Gate Health by Suite": "Latest gate pass percent per suite; 100% means all required checks currently pass.", + "Current Gate Health by Suite": "Latest gate pass percent per suite from the daily freshness window; 100% means required checks recently passed.", "Run Reliability by Suite (24h)": "24h quality-gate pass rate by suite; lower rows are worse and can lag after failed/debug runs.", "Coverage by Suite (Latest, gate 95)": "Latest suite coverage; 95%+ is acceptable and 100% is strongest.", "Files <=500 LOC by Suite (Latest)": "Percent of source files within the 500-line limit; higher is easier to maintain.", @@ -3737,8 +3739,8 @@ def build_jobs_dashboard(): runs_failure_selector = f'{runs_selector},status!~"{success}"' checks_selector = f'__name__=~".*_quality_gate_checks_total",suite=~"{suite_var}",{exported}' check_rollup_selector = ( - f'platform_quality:check_status:present_1h{{suite=~"{suite_var}",branch!="",' - f'branch=~"{branch_var}",check!="",status!=""}}' + f'last_over_time(platform_quality:check_status:present_1h{{suite=~"{suite_var}",branch!="",' + f'branch=~"{branch_var}",check!="",status!=""}}[{PLATFORM_TEST_FRESH_WINDOW}])' ) coverage_metric_selector = f'__name__=~".*_quality_gate_coverage_percent",suite=~"{suite_var}",{exported}' workspace_coverage_selector = f'suite=~"{suite_var}",{exported}' @@ -3780,8 +3782,8 @@ def build_jobs_dashboard(): ) non_failure = PLATFORM_TEST_NON_FAILURE_STATUS current_gate_ok_selector = ( - f'platform_quality:check_status:present_1h{{suite=~"{suite_var}",branch!="",' - f'branch=~"{branch_var}",check!="",status=~"{non_failure}"}}' + f'last_over_time(platform_quality:check_status:present_1h{{suite=~"{suite_var}",branch!="",' + f'branch=~"{branch_var}",check!="",status=~"{non_failure}"}}[{PLATFORM_TEST_FRESH_WINDOW}])' ) current_gate_ok_vector = f"(({current_gate_ok_selector}) > bool 0)" current_gate_seen_vector = f'({check_rollup_selector} > bool 0)' @@ -3807,18 +3809,28 @@ def build_jobs_dashboard(): f'sum(increase(platform_quality_gate_runs_total{{{runs_failure_selector}}}[24h])) or on() vector(0)' ) coverage_by_suite = ( - f'(max by (suite) ({{{coverage_metric_selector}}})) ' - f'or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{{{workspace_coverage_selector}}}))' + f'(max by (suite) (last_over_time({{{coverage_metric_selector}}}[{PLATFORM_TEST_LATEST_WINDOW}]))) ' + f'or on(suite) (max by (suite) (last_over_time(platform_quality_gate_workspace_line_coverage_percent{{{workspace_coverage_selector}}}[{PLATFORM_TEST_LATEST_WINDOW}])))' ) coverage_history_by_suite = ( - f'(max by (suite) (platform_quality_gate_workspace_line_coverage_percent{{{workspace_coverage_selector}}})) ' - f'or on(suite) (max by (suite) ({{{coverage_metric_selector}}}))' + f'(max by (suite) (last_over_time(platform_quality_gate_workspace_line_coverage_percent{{{workspace_coverage_selector}}}[{PLATFORM_TEST_FRESH_WINDOW}]))) ' + f'or on(suite) (max by (suite) (last_over_time({{{coverage_metric_selector}}}[{PLATFORM_TEST_FRESH_WINDOW}])))' ) coverage_with_missing = ( f"({coverage_by_suite}) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{{{runs_selector}}}[30d])))) - 1)" ) - smell_by_suite = f'max by (suite) (platform_quality_gate_source_lines_over_500_total{{{smell_selector}}})' - loc_files_by_suite = f'max by (suite) (platform_quality_gate_source_files_total{{{smell_selector}}})' + smell_by_suite = ( + f'max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{{{smell_selector}}}[{PLATFORM_TEST_LATEST_WINDOW}]))' + ) + loc_files_by_suite = ( + f'max by (suite) (last_over_time(platform_quality_gate_source_files_total{{{smell_selector}}}[{PLATFORM_TEST_LATEST_WINDOW}]))' + ) + smell_history_by_suite = ( + f'max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{{{smell_selector}}}[{PLATFORM_TEST_FRESH_WINDOW}]))' + ) + loc_files_history_by_suite = ( + f'max by (suite) (last_over_time(platform_quality_gate_source_files_total{{{smell_selector}}}[{PLATFORM_TEST_FRESH_WINDOW}]))' + ) smell_with_missing = ( f"({smell_by_suite}) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{{{runs_selector}}}[30d])))) - 1)" ) @@ -3832,8 +3844,9 @@ def build_jobs_dashboard(): f"or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{{{runs_selector}}}[30d])))) - 1)" ) loc_limit_compliance_history = ( - f"({loc_limit_compliance_by_suite}) " - f"or on(suite) (100 * (1 - clamp_max(({smell_by_suite}), 1)))" + f"(100 * clamp_min(({loc_files_history_by_suite}) - ({smell_history_by_suite}), 0) / ({loc_files_history_by_suite})) " + f"and on(suite) (({loc_files_history_by_suite}) > 0) " + f"or on(suite) (100 * (1 - clamp_max(({smell_history_by_suite}), 1)))" ) average_coverage = f"(avg(({coverage_by_suite})) or on() vector(0))" suites_loc_violating = f'(sum((({smell_by_suite}) > bool 0)) or on() vector(0))' @@ -3849,12 +3862,12 @@ def build_jobs_dashboard(): def _check_state_percent_series(regex: str, failed: bool) -> str: status_state = f'status!~"{non_failure}"' if failed else f'status=~"{non_failure}"' family_selector = ( - f'platform_quality:check_status:present_1h{{suite=~"{suite_var}",branch!="",' - f'branch=~"{branch_var}",check=~"{regex}",status!=""}}' + f'last_over_time(platform_quality:check_status:present_1h{{suite=~"{suite_var}",branch!="",' + f'branch=~"{branch_var}",check=~"{regex}",status!=""}}[{PLATFORM_TEST_FRESH_WINDOW}])' ) state_selector = ( - f'platform_quality:check_status:present_1h{{suite=~"{suite_var}",branch!="",' - f'branch=~"{branch_var}",check=~"{regex}",{status_state}}}' + f'last_over_time(platform_quality:check_status:present_1h{{suite=~"{suite_var}",branch!="",' + f'branch=~"{branch_var}",check=~"{regex}",{status_state}}}[{PLATFORM_TEST_FRESH_WINDOW}])' ) state_vector = f"(({state_selector}) > bool 0)" state_checks = ( @@ -4106,8 +4119,8 @@ def build_jobs_dashboard(): {"type": "value", "options": {"-1": {"text": "missing"}}} ] panels[-1]["description"] = ( - "Current pass percentage across the required gate dimensions reported by each suite. " - "100% is clean; missing means the suite has not published current gate data." + "Latest pass percentage across required gate dimensions in the daily freshness window. " + "100% is clean; missing means the suite has not published recent gate data." ) reliability_suite_panel = bargauge_panel( 9, @@ -4210,11 +4223,11 @@ def build_jobs_dashboard(): def _append_check_trends(start_id: int, title_prefix: str, failed: bool, y: int) -> None: trend_thresholds = failures_thresholds if failed else success_thresholds trend_description = ( - "Current bad-state percentage for this check family, evaluated over time. " - "Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart." + "Latest bad-state percentage for this check family, evaluated over time. " + "Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart." if failed - else "Current acceptable-state percentage for this check family, evaluated over time. " - "Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence." + else "Latest acceptable-state percentage for this check family, evaluated over time. " + "Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence." ) for index, (label, regex) in enumerate(check_dimensions[:4]): panel = state_timeline_panel( diff --git a/services/monitoring/dashboards/atlas-overview.json b/services/monitoring/dashboards/atlas-overview.json index dc4d7682..95d91321 100644 --- a/services/monitoring/dashboards/atlas-overview.json +++ b/services/monitoring/dashboards/atlas-overview.json @@ -2377,7 +2377,7 @@ }, "targets": [ { - "expr": "(avg(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{exported_job=\"platform-quality-ci\"})))) or on() vector(0))", + "expr": "(avg(((max by (suite) (last_over_time({__name__=~\".*_quality_gate_coverage_percent\",exported_job=\"platform-quality-ci\"}[30d]))) or on(suite) (max by (suite) (last_over_time(platform_quality_gate_workspace_line_coverage_percent{exported_job=\"platform-quality-ci\"}[30d]))))) or on() vector(0))", "refId": "A", "instant": true } @@ -2463,7 +2463,7 @@ }, "targets": [ { - "expr": "(sum((max by (suite) (platform_quality_gate_source_lines_over_500_total{exported_job=\"platform-quality-ci\"})) == bool 0) or on() vector(0))", + "expr": "(sum((max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{exported_job=\"platform-quality-ci\"}[30d]))) == bool 0) or on() vector(0))", "refId": "A", "instant": true } diff --git a/services/monitoring/dashboards/atlas-testing.json b/services/monitoring/dashboards/atlas-testing.json index 6a7c3822..eacf5c01 100644 --- a/services/monitoring/dashboards/atlas-testing.json +++ b/services/monitoring/dashboards/atlas-testing.json @@ -306,7 +306,7 @@ }, "targets": [ { - "expr": "(avg(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})))) or on() vector(0))", + "expr": "(avg(((max by (suite) (last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))) or on(suite) (max by (suite) (last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))))) or on() vector(0))", "refId": "A", "instant": true } @@ -381,7 +381,7 @@ }, "targets": [ { - "expr": "(sum(((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) > bool 0)) or on() vector(0))", + "expr": "(sum(((max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))) > bool 0)) or on() vector(0))", "refId": "A", "instant": true } @@ -455,7 +455,7 @@ }, "targets": [ { - "expr": "sort(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check!=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check!=\"\",status!=\"\"} > bool 0)))), 1)) or on(suite) ((((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))) - 1))))", + "expr": "sort(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check!=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check!=\"\",status!=\"\"}[30h]) > bool 0)))), 1)) or on(suite) ((((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))) - 1))))", "refId": "A", "legendFormat": "{{suite}}", "instant": true @@ -530,7 +530,7 @@ } } ], - "description": "Current pass percentage across the required gate dimensions reported by each suite. 100% is clean; missing means the suite has not published current gate data." + "description": "Latest pass percentage across required gate dimensions in the daily freshness window. 100% is clean; missing means the suite has not published recent gate data." }, { "id": 9, @@ -641,7 +641,7 @@ }, "targets": [ { - "expr": "sort(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) - 1))", + "expr": "sort(((max by (suite) (last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))) or on(suite) (max by (suite) (last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) - 1))", "refId": "A", "legendFormat": "{{suite}}", "instant": true @@ -734,7 +734,7 @@ }, "targets": [ { - "expr": "sort(((100 * clamp_min((max by (suite) (platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) - (max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})), 0) / (max by (suite) (platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))) and on(suite) ((max by (suite) (platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) > 0)) or on(suite) (100 * (1 - clamp_max((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})), 1))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) - 1))", + "expr": "sort(((100 * clamp_min((max by (suite) (last_over_time(platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))) - (max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))), 0) / (max by (suite) (last_over_time(platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) and on(suite) ((max by (suite) (last_over_time(platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))) > 0)) or on(suite) (100 * (1 - clamp_max((max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))), 1))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) - 1))", "refId": "A", "legendFormat": "{{suite}}", "instant": true @@ -1163,7 +1163,7 @@ }, "targets": [ { - "expr": "(max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))", + "expr": "(max by (suite) (last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h]))) or on(suite) (max by (suite) (last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1239,7 +1239,7 @@ }, "targets": [ { - "expr": "((100 * clamp_min((max by (suite) (platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) - (max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})), 0) / (max by (suite) (platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))) and on(suite) ((max by (suite) (platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) > 0)) or on(suite) (100 * (1 - clamp_max((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})), 1)))", + "expr": "(100 * clamp_min((max by (suite) (last_over_time(platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h]))) - (max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h]))), 0) / (max by (suite) (last_over_time(platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])))) and on(suite) ((max by (suite) (last_over_time(platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h]))) > 0) or on(suite) (100 * (1 - clamp_max((max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h]))), 1)))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1317,7 +1317,7 @@ "id": 130, "type": "state-timeline", "title": "Tests Failure Rate", - "description": "Current bad-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart.", + "description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1330,7 +1330,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1393,7 +1393,7 @@ "id": 131, "type": "state-timeline", "title": "Coverage Failure Rate", - "description": "Current bad-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart.", + "description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1406,7 +1406,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1469,7 +1469,7 @@ "id": 132, "type": "state-timeline", "title": "LOC Failure Rate", - "description": "Current bad-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart.", + "description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1482,7 +1482,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1545,7 +1545,7 @@ "id": 133, "type": "state-timeline", "title": "Style Failure Rate", - "description": "Current bad-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart.", + "description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1558,7 +1558,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1621,7 +1621,7 @@ "id": 134, "type": "state-timeline", "title": "Gate Glue Failure Rate", - "description": "Current bad-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart.", + "description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1634,7 +1634,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1697,7 +1697,7 @@ "id": 135, "type": "state-timeline", "title": "SonarQube Failure Rate", - "description": "Current bad-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart.", + "description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1710,7 +1710,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1773,7 +1773,7 @@ "id": 136, "type": "state-timeline", "title": "Supply Chain Failure Rate", - "description": "Current bad-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart.", + "description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1786,7 +1786,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1864,7 +1864,7 @@ "id": 138, "type": "state-timeline", "title": "Tests Healthy Rate", - "description": "Current acceptable-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence.", + "description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1877,7 +1877,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1940,7 +1940,7 @@ "id": 139, "type": "state-timeline", "title": "Coverage Healthy Rate", - "description": "Current acceptable-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence.", + "description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1953,7 +1953,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -2016,7 +2016,7 @@ "id": 140, "type": "state-timeline", "title": "LOC Healthy Rate", - "description": "Current acceptable-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence.", + "description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -2029,7 +2029,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -2092,7 +2092,7 @@ "id": 141, "type": "state-timeline", "title": "Style Healthy Rate", - "description": "Current acceptable-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence.", + "description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -2105,7 +2105,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -2168,7 +2168,7 @@ "id": 142, "type": "state-timeline", "title": "Gate Glue Healthy Rate", - "description": "Current acceptable-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence.", + "description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -2181,7 +2181,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -2244,7 +2244,7 @@ "id": 143, "type": "state-timeline", "title": "SonarQube Healthy Rate", - "description": "Current acceptable-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence.", + "description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -2257,7 +2257,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -2320,7 +2320,7 @@ "id": 144, "type": "state-timeline", "title": "Supply Chain Healthy Rate", - "description": "Current acceptable-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence.", + "description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -2333,7 +2333,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } diff --git a/services/monitoring/grafana-dashboard-overview.yaml b/services/monitoring/grafana-dashboard-overview.yaml index 7516f471..260ed3ce 100644 --- a/services/monitoring/grafana-dashboard-overview.yaml +++ b/services/monitoring/grafana-dashboard-overview.yaml @@ -2386,7 +2386,7 @@ data: }, "targets": [ { - "expr": "(avg(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{exported_job=\"platform-quality-ci\"})))) or on() vector(0))", + "expr": "(avg(((max by (suite) (last_over_time({__name__=~\".*_quality_gate_coverage_percent\",exported_job=\"platform-quality-ci\"}[30d]))) or on(suite) (max by (suite) (last_over_time(platform_quality_gate_workspace_line_coverage_percent{exported_job=\"platform-quality-ci\"}[30d]))))) or on() vector(0))", "refId": "A", "instant": true } @@ -2472,7 +2472,7 @@ data: }, "targets": [ { - "expr": "(sum((max by (suite) (platform_quality_gate_source_lines_over_500_total{exported_job=\"platform-quality-ci\"})) == bool 0) or on() vector(0))", + "expr": "(sum((max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{exported_job=\"platform-quality-ci\"}[30d]))) == bool 0) or on() vector(0))", "refId": "A", "instant": true } diff --git a/services/monitoring/grafana-dashboard-testing.yaml b/services/monitoring/grafana-dashboard-testing.yaml index 2813bf27..dd1241dc 100644 --- a/services/monitoring/grafana-dashboard-testing.yaml +++ b/services/monitoring/grafana-dashboard-testing.yaml @@ -315,7 +315,7 @@ data: }, "targets": [ { - "expr": "(avg(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})))) or on() vector(0))", + "expr": "(avg(((max by (suite) (last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))) or on(suite) (max by (suite) (last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))))) or on() vector(0))", "refId": "A", "instant": true } @@ -390,7 +390,7 @@ data: }, "targets": [ { - "expr": "(sum(((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) > bool 0)) or on() vector(0))", + "expr": "(sum(((max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))) > bool 0)) or on() vector(0))", "refId": "A", "instant": true } @@ -464,7 +464,7 @@ data: }, "targets": [ { - "expr": "sort(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check!=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check!=\"\",status!=\"\"} > bool 0)))), 1)) or on(suite) ((((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))) - 1))))", + "expr": "sort(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check!=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check!=\"\",status!=\"\"}[30h]) > bool 0)))), 1)) or on(suite) ((((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))) - 1))))", "refId": "A", "legendFormat": "{{suite}}", "instant": true @@ -539,7 +539,7 @@ data: } } ], - "description": "Current pass percentage across the required gate dimensions reported by each suite. 100% is clean; missing means the suite has not published current gate data." + "description": "Latest pass percentage across required gate dimensions in the daily freshness window. 100% is clean; missing means the suite has not published recent gate data." }, { "id": 9, @@ -650,7 +650,7 @@ data: }, "targets": [ { - "expr": "sort(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) - 1))", + "expr": "sort(((max by (suite) (last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))) or on(suite) (max by (suite) (last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) - 1))", "refId": "A", "legendFormat": "{{suite}}", "instant": true @@ -743,7 +743,7 @@ data: }, "targets": [ { - "expr": "sort(((100 * clamp_min((max by (suite) (platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) - (max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})), 0) / (max by (suite) (platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))) and on(suite) ((max by (suite) (platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) > 0)) or on(suite) (100 * (1 - clamp_max((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})), 1))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) - 1))", + "expr": "sort(((100 * clamp_min((max by (suite) (last_over_time(platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))) - (max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))), 0) / (max by (suite) (last_over_time(platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) and on(suite) ((max by (suite) (last_over_time(platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))) > 0)) or on(suite) (100 * (1 - clamp_max((max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))), 1))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) - 1))", "refId": "A", "legendFormat": "{{suite}}", "instant": true @@ -1172,7 +1172,7 @@ data: }, "targets": [ { - "expr": "(max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))", + "expr": "(max by (suite) (last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h]))) or on(suite) (max by (suite) (last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1248,7 +1248,7 @@ data: }, "targets": [ { - "expr": "((100 * clamp_min((max by (suite) (platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) - (max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})), 0) / (max by (suite) (platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))) and on(suite) ((max by (suite) (platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) > 0)) or on(suite) (100 * (1 - clamp_max((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})), 1)))", + "expr": "(100 * clamp_min((max by (suite) (last_over_time(platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h]))) - (max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h]))), 0) / (max by (suite) (last_over_time(platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])))) and on(suite) ((max by (suite) (last_over_time(platform_quality_gate_source_files_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h]))) > 0) or on(suite) (100 * (1 - clamp_max((max by (suite) (last_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h]))), 1)))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1326,7 +1326,7 @@ data: "id": 130, "type": "state-timeline", "title": "Tests Failure Rate", - "description": "Current bad-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart.", + "description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1339,7 +1339,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1402,7 +1402,7 @@ data: "id": 131, "type": "state-timeline", "title": "Coverage Failure Rate", - "description": "Current bad-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart.", + "description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1415,7 +1415,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1478,7 +1478,7 @@ data: "id": 132, "type": "state-timeline", "title": "LOC Failure Rate", - "description": "Current bad-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart.", + "description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1491,7 +1491,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1554,7 +1554,7 @@ data: "id": 133, "type": "state-timeline", "title": "Style Failure Rate", - "description": "Current bad-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart.", + "description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1567,7 +1567,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1630,7 +1630,7 @@ data: "id": 134, "type": "state-timeline", "title": "Gate Glue Failure Rate", - "description": "Current bad-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart.", + "description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1643,7 +1643,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1706,7 +1706,7 @@ data: "id": 135, "type": "state-timeline", "title": "SonarQube Failure Rate", - "description": "Current bad-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart.", + "description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1719,7 +1719,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1782,7 +1782,7 @@ data: "id": 136, "type": "state-timeline", "title": "Supply Chain Failure Rate", - "description": "Current bad-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are failing right now; this is not an event-count spike chart.", + "description": "Latest bad-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are failing in the freshness window; this is not an event-count spike chart.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1795,7 +1795,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1873,7 +1873,7 @@ data: "id": 138, "type": "state-timeline", "title": "Tests Healthy Rate", - "description": "Current acceptable-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence.", + "description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1886,7 +1886,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -1949,7 +1949,7 @@ data: "id": 139, "type": "state-timeline", "title": "Coverage Healthy Rate", - "description": "Current acceptable-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence.", + "description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -1962,7 +1962,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -2025,7 +2025,7 @@ data: "id": 140, "type": "state-timeline", "title": "LOC Healthy Rate", - "description": "Current acceptable-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence.", + "description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -2038,7 +2038,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -2101,7 +2101,7 @@ data: "id": 141, "type": "state-timeline", "title": "Style Healthy Rate", - "description": "Current acceptable-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence.", + "description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -2114,7 +2114,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -2177,7 +2177,7 @@ data: "id": 142, "type": "state-timeline", "title": "Gate Glue Healthy Rate", - "description": "Current acceptable-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence.", + "description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -2190,7 +2190,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -2253,7 +2253,7 @@ data: "id": 143, "type": "state-timeline", "title": "SonarQube Healthy Rate", - "description": "Current acceptable-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence.", + "description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -2266,7 +2266,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" } @@ -2329,7 +2329,7 @@ data: "id": 144, "type": "state-timeline", "title": "Supply Chain Healthy Rate", - "description": "Current acceptable-state percentage for this check family, evaluated over time. Higher means more of the selected suites/checks are healthy right now; gaps mean there was no check evidence.", + "description": "Latest acceptable-state percentage for this check family, evaluated over time. Higher means more selected suites/checks are healthy in the freshness window; gaps mean there was no check evidence.", "datasource": { "type": "prometheus", "uid": "atlas-vm" @@ -2342,7 +2342,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (max by (suite, check) (((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!=\"\"}) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", + "expr": "(((100 * (sum by (suite) (max by (suite, check) (((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"}[30h])) > bool 0)))) / clamp_min((sum by (suite) (max by (suite, check) ((last_over_time(platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!=\"\"}[30h])) > bool 0))), 1))) or on(suite) ((0 * ((count by (suite) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}) >= bool 0) or (count by (suite) (max_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))))", "refId": "A", "legendFormat": "{{suite}}" }