monitoring(testing): harden suite selector and success history query
This commit is contained in:
parent
9e3cc0f760
commit
f9d7694f25
@ -2958,7 +2958,7 @@ def build_mail_dashboard():
|
||||
|
||||
def build_jobs_dashboard():
|
||||
panels = []
|
||||
suite_var = "${suite}"
|
||||
suite_var = "${suite:raw}"
|
||||
success = PLATFORM_TEST_SUCCESS_STATUS
|
||||
exported = PLATFORM_TEST_EXPORT_FILTER
|
||||
runs_selector = f'suite=~"{suite_var}",{exported}'
|
||||
@ -2996,8 +2996,9 @@ def build_jobs_dashboard():
|
||||
f'sum by (suite) (increase(platform_quality_gate_runs_total{{{runs_failure_selector}}}[24h]))'
|
||||
)
|
||||
success_history_by_suite = (
|
||||
f'100 * (sum by (suite) (increase(platform_quality_gate_runs_total{{{runs_success_selector}}}[$__interval])) '
|
||||
f'/ clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{{{runs_selector}}}[$__interval]))), 1))'
|
||||
f'(100 * (sum by (suite) (increase(platform_quality_gate_runs_total{{{runs_success_selector}}}[$__interval])) '
|
||||
f'/ clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{{{runs_selector}}}[$__interval]))), 1))) '
|
||||
f'or on(suite) (0 * sum by (suite) (increase(platform_quality_gate_runs_total{{{runs_selector}}}[$__range])))'
|
||||
)
|
||||
coverage_by_suite = (
|
||||
f'(max by (suite) ({{{coverage_metric_selector}}})) '
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "100 * ((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[24h])) or on() vector(0))) / clamp_min(((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[24h])) or on() vector(0))), 1)",
|
||||
"expr": "100 * ((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[24h])) or on() vector(0))) / clamp_min(((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[24h])) or on() vector(0))), 1)",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -90,7 +90,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "100 * ((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d])) or on() vector(0))) / clamp_min(((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[30d])) or on() vector(0))), 1)",
|
||||
"expr": "100 * ((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d])) or on() vector(0))) / clamp_min(((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[30d])) or on() vector(0))), 1)",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -160,7 +160,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[24h])) or on() vector(0))",
|
||||
"expr": "(sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[24h])) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -229,7 +229,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[24h])) or on() vector(0))",
|
||||
"expr": "(sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[24h])) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -290,7 +290,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(avg(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"})))) or on() vector(0))",
|
||||
"expr": "(avg(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"})))) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -360,7 +360,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"})) > bool 0)) or on() vector(0))",
|
||||
"expr": "(sum(((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"})) > bool 0)) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -433,7 +433,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -502,7 +502,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -571,7 +571,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -640,7 +640,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -709,7 +709,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -778,7 +778,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -847,7 +847,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -916,7 +916,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",result!~\"ok|passed|success\"}) or on() vector(0))",
|
||||
"expr": "(sum({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",result!~\"ok|passed|success\"}) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -985,7 +985,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort_desc(sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[24h])))",
|
||||
"expr": "sort_desc(sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[24h])))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}}",
|
||||
"instant": true
|
||||
@ -1059,7 +1059,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort_desc(100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[24h]))) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[24h]))), 1))",
|
||||
"expr": "sort_desc(100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[24h]))) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[24h]))), 1))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}}",
|
||||
"instant": true
|
||||
@ -1134,7 +1134,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort_desc(clamp_min(95 - ((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}))), 0))",
|
||||
"expr": "sort_desc(clamp_min(95 - ((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}))), 0))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}}",
|
||||
"instant": true
|
||||
@ -1210,7 +1210,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[$__interval]))), 1))",
|
||||
"expr": "(100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[$__interval]))), 1))) or on(suite) (0 * sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[$__range])))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}}"
|
||||
}
|
||||
@ -1259,17 +1259,17 @@
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) or on() vector(0)",
|
||||
"expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) or on() vector(0)",
|
||||
"legendFormat": "Success"
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[$__interval])) or on() vector(0)",
|
||||
"expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[$__interval])) or on() vector(0)",
|
||||
"legendFormat": "Failure"
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[$__interval])) or on() vector(0)",
|
||||
"expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[$__interval])) or on() vector(0)",
|
||||
"legendFormat": "Total"
|
||||
}
|
||||
],
|
||||
@ -1310,12 +1310,12 @@
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "max_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[$__interval])",
|
||||
"expr": "max_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[$__interval])",
|
||||
"legendFormat": "{{suite}} coverage %"
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "max_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[$__interval])",
|
||||
"expr": "max_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[$__interval])",
|
||||
"legendFormat": "{{suite}} files >500 LOC"
|
||||
}
|
||||
],
|
||||
@ -1355,7 +1355,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sum by (status) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[30d]))",
|
||||
"expr": "sum by (status) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[30d]))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{status}}"
|
||||
}
|
||||
@ -1406,7 +1406,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort_desc(sum by (suite, result) ({__name__=~\".*_quality_gate_tests_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}))",
|
||||
"expr": "sort_desc(sum by (suite, result) ({__name__=~\".*_quality_gate_tests_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}} \u00b7 {{result}}",
|
||||
"instant": true
|
||||
@ -1486,7 +1486,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort_desc(sum by (suite, check) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",result!~\"ok|passed|success\"}))",
|
||||
"expr": "sort_desc(sum by (suite, check) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",result!~\"ok|passed|success\"}))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}} \u00b7 {{check}}",
|
||||
"instant": true
|
||||
@ -1567,7 +1567,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}))) or on(suite) (0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[30d]))) - 1))",
|
||||
"expr": "sort(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}))) or on(suite) (0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[30d]))) - 1))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}}",
|
||||
"instant": true
|
||||
@ -1652,7 +1652,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort_desc((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"})) or on(suite) (0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[30d]))) - 1))",
|
||||
"expr": "sort_desc((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"})) or on(suite) (0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[30d]))) - 1))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}}",
|
||||
"instant": true
|
||||
@ -2069,7 +2069,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(count(sonarqube_project_quality_gate_pass{project_key=~\"${suite}\"}) or on() vector(0))",
|
||||
"expr": "(count(sonarqube_project_quality_gate_pass{project_key=~\"${suite:raw}\"}) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -2207,7 +2207,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "count by (status) (sonarqube_project_quality_gate_pass{project_key=~\"${suite}\"})",
|
||||
"expr": "count by (status) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:raw}\"})",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{status}}"
|
||||
}
|
||||
@ -2258,7 +2258,7 @@
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort_desc(count by (project_key) (sonarqube_project_quality_gate_pass{project_key=~\"${suite}\",status!~\"OK|ok\"}))",
|
||||
"expr": "sort_desc(count by (project_key) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:raw}\",status!~\"OK|ok\"}))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{project_key}}",
|
||||
"instant": true
|
||||
|
||||
@ -29,7 +29,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "100 * ((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[24h])) or on() vector(0))) / clamp_min(((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[24h])) or on() vector(0))), 1)",
|
||||
"expr": "100 * ((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[24h])) or on() vector(0))) / clamp_min(((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[24h])) or on() vector(0))), 1)",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -99,7 +99,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "100 * ((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d])) or on() vector(0))) / clamp_min(((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[30d])) or on() vector(0))), 1)",
|
||||
"expr": "100 * ((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d])) or on() vector(0))) / clamp_min(((sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[30d])) or on() vector(0))), 1)",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -169,7 +169,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[24h])) or on() vector(0))",
|
||||
"expr": "(sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[24h])) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -238,7 +238,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[24h])) or on() vector(0))",
|
||||
"expr": "(sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[24h])) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -299,7 +299,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(avg(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"})))) or on() vector(0))",
|
||||
"expr": "(avg(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"})))) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -369,7 +369,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"})) > bool 0)) or on() vector(0))",
|
||||
"expr": "(sum(((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"})) > bool 0)) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -442,7 +442,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -511,7 +511,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -580,7 +580,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -649,7 +649,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -718,7 +718,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -787,7 +787,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -856,7 +856,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success\"})) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -925,7 +925,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(sum({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",result!~\"ok|passed|success\"}) or on() vector(0))",
|
||||
"expr": "(sum({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",result!~\"ok|passed|success\"}) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -994,7 +994,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort_desc(sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[24h])))",
|
||||
"expr": "sort_desc(sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[24h])))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}}",
|
||||
"instant": true
|
||||
@ -1068,7 +1068,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort_desc(100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[24h]))) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[24h]))), 1))",
|
||||
"expr": "sort_desc(100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[24h]))) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[24h]))), 1))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}}",
|
||||
"instant": true
|
||||
@ -1143,7 +1143,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort_desc(clamp_min(95 - ((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}))), 0))",
|
||||
"expr": "sort_desc(clamp_min(95 - ((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}))), 0))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}}",
|
||||
"instant": true
|
||||
@ -1219,7 +1219,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[$__interval]))), 1))",
|
||||
"expr": "(100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[$__interval]))), 1))) or on(suite) (0 * sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[$__range])))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}}"
|
||||
}
|
||||
@ -1268,17 +1268,17 @@ data:
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) or on() vector(0)",
|
||||
"expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) or on() vector(0)",
|
||||
"legendFormat": "Success"
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[$__interval])) or on() vector(0)",
|
||||
"expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[$__interval])) or on() vector(0)",
|
||||
"legendFormat": "Failure"
|
||||
},
|
||||
{
|
||||
"refId": "C",
|
||||
"expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[$__interval])) or on() vector(0)",
|
||||
"expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[$__interval])) or on() vector(0)",
|
||||
"legendFormat": "Total"
|
||||
}
|
||||
],
|
||||
@ -1319,12 +1319,12 @@ data:
|
||||
"targets": [
|
||||
{
|
||||
"refId": "A",
|
||||
"expr": "max_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[$__interval])",
|
||||
"expr": "max_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[$__interval])",
|
||||
"legendFormat": "{{suite}} coverage %"
|
||||
},
|
||||
{
|
||||
"refId": "B",
|
||||
"expr": "max_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[$__interval])",
|
||||
"expr": "max_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[$__interval])",
|
||||
"legendFormat": "{{suite}} files >500 LOC"
|
||||
}
|
||||
],
|
||||
@ -1364,7 +1364,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sum by (status) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[30d]))",
|
||||
"expr": "sum by (status) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[30d]))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{status}}"
|
||||
}
|
||||
@ -1415,7 +1415,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort_desc(sum by (suite, result) ({__name__=~\".*_quality_gate_tests_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}))",
|
||||
"expr": "sort_desc(sum by (suite, result) ({__name__=~\".*_quality_gate_tests_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}} \u00b7 {{result}}",
|
||||
"instant": true
|
||||
@ -1495,7 +1495,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort_desc(sum by (suite, check) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\",result!~\"ok|passed|success\"}))",
|
||||
"expr": "sort_desc(sum by (suite, check) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\",result!~\"ok|passed|success\"}))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}} \u00b7 {{check}}",
|
||||
"instant": true
|
||||
@ -1576,7 +1576,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}))) or on(suite) (0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[30d]))) - 1))",
|
||||
"expr": "sort(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}))) or on(suite) (0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[30d]))) - 1))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}}",
|
||||
"instant": true
|
||||
@ -1661,7 +1661,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort_desc((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"})) or on(suite) (0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite}\",exported_job=\"platform-quality-ci\"}[30d]))) - 1))",
|
||||
"expr": "sort_desc((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"})) or on(suite) (0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:raw}\",exported_job=\"platform-quality-ci\"}[30d]))) - 1))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{suite}}",
|
||||
"instant": true
|
||||
@ -2078,7 +2078,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "(count(sonarqube_project_quality_gate_pass{project_key=~\"${suite}\"}) or on() vector(0))",
|
||||
"expr": "(count(sonarqube_project_quality_gate_pass{project_key=~\"${suite:raw}\"}) or on() vector(0))",
|
||||
"refId": "A",
|
||||
"instant": true
|
||||
}
|
||||
@ -2216,7 +2216,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "count by (status) (sonarqube_project_quality_gate_pass{project_key=~\"${suite}\"})",
|
||||
"expr": "count by (status) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:raw}\"})",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{status}}"
|
||||
}
|
||||
@ -2267,7 +2267,7 @@ data:
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sort_desc(count by (project_key) (sonarqube_project_quality_gate_pass{project_key=~\"${suite}\",status!~\"OK|ok\"}))",
|
||||
"expr": "sort_desc(count by (project_key) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:raw}\",status!~\"OK|ok\"}))",
|
||||
"refId": "A",
|
||||
"legendFormat": "{{project_key}}",
|
||||
"instant": true
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user