monitoring(testing): prefer fresh coverage metrics

This commit is contained in:
jenkins 2026-05-19 06:31:04 -03:00
parent 5d80f882ae
commit 8bf3d63bae
6 changed files with 22 additions and 18 deletions

View File

@ -66,8 +66,8 @@ def latest_suite_value(
sample_time = f"tlast_over_time({selector}[{window}])" sample_time = f"tlast_over_time({selector}[{window}])"
if success_selector: if success_selector:
successful_run = f"(last_over_time({success_selector}[{window}]) > 0)" successful_run = f"(last_over_time({success_selector}[{window}]) > 0)"
sample = f"(({sample}) and ignoring(status) ({successful_run}))" sample = f"(({sample}) and on(suite) ({successful_run}))"
sample_time = f"(({sample_time}) and ignoring(status) ({successful_run}))" sample_time = f"(({sample_time}) and on(suite) ({successful_run}))"
latest_series = f"topk by (suite) (1, {sample_time})" latest_series = f"topk by (suite) (1, {sample_time})"
return f"max by (suite) (({sample}) and ({latest_series}))" return f"max by (suite) (({sample}) and ({latest_series}))"
@ -705,13 +705,13 @@ QUALITY_GATE_SUITE_INDEX_30D = (
) )
QUALITY_GATE_COVERAGE_BY_SUITE = ( QUALITY_GATE_COVERAGE_BY_SUITE = (
latest_suite_value( latest_suite_value(
f'{{__name__=~".*_quality_gate_coverage_percent",suite=~"{PLATFORM_TEST_SUITE_CANONICAL_MATCHER}",{PLATFORM_TEST_EXPORT_FILTER}}}', f"platform_quality_gate_workspace_line_coverage_percent{{suite=~\"{PLATFORM_TEST_SUITE_CANONICAL_MATCHER}\",{PLATFORM_TEST_EXPORT_FILTER}}}",
PLATFORM_TEST_LATEST_WINDOW, PLATFORM_TEST_LATEST_WINDOW,
f"platform_quality_gate_runs_total{{suite=~\"{PLATFORM_TEST_SUITE_CANONICAL_MATCHER}\",status=~\"{PLATFORM_TEST_SUCCESS_STATUS}\",{PLATFORM_TEST_EXPORT_FILTER}}}", f"platform_quality_gate_runs_total{{suite=~\"{PLATFORM_TEST_SUITE_CANONICAL_MATCHER}\",status=~\"{PLATFORM_TEST_SUCCESS_STATUS}\",{PLATFORM_TEST_EXPORT_FILTER}}}",
) )
+ " or on(suite) " + " or on(suite) "
+ latest_suite_value( + latest_suite_value(
f"platform_quality_gate_workspace_line_coverage_percent{{suite=~\"{PLATFORM_TEST_SUITE_CANONICAL_MATCHER}\",{PLATFORM_TEST_EXPORT_FILTER}}}", f'{{__name__=~".*_quality_gate_coverage_percent",suite=~"{PLATFORM_TEST_SUITE_CANONICAL_MATCHER}",{PLATFORM_TEST_EXPORT_FILTER}}}',
PLATFORM_TEST_LATEST_WINDOW, PLATFORM_TEST_LATEST_WINDOW,
f"platform_quality_gate_runs_total{{suite=~\"{PLATFORM_TEST_SUITE_CANONICAL_MATCHER}\",status=~\"{PLATFORM_TEST_SUCCESS_STATUS}\",{PLATFORM_TEST_EXPORT_FILTER}}}", f"platform_quality_gate_runs_total{{suite=~\"{PLATFORM_TEST_SUITE_CANONICAL_MATCHER}\",status=~\"{PLATFORM_TEST_SUCCESS_STATUS}\",{PLATFORM_TEST_EXPORT_FILTER}}}",
) )
@ -3918,13 +3918,13 @@ def build_jobs_dashboard():
) )
coverage_by_suite = ( coverage_by_suite = (
latest_suite_value( latest_suite_value(
f"{{{coverage_metric_selector}}}", f"platform_quality_gate_workspace_line_coverage_percent{{{workspace_coverage_selector}}}",
PLATFORM_TEST_LATEST_WINDOW, PLATFORM_TEST_LATEST_WINDOW,
f"platform_quality_gate_runs_total{{{runs_success_selector}}}", f"platform_quality_gate_runs_total{{{runs_success_selector}}}",
) )
+ " or on(suite) " + " or on(suite) "
+ latest_suite_value( + latest_suite_value(
f"platform_quality_gate_workspace_line_coverage_percent{{{workspace_coverage_selector}}}", f"{{{coverage_metric_selector}}}",
PLATFORM_TEST_LATEST_WINDOW, PLATFORM_TEST_LATEST_WINDOW,
f"platform_quality_gate_runs_total{{{runs_success_selector}}}", f"platform_quality_gate_runs_total{{{runs_success_selector}}}",
) )

View File

@ -2377,7 +2377,7 @@
}, },
"targets": [ "targets": [
{ {
"expr": "(avg((max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))))) or on(suite) max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))))))) or on() vector(0))", "expr": "(avg((max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))))) or on(suite) max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))))))) or on() vector(0))",
"refId": "A", "refId": "A",
"instant": true "instant": true
} }

View File

@ -306,7 +306,7 @@
}, },
"targets": [ "targets": [
{ {
"expr": "(avg((max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))))) or on(suite) max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))))))) or on() vector(0))", "expr": "(avg((max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))))) or on(suite) max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))))))) or on() vector(0))",
"refId": "A", "refId": "A",
"instant": true "instant": true
} }
@ -641,7 +641,7 @@
}, },
"targets": [ "targets": [
{ {
"expr": "sort((max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))))) or on(suite) max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0))))))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) - 1))", "expr": "sort((max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))))) or on(suite) max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0))))))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) - 1))",
"refId": "A", "refId": "A",
"legendFormat": "{{suite}}", "legendFormat": "{{suite}}",
"instant": true "instant": true
@ -1163,7 +1163,7 @@
}, },
"targets": [ "targets": [
{ {
"expr": "max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0)))))) or on(suite) max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0))))))", "expr": "max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0)))))) or on(suite) max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0))))))",
"refId": "A", "refId": "A",
"legendFormat": "{{suite}}" "legendFormat": "{{suite}}"
} }

View File

@ -2386,7 +2386,7 @@ data:
}, },
"targets": [ "targets": [
{ {
"expr": "(avg((max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))))) or on(suite) max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))))))) or on() vector(0))", "expr": "(avg((max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))))) or on(suite) max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",status=~\"ok|passed|success\",exported_job=\"platform-quality-ci\"}[30d]) > 0)))))))) or on() vector(0))",
"refId": "A", "refId": "A",
"instant": true "instant": true
} }

View File

@ -315,7 +315,7 @@ data:
}, },
"targets": [ "targets": [
{ {
"expr": "(avg((max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))))) or on(suite) max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))))))) or on() vector(0))", "expr": "(avg((max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))))) or on(suite) max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))))))) or on() vector(0))",
"refId": "A", "refId": "A",
"instant": true "instant": true
} }
@ -650,7 +650,7 @@ data:
}, },
"targets": [ "targets": [
{ {
"expr": "sort((max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))))) or on(suite) max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0))))))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) - 1))", "expr": "sort((max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))))) or on(suite) max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30d]) > 0))))))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])))) - 1))",
"refId": "A", "refId": "A",
"legendFormat": "{{suite}}", "legendFormat": "{{suite}}",
"instant": true "instant": true
@ -1172,7 +1172,7 @@ data:
}, },
"targets": [ "targets": [
{ {
"expr": "max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0)))))) or on(suite) max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and ignoring(status) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0))))))", "expr": "max by (suite) ((((last_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0)))) and (topk by (suite) (1, ((tlast_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0)))))) or on(suite) max by (suite) ((((last_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0)))) and (topk by (suite) (1, ((tlast_over_time({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30h])) and on(suite) ((last_over_time(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[30h]) > 0))))))",
"refId": "A", "refId": "A",
"legendFormat": "{{suite}}" "legendFormat": "{{suite}}"
} }

View File

@ -63,20 +63,24 @@ spec:
path: /-/healthy path: /-/healthy
port: http port: http
initialDelaySeconds: 15 initialDelaySeconds: 15
timeoutSeconds: 5
periodSeconds: 10 periodSeconds: 10
failureThreshold: 6
readinessProbe: readinessProbe:
httpGet: httpGet:
path: /-/ready path: /-/ready
port: http port: http
initialDelaySeconds: 5 initialDelaySeconds: 5
timeoutSeconds: 5
periodSeconds: 5 periodSeconds: 5
failureThreshold: 6
resources: resources:
requests: requests:
cpu: 20m cpu: 100m
memory: 64Mi memory: 128Mi
limits: limits:
cpu: 250m cpu: 1
memory: 256Mi memory: 1Gi
volumeMounts: volumeMounts:
- name: data - name: data
mountPath: /data mountPath: /data