monitoring(overview): restore category timeline

This commit is contained in:
jenkins 2026-05-17 18:01:37 -03:00
parent 52bee00432
commit ea3366c913
4 changed files with 66 additions and 266 deletions

View File

@ -1324,36 +1324,6 @@ def testing_suite_variable():
}
def overview_testing_suite_variable():
preferred = "$__all"
options = [{"text": "All", "value": "$__all", "selected": True}]
options.extend(
{
"text": suite,
"value": suite,
"selected": False,
}
for suite in PLATFORM_TEST_SUITE_NAMES
)
return {
"name": "overview_suite",
"label": "Testing Suite",
"type": "custom",
"query": ",".join(f"{suite} : {suite}" for suite in PLATFORM_TEST_SUITE_NAMES),
"current": {"text": "All", "value": preferred, "selected": True},
"options": options,
# Grafana variables are dashboard-scoped controls; hide this one because only the
# Test Category Pass Rate panel consumes it.
"hide": 2,
"multi": False,
"includeAll": True,
"allValue": PLATFORM_TEST_SUITE_CANONICAL_MATCHER,
"refresh": 1,
"sort": 1,
"skipUrlSync": False,
}
def testing_case_variable():
return {
"name": "test",
@ -1658,7 +1628,7 @@ OVERVIEW_PANEL_DESCRIPTIONS = {
"GitOps Health": "Flux readiness and suspension health over time; blue is perfect, warmer colors mean drift or pause.",
"One-off Job Pods (age hours)": "Temporary job pods by age; low or empty is good, old pods usually need cleanup.",
"Ariadne Run Volume": "Ariadne automation attempts and failures; attempts show activity, failures show work to investigate.",
"Test Category Pass Rate": "Pass rate by test category for the selected suite; blue means clean categories, warmer colors show problem areas.",
"Test Category Pass Rate": "Pass rate by test category across all suites; blue means clean categories, warmer colors show problem areas.",
"Jenkins Last Success (h, newest first)": "Age of recent Jenkins successes; lower is fresher and better.",
"Jenkins Last Failure (h, newest first)": "Age of recent Jenkins failures; lower means a failure happened more recently.",
"PVC Backup Health / Age": "Restic backup age by PVC; lower is better, very old backups mean restore risk.",
@ -2096,7 +2066,7 @@ def build_overview():
overview_loc_clean_suites = f"(sum(({QUALITY_GATE_SMELL_INFRACTIONS_BY_SUITE}) == bool 0) or on() vector(0))"
overview_category_pass_rate = (
'avg by (category) (platform_quality:test_case_pass_rate:percent_1h{'
'suite=~"${overview_suite:regex}",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}"'
"})"
)
@ -2429,21 +2399,25 @@ def build_overview():
)
panels.append(apply_bar_timeseries_style(ariadne_volume, stacked=False))
panels.append(
bargauge_panel(
state_timeline_panel(
46,
"Test Category Pass Rate",
overview_category_pass_rate,
{"h": 6, "w": 6, "x": 15, "y": 13},
unit="percent",
instant=True,
min_value=0,
max_value=100,
legend="{{category}}",
sort_order="asc",
thresholds=test_success_thresholds,
decimals=1,
links=overview_link("atlas-testing"),
description="Current pass rate by test category for the selected suite set. Blue is clean; warmer colors show categories needing attention.",
description="Pass rate by test category across all suites over the selected time range. Blue is clean; warmer colors show categories needing attention.",
)
)
panels[-1]["options"]["legend"] = {"displayMode": "list", "placement": "bottom", "showLegend": False}
panels[-1]["options"]["mergeValues"] = False
panels[-1]["options"]["showValue"] = "auto"
panels[-1]["options"]["tooltip"] = {"mode": "multi", "sort": "none"}
panels[-1]["options"]["rowHeight"] = 0.9
for panel_id, title, metric, x_pos, description in [
(
142,
@ -2867,7 +2841,6 @@ def build_overview():
namespace_scope_variable("namespace_scope_cpu", "CPU namespace filter"),
namespace_scope_variable("namespace_scope_gpu", "GPU namespace filter"),
namespace_scope_variable("namespace_scope_ram", "RAM namespace filter"),
overview_testing_suite_variable(),
]
},
"time": {"from": "now-1h", "to": "now"},

View File

@ -72,10 +72,11 @@ def test_overview_uses_readable_quality_power_and_gitops_panels():
]
assert "atlas-jobs" not in repr(dashboard)
assert "Platform Test Success Rate" not in panels_by_title
assert panels_by_title["Test Category Pass Rate"]["type"] == "bargauge"
assert panels_by_title["Test Category Pass Rate"]["type"] == "state-timeline"
assert panels_by_title["Test Category Pass Rate"]["gridPos"] == {"h": 6, "w": 6, "x": 15, "y": 13}
assert panels_by_title["Test Category Pass Rate"]["targets"][0]["legendFormat"] == "{{category}}"
assert "${overview_suite:regex}" 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 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["Pyrphoros UPS Current"]["gridPos"]["w"] == 3
@ -131,17 +132,13 @@ def test_overview_uses_readable_quality_power_and_gitops_panels():
gitops_expr = panels_by_title["GitOps Health"]["targets"][0]["expr"]
assert "Kustomizations Not Suspended" in gitops_expr
assert "HelmReleases Not Suspended" in gitops_expr
assert panels_by_title["Test Category Pass Rate"]["type"] == "bargauge"
assert panels_by_title["Test Category Pass Rate"]["options"]["orientation"] == "horizontal"
assert panels_by_title["Test Category Pass Rate"]["targets"][0]["instant"] is True
assert panels_by_title["Test Category Pass Rate"]["type"] == "state-timeline"
assert panels_by_title["Test Category Pass Rate"]["options"]["legend"]["showLegend"] is False
assert panels_by_title["Test Category Pass Rate"]["options"]["mergeValues"] is False
assert panels_by_title["Test Category Pass Rate"]["options"]["showValue"] == "auto"
assert panels_by_title["Test Category Pass Rate"]["options"]["rowHeight"] == 0.9
assert panels_by_title["Test Category Pass Rate"]["targets"][0]["legendFormat"] == "{{category}}"
assert panels_by_title["Test Category Pass Rate"]["transformations"][0]["id"] == "sortBy"
assert panels_by_title["Test Category Pass Rate"]["transformations"][0]["options"]["order"] == "asc"
overview_suite = next(variable for variable in dashboard["templating"]["list"] if variable["name"] == "overview_suite")
assert overview_suite["current"] == {"text": "All", "value": "$__all", "selected": True}
assert overview_suite["includeAll"] is True
assert overview_suite["allValue"] == mod.PLATFORM_TEST_SUITE_CANONICAL_MATCHER
assert overview_suite["hide"] == 2
assert not any(variable["name"] == "overview_suite" for variable in dashboard["templating"]["list"])
pvc_backup_expr = panels_by_title["PVC Backup Health / Age"]["targets"][0]["expr"]
assert "backup-telemetry-missing" in pvc_backup_expr

View File

@ -2794,8 +2794,9 @@
},
{
"id": 46,
"type": "bargauge",
"type": "state-timeline",
"title": "Test Category Pass Rate",
"description": "Pass rate by test category across all suites over the selected time range. Blue is clean; warmer colors show categories needing attention.",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
@ -2808,10 +2809,9 @@
},
"targets": [
{
"expr": "sort(avg by (category) (platform_quality:test_case_pass_rate:percent_1h{suite=~\"${overview_suite:regex}\",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!=\"\",category!~\"uncategorized|fixtures|golden|helpers\"})",
"refId": "A",
"legendFormat": "{{category}}",
"instant": true
"legendFormat": "{{category}}"
}
],
"fieldConfig": {
@ -2820,8 +2820,6 @@
"mode": "thresholds"
},
"unit": "percent",
"min": 0,
"max": 100,
"thresholds": {
"mode": "absolute",
"steps": [
@ -2847,20 +2845,29 @@
}
]
},
"decimals": 1
"custom": {
"fillOpacity": 70,
"lineWidth": 0,
"spanNulls": true
},
"min": 0,
"max": 100
},
"overrides": []
},
"options": {
"displayMode": "basic",
"orientation": "horizontal",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
}
"mergeValues": false,
"showValue": "auto",
"legend": {
"displayMode": "list",
"placement": "bottom",
"showLegend": false
},
"tooltip": {
"mode": "multi",
"sort": "none"
},
"rowHeight": 0.9
},
"links": [
{
@ -2868,18 +2875,6 @@
"url": "/d/atlas-testing",
"targetBlank": true
}
],
"description": "Current pass rate by test category for the selected suite set. Blue is clean; warmer colors show categories needing attention.",
"transformations": [
{
"id": "sortBy",
"options": {
"fields": [
"Value"
],
"order": "asc"
}
}
]
},
{
@ -4490,86 +4485,6 @@
"refresh": 1,
"sort": 0,
"skipUrlSync": false
},
{
"name": "overview_suite",
"label": "Testing Suite",
"type": "custom",
"query": "ariadne : ariadne,metis : metis,ananke : ananke,atlasbot : atlasbot,lesavka : lesavka,pegasus : pegasus,soteria : soteria,titan_iac : titan_iac,typhon : typhon,bstein_home : bstein_home,data_prepper : data_prepper",
"current": {
"text": "All",
"value": "$__all",
"selected": true
},
"options": [
{
"text": "All",
"value": "$__all",
"selected": true
},
{
"text": "ariadne",
"value": "ariadne",
"selected": false
},
{
"text": "metis",
"value": "metis",
"selected": false
},
{
"text": "ananke",
"value": "ananke",
"selected": false
},
{
"text": "atlasbot",
"value": "atlasbot",
"selected": false
},
{
"text": "lesavka",
"value": "lesavka",
"selected": false
},
{
"text": "pegasus",
"value": "pegasus",
"selected": false
},
{
"text": "soteria",
"value": "soteria",
"selected": false
},
{
"text": "titan_iac",
"value": "titan_iac",
"selected": false
},
{
"text": "typhon",
"value": "typhon",
"selected": false
},
{
"text": "bstein_home",
"value": "bstein_home",
"selected": false
},
{
"text": "data_prepper",
"value": "data_prepper",
"selected": false
}
],
"hide": 2,
"multi": false,
"includeAll": true,
"allValue": "ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper",
"refresh": 1,
"sort": 1,
"skipUrlSync": false
}
]
},

