monitoring(testing): restrict category panels to taxonomy
This commit is contained in:
parent
ea3366c913
commit
f48ed0cd7d
@ -574,6 +574,10 @@ PLATFORM_TEST_SUITE_MATCHER = "|".join(
|
|||||||
)
|
)
|
||||||
PLATFORM_TEST_SUITE_CANONICAL_MATCHER = "|".join(PLATFORM_TEST_SUITE_NAMES)
|
PLATFORM_TEST_SUITE_CANONICAL_MATCHER = "|".join(PLATFORM_TEST_SUITE_NAMES)
|
||||||
PLATFORM_TEST_SUITE_VARIABLE_ALL_MATCHER = PLATFORM_TEST_SUITE_CANONICAL_MATCHER
|
PLATFORM_TEST_SUITE_VARIABLE_ALL_MATCHER = PLATFORM_TEST_SUITE_CANONICAL_MATCHER
|
||||||
|
PLATFORM_TEST_CATEGORY_REGEX = (
|
||||||
|
"api|chaos|compatibility|component|contract|e2e|integration|manual|"
|
||||||
|
"performance|regression|reliability|security|smoke|system|ui|unit"
|
||||||
|
)
|
||||||
PLATFORM_TEST_SUPPORT_CATEGORY_REGEX = "fixtures|golden|helpers"
|
PLATFORM_TEST_SUPPORT_CATEGORY_REGEX = "fixtures|golden|helpers"
|
||||||
PLATFORM_TEST_SUCCESS_EVENTS_30D = (
|
PLATFORM_TEST_SUCCESS_EVENTS_30D = (
|
||||||
f'(sum(increase(platform_quality_gate_runs_total{{suite=~"{PLATFORM_TEST_SUITE_MATCHER}",status=~"{PLATFORM_TEST_SUCCESS_STATUS}",{PLATFORM_TEST_EXPORT_FILTER}}}[30d])) or on() vector(0))'
|
f'(sum(increase(platform_quality_gate_runs_total{{suite=~"{PLATFORM_TEST_SUITE_MATCHER}",status=~"{PLATFORM_TEST_SUCCESS_STATUS}",{PLATFORM_TEST_EXPORT_FILTER}}}[30d])) or on() vector(0))'
|
||||||
@ -2067,7 +2071,7 @@ def build_overview():
|
|||||||
overview_category_pass_rate = (
|
overview_category_pass_rate = (
|
||||||
'avg by (category) (platform_quality:test_case_pass_rate:percent_1h{'
|
'avg by (category) (platform_quality:test_case_pass_rate:percent_1h{'
|
||||||
f'suite=~"{PLATFORM_TEST_SUITE_CANONICAL_MATCHER}",branch!="",branch=~"main|master|origin/main|origin/master",'
|
f'suite=~"{PLATFORM_TEST_SUITE_CANONICAL_MATCHER}",branch!="",branch=~"main|master|origin/main|origin/master",'
|
||||||
f'test!="",test!="__no_test_cases__",category!="",category!~"uncategorized|{PLATFORM_TEST_SUPPORT_CATEGORY_REGEX}"'
|
f'test!="",test!="__no_test_cases__",category=~"{PLATFORM_TEST_CATEGORY_REGEX}"'
|
||||||
"})"
|
"})"
|
||||||
)
|
)
|
||||||
for panel_id, title, draw_expr, runtime_expr, y_pos in [
|
for panel_id, title, draw_expr, runtime_expr, y_pos in [
|
||||||
@ -3968,7 +3972,7 @@ def build_jobs_dashboard():
|
|||||||
category_pass_rate_history = (
|
category_pass_rate_history = (
|
||||||
f'avg by (category) (platform_quality:test_case_pass_rate:percent_1h{{suite=~"{suite_var}",'
|
f'avg by (category) (platform_quality:test_case_pass_rate:percent_1h{{suite=~"{suite_var}",'
|
||||||
f'branch!="",branch=~"{branch_var}",test!="",test!="__no_test_cases__",'
|
f'branch!="",branch=~"{branch_var}",test!="",test!="__no_test_cases__",'
|
||||||
f'category!="",category!~"{PLATFORM_TEST_SUPPORT_CATEGORY_REGEX}"}})'
|
f'category=~"{PLATFORM_TEST_CATEGORY_REGEX}"}})'
|
||||||
)
|
)
|
||||||
recent_branch_evidence = (
|
recent_branch_evidence = (
|
||||||
f'sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{{{build_info_selector}}}[30d])))'
|
f'sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{{{build_info_selector}}}[30d])))'
|
||||||
|
|||||||
@ -77,6 +77,7 @@ def test_overview_uses_readable_quality_power_and_gitops_panels():
|
|||||||
assert panels_by_title["Test Category Pass Rate"]["targets"][0]["legendFormat"] == "{{category}}"
|
assert panels_by_title["Test Category Pass Rate"]["targets"][0]["legendFormat"] == "{{category}}"
|
||||||
assert "${overview_suite:regex}" not in panels_by_title["Test Category Pass Rate"]["targets"][0]["expr"]
|
assert "${overview_suite:regex}" not in panels_by_title["Test Category Pass Rate"]["targets"][0]["expr"]
|
||||||
assert mod.PLATFORM_TEST_SUITE_CANONICAL_MATCHER in panels_by_title["Test Category Pass Rate"]["targets"][0]["expr"]
|
assert mod.PLATFORM_TEST_SUITE_CANONICAL_MATCHER in panels_by_title["Test Category Pass Rate"]["targets"][0]["expr"]
|
||||||
|
assert f'category=~"{mod.PLATFORM_TEST_CATEGORY_REGEX}"' in panels_by_title["Test Category Pass Rate"]["targets"][0]["expr"]
|
||||||
assert panels_by_title["UPS History (Power Draw)"]["gridPos"] == {"h": 6, "w": 6, "x": 3, "y": 7}
|
assert panels_by_title["UPS History (Power Draw)"]["gridPos"] == {"h": 6, "w": 6, "x": 3, "y": 7}
|
||||||
assert panels_by_title["Ariadne Run Volume"]["gridPos"] == {"h": 6, "w": 6, "x": 9, "y": 7}
|
assert panels_by_title["Ariadne Run Volume"]["gridPos"] == {"h": 6, "w": 6, "x": 9, "y": 7}
|
||||||
assert panels_by_title["Pyrphoros UPS Current"]["gridPos"]["w"] == 3
|
assert panels_by_title["Pyrphoros UPS Current"]["gridPos"]["w"] == 3
|
||||||
@ -245,7 +246,8 @@ def test_jobs_dashboard_separates_current_gate_health_from_reliability():
|
|||||||
category_panel = panels_by_title["Test Category Pass Rate History"]
|
category_panel = panels_by_title["Test Category Pass Rate History"]
|
||||||
assert category_panel["type"] == "state-timeline"
|
assert category_panel["type"] == "state-timeline"
|
||||||
assert "category" in category_panel["targets"][0]["expr"]
|
assert "category" in category_panel["targets"][0]["expr"]
|
||||||
assert 'category!~"fixtures|golden|helpers"' in category_panel["targets"][0]["expr"]
|
assert f'category=~"{mod.PLATFORM_TEST_CATEGORY_REGEX}"' in category_panel["targets"][0]["expr"]
|
||||||
|
assert "installer" not in mod.PLATFORM_TEST_CATEGORY_REGEX
|
||||||
assert "Use the Suite filter" in category_panel["description"]
|
assert "Use the Suite filter" in category_panel["description"]
|
||||||
assert "category-aware results" in category_panel["description"]
|
assert "category-aware results" in category_panel["description"]
|
||||||
|
|
||||||
|
|||||||
@ -2809,7 +2809,7 @@
|
|||||||
},
|
},
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"expr": "avg by (category) (platform_quality:test_case_pass_rate:percent_1h{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",branch!=\"\",branch=~\"main|master|origin/main|origin/master\",test!=\"\",test!=\"__no_test_cases__\",category!=\"\",category!~\"uncategorized|fixtures|golden|helpers\"})",
|
"expr": "avg by (category) (platform_quality:test_case_pass_rate:percent_1h{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",branch!=\"\",branch=~\"main|master|origin/main|origin/master\",test!=\"\",test!=\"__no_test_cases__\",category=~\"api|chaos|compatibility|component|contract|e2e|integration|manual|performance|regression|reliability|security|smoke|system|ui|unit\"})",
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"legendFormat": "{{category}}"
|
"legendFormat": "{{category}}"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -916,7 +916,7 @@
|
|||||||
},
|
},
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"expr": "avg by (category) (platform_quality:test_case_pass_rate:percent_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",test!=\"\",test!=\"__no_test_cases__\",category!=\"\",category!~\"fixtures|golden|helpers\"})",
|
"expr": "avg by (category) (platform_quality:test_case_pass_rate:percent_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",test!=\"\",test!=\"__no_test_cases__\",category=~\"api|chaos|compatibility|component|contract|e2e|integration|manual|performance|regression|reliability|security|smoke|system|ui|unit\"})",
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"legendFormat": "{{category}}"
|
"legendFormat": "{{category}}"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2818,7 +2818,7 @@ data:
|
|||||||
},
|
},
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"expr": "avg by (category) (platform_quality:test_case_pass_rate:percent_1h{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",branch!=\"\",branch=~\"main|master|origin/main|origin/master\",test!=\"\",test!=\"__no_test_cases__\",category!=\"\",category!~\"uncategorized|fixtures|golden|helpers\"})",
|
"expr": "avg by (category) (platform_quality:test_case_pass_rate:percent_1h{suite=~\"ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper\",branch!=\"\",branch=~\"main|master|origin/main|origin/master\",test!=\"\",test!=\"__no_test_cases__\",category=~\"api|chaos|compatibility|component|contract|e2e|integration|manual|performance|regression|reliability|security|smoke|system|ui|unit\"})",
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"legendFormat": "{{category}}"
|
"legendFormat": "{{category}}"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -925,7 +925,7 @@ data:
|
|||||||
},
|
},
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"expr": "avg by (category) (platform_quality:test_case_pass_rate:percent_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",test!=\"\",test!=\"__no_test_cases__\",category!=\"\",category!~\"fixtures|golden|helpers\"})",
|
"expr": "avg by (category) (platform_quality:test_case_pass_rate:percent_1h{suite=~\"${suite:regex}\",branch!=\"\",branch=~\"${branch:regex}\",test!=\"\",test!=\"__no_test_cases__\",category=~\"api|chaos|compatibility|component|contract|e2e|integration|manual|performance|regression|reliability|security|smoke|system|ui|unit\"})",
|
||||||
"refId": "A",
|
"refId": "A",
|
||||||
"legendFormat": "{{category}}"
|
"legendFormat": "{{category}}"
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user