monitoring(testing): memoize gate check health

This commit is contained in:
jenkins 2026-05-19 22:41:02 -03:00
parent a32995b1a1
commit ea2071bbc5
3 changed files with 59 additions and 40 deletions

View File

@ -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})"
)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long