View File

@ -2803,8 +2803,9 @@ data:
},
{
"id": 46,
"type": "bargauge",
"type": "state-timeline",
"title": "Test Category Pass Rate",
"description": "Pass rate by test category across all suites over the selected time range. Blue is clean; warmer colors show categories needing attention.",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
@ -2817,10 +2818,9 @@ data:
},
"targets": [
{
"expr": "sort(avg by (category) (platform_quality:test_case_pass_rate:percent_1h{suite=~\"${overview_suite:regex}\",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!=\"\",category!~\"uncategorized|fixtures|golden|helpers\"})",
"refId": "A",
"legendFormat": "{{category}}",
"instant": true
"legendFormat": "{{category}}"
}
],
"fieldConfig": {
@ -2829,8 +2829,6 @@ data:
"mode": "thresholds"
},
"unit": "percent",
"min": 0,
"max": 100,
"thresholds": {
"mode": "absolute",
"steps": [
@ -2856,20 +2854,29 @@ data:
}
]
},
"decimals": 1
"custom": {
"fillOpacity": 70,
"lineWidth": 0,
"spanNulls": true
},
"min": 0,
"max": 100
},
"overrides": []
},
"options": {
"displayMode": "basic",
"orientation": "horizontal",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
}
"mergeValues": false,
"showValue": "auto",
"legend": {
"displayMode": "list",
"placement": "bottom",
"showLegend": false
},
"tooltip": {
"mode": "multi",
"sort": "none"
},
"rowHeight": 0.9
},
"links": [
{
@ -2877,18 +2884,6 @@ data:
"url": "/d/atlas-testing",
"targetBlank": true
}
],
"description": "Current pass rate by test category for the selected suite set. Blue is clean; warmer colors show categories needing attention.",
"transformations": [
{
"id": "sortBy",
"options": {
"fields": [
"Value"
],
"order": "asc"
}
}
]
},
{
@ -4499,86 +4494,6 @@ data:
"refresh": 1,
"sort": 0,
"skipUrlSync": false
},
{
"name": "overview_suite",
"label": "Testing Suite",
"type": "custom",
"query": "ariadne : ariadne,metis : metis,ananke : ananke,atlasbot : atlasbot,lesavka : lesavka,pegasus : pegasus,soteria : soteria,titan_iac : titan_iac,typhon : typhon,bstein_home : bstein_home,data_prepper : data_prepper",
"current": {
"text": "All",
"value": "$__all",
"selected": true
},
"options": [
{
"text": "All",
"value": "$__all",
"selected": true
},
{
"text": "ariadne",
"value": "ariadne",
"selected": false
},
{
"text": "metis",
"value": "metis",
"selected": false
},
{
"text": "ananke",
"value": "ananke",
"selected": false
},
{
"text": "atlasbot",
"value": "atlasbot",
"selected": false
},
{
"text": "lesavka",
"value": "lesavka",
"selected": false
},
{
"text": "pegasus",
"value": "pegasus",
"selected": false
},
{
"text": "soteria",
"value": "soteria",
"selected": false
},
{
"text": "titan_iac",
"value": "titan_iac",
"selected": false
},
{
"text": "typhon",
"value": "typhon",
"selected": false
},
{
"text": "bstein_home",
"value": "bstein_home",
"selected": false
},
{
"text": "data_prepper",
"value": "data_prepper",
"selected": false
}
],
"hide": 2,
"multi": false,
"includeAll": true,
"allValue": "ariadne|metis|ananke|atlasbot|lesavka|pegasus|soteria|titan_iac|typhon|bstein_home|data_prepper",
"refresh": 1,
"sort": 1,
"skipUrlSync": false
}
]
},