From ea2071bbc58e4ba475a76643e7a4dd3f5c2f70b2 Mon Sep 17 00:00:00 2001 From: jenkins Date: Tue, 19 May 2026 22:41:02 -0300 Subject: [PATCH] monitoring(testing): memoize gate check health --- scripts/dashboards_render_atlas.py | 39 ++++++++++++++----- .../monitoring/dashboards/atlas-testing.json | 30 +++++++------- .../monitoring/grafana-dashboard-testing.yaml | 30 +++++++------- 3 files changed, 59 insertions(+), 40 deletions(-) diff --git a/scripts/dashboards_render_atlas.py b/scripts/dashboards_render_atlas.py index b1e3ded8..7d6b2787 100644 --- a/scripts/dashboards_render_atlas.py +++ b/scripts/dashboards_render_atlas.py @@ -553,6 +553,9 @@ PLATFORM_TEST_SUITE_NAMES = [ ] PLATFORM_TEST_SUCCESS_STATUS = "ok|passed|success" PLATFORM_TEST_NON_FAILURE_STATUS = f"{PLATFORM_TEST_SUCCESS_STATUS}|not_applicable|skipped|na|n/a" +PLATFORM_TEST_STANDARD_CHECK_REGEX = ( + "tests|coverage|loc|style|docs_naming|gate_glue|sonarqube|supply_chain" +) PLATFORM_TEST_CI_JOB = "platform-quality-ci" PLATFORM_TEST_EXPORT_FILTER = f'exported_job="{PLATFORM_TEST_CI_JOB}"' PLATFORM_TEST_SUITE_VALUE_BY_NAME = { @@ -698,6 +701,22 @@ def platform_check_status_expr( ) +def platform_check_rollup_status_expr( + suite_matcher: str, + *, + branch_matcher: str = 'branch!=""', + check_matcher: str = 'check!=""', + status_matcher: str = 'status!=""', +) -> str: + """Return memoized hourly check gauges normalized by vmalert.""" + return ( + "sum by (suite, branch, check, status) (" + f"platform_quality:check_status:present_1h{{{suite_matcher},{branch_matcher}," + f"{check_matcher},{status_matcher}}}" + ")" + ) + + PLATFORM_TEST_SUCCESS_RATE_SUITE_TARGETS = [ { "refId": chr(ord("A") + index), @@ -752,25 +771,25 @@ PLATFORM_TEST_CHECK_ROLLUP_MATCHERS = ( f'suite=~"{PLATFORM_TEST_SUITE_CANONICAL_MATCHER}"' ) PLATFORM_TEST_PRIMARY_BRANCH_MATCHER = 'branch=~"main|master|origin/main|origin/master"' -PLATFORM_TEST_CHECK_ROLLUP_SELECTOR = platform_check_status_expr( +PLATFORM_TEST_CHECK_ROLLUP_SELECTOR = platform_check_rollup_status_expr( PLATFORM_TEST_CHECK_ROLLUP_MATCHERS, branch_matcher=PLATFORM_TEST_PRIMARY_BRANCH_MATCHER, - window=None, + check_matcher=f'check=~"{PLATFORM_TEST_STANDARD_CHECK_REGEX}"', ) PLATFORM_TEST_CHECK_ROLLUP_OK_SELECTOR = ( - platform_check_status_expr( + platform_check_rollup_status_expr( PLATFORM_TEST_CHECK_ROLLUP_MATCHERS, branch_matcher=PLATFORM_TEST_PRIMARY_BRANCH_MATCHER, + check_matcher=f'check=~"{PLATFORM_TEST_STANDARD_CHECK_REGEX}"', status_matcher=f'status=~"{PLATFORM_TEST_NON_FAILURE_STATUS}"', - window=None, ) ) PLATFORM_TEST_CHECK_ROLLUP_FAILED_SELECTOR = ( - platform_check_status_expr( + platform_check_rollup_status_expr( PLATFORM_TEST_CHECK_ROLLUP_MATCHERS, branch_matcher=PLATFORM_TEST_PRIMARY_BRANCH_MATCHER, + check_matcher=f'check=~"{PLATFORM_TEST_STANDARD_CHECK_REGEX}"', status_matcher=f'status!~"{PLATFORM_TEST_NON_FAILURE_STATUS}"', - window=None, ) ) PLATFORM_TEST_CHECK_ROLLUP_SEEN_FLAGS = ( @@ -3856,12 +3875,11 @@ def build_jobs_dashboard(): check_matcher: str = 'check!=""', status_matcher: str = 'status!=""', ) -> str: - selector = platform_check_status_expr( + selector = platform_check_rollup_status_expr( f'suite=~"{suite_var}"', branch_matcher=f'branch!="",branch=~"{branch_var}"', check_matcher=check_matcher, status_matcher=status_matcher, - window=None, ) return selector @@ -3905,8 +3923,9 @@ def build_jobs_dashboard(): f'or on(suite) ({selected_suite_missing})' ) non_failure = PLATFORM_TEST_NON_FAILURE_STATUS - current_gate_seen_vector = _latest_check_flags() - current_gate_ok_vector = _latest_healthy_check_flags() + standard_check_matcher = f'check=~"{PLATFORM_TEST_STANDARD_CHECK_REGEX}"' + current_gate_seen_vector = _latest_check_flags(standard_check_matcher) + current_gate_ok_vector = _latest_healthy_check_flags(standard_check_matcher) current_gate_ok_checks = ( f"sum by (suite) ({current_gate_ok_vector})" ) diff --git a/services/monitoring/dashboards/atlas-testing.json b/services/monitoring/dashboards/atlas-testing.json index 8d5c39a2..63fde54c 100644 --- a/services/monitoring/dashboards/atlas-testing.json +++ b/services/monitoring/dashboards/atlas-testing.json @@ -455,7 +455,7 @@ }, "targets": [ { - "expr": "sort(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube|supply_chain\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube|supply_chain\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube|supply_chain\",status!=\"\"})) > 0), 1))), 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 @@ -1330,7 +1330,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1406,7 +1406,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1482,7 +1482,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1558,7 +1558,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1634,7 +1634,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1710,7 +1710,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1786,7 +1786,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1877,7 +1877,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1953,7 +1953,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!=\"\"})) > 0), 1))), 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}}" } @@ -2029,7 +2029,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!=\"\"})) > 0), 1))), 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}}" } @@ -2105,7 +2105,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!=\"\"})) > 0), 1))), 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}}" } @@ -2181,7 +2181,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!=\"\"})) > 0), 1))), 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}}" } @@ -2257,7 +2257,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!=\"\"})) > 0), 1))), 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}}" } @@ -2333,7 +2333,7 @@ }, "targets": [ { - "expr": "(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!=\"\"})) > 0), 1))), 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-testing.yaml b/services/monitoring/grafana-dashboard-testing.yaml index 627822af..2684b39b 100644 --- a/services/monitoring/grafana-dashboard-testing.yaml +++ b/services/monitoring/grafana-dashboard-testing.yaml @@ -464,7 +464,7 @@ data: }, "targets": [ { - "expr": "sort(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check!=\"\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube|supply_chain\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube|supply_chain\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|coverage|loc|style|docs_naming|gate_glue|sonarqube|supply_chain\",status!=\"\"})) > 0), 1))), 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 @@ -1339,7 +1339,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1415,7 +1415,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1491,7 +1491,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1567,7 +1567,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1643,7 +1643,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1719,7 +1719,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1795,7 +1795,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1886,7 +1886,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"tests|unit|build\",status!=\"\"})) > 0), 1))), 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}}" } @@ -1962,7 +1962,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"coverage\",status!=\"\"})) > 0), 1))), 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}}" } @@ -2038,7 +2038,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"loc|smell\",status!=\"\"})) > 0), 1))), 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}}" } @@ -2114,7 +2114,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",status!=\"\"})) > 0), 1))), 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}}" } @@ -2190,7 +2190,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"gate|glue|gate_glue\",status!=\"\"})) > 0), 1))), 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}}" } @@ -2266,7 +2266,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"sonarqube|sonar\",status!=\"\"})) > 0), 1))), 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}}" } @@ -2342,7 +2342,7 @@ data: }, "targets": [ { - "expr": "(((100 * (sum by (suite) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",status=~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",result=~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",status!=\"\",status!~\"ok|passed|success|not_applicable|skipped|na|n/a\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",result!=\"\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",status!=\"\"} or label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch!=\"\",branch=~\"${branch:regex}\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") or ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",status!=\"\"} * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))) or (label_replace({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",branch=\"\",result!=\"\",status=\"\"}, \"status\", \"$1\", \"result\", \"(.*)\") * on (suite) group_left(branch) (max by (suite, branch) (platform_quality_gate_build_info{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",branch!=\"\",branch=~\"${branch:regex}\"}))))) > 0), 1))), 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) (((clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1)) unless on(suite, check) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (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\"})) > 0), 1))))) / clamp_min((sum by (suite) (clamp_max(max by (suite, check) ((sum by (suite, branch, check, status) (platform_quality:check_status:present_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",status!=\"\"})) > 0), 1))), 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}}" }