monitoring(testing): fix missing-state queries and add test-case drilldowns

This commit is contained in:
jenkins 2026-04-20 13:45:01 -03:00
parent b7f6cbd87c
commit 607d8c21fa
3 changed files with 827 additions and 10 deletions

View File

@ -512,6 +512,18 @@ PLATFORM_TEST_SUITE_VALUE_BY_NAME = {
"bstein_home": "bstein_home|bstein-home",
"data_prepper": "data_prepper|data-prepper",
}
PLATFORM_TEST_JENKINS_JOB_BY_SUITE = {
"ariadne": "ariadne",
"metis": "metis",
"ananke": "ananke",
"atlasbot": "atlasbot",
"pegasus": "pegasus",
"soteria": "Soteria",
"titan_iac": "titan-iac",
"bstein_home": "bstein-dev-home",
"data_prepper": "data-prepper",
}
JENKINS_UI_BASE_DEFAULT = "https://ci.bstein.dev"
PLATFORM_TEST_SUITE_MATCHER = "|".join(
PLATFORM_TEST_SUITE_VALUE_BY_NAME.get(suite, suite) for suite in PLATFORM_TEST_SUITE_NAMES
)
@ -1126,6 +1138,44 @@ def testing_case_variable():
}
def jenkins_base_variable():
return {
"name": "jenkins_base",
"label": "Jenkins Base URL",
"type": "textbox",
"query": JENKINS_UI_BASE_DEFAULT,
"current": {
"text": JENKINS_UI_BASE_DEFAULT,
"value": JENKINS_UI_BASE_DEFAULT,
"selected": True,
},
"hide": 0,
"skipUrlSync": False,
}
def jenkins_suite_links(base_var="${jenkins_base}"):
links = [{"title": "Open Jenkins", "url": f"{base_var}/", "targetBlank": True}]
for suite in PLATFORM_TEST_SUITE_NAMES:
job = PLATFORM_TEST_JENKINS_JOB_BY_SUITE.get(suite, suite)
encoded_job = urllib.parse.quote(job, safe="")
links.append(
{
"title": f"{suite}: Job",
"url": f"{base_var}/job/{encoded_job}/",
"targetBlank": True,
}
)
links.append(
{
"title": f"{suite}: Last Artifacts",
"url": f"{base_var}/job/{encoded_job}/lastCompletedBuild/artifact/",
"targetBlank": True,
}
)
return links
def bargauge_panel(
panel_id,
title,
@ -3015,10 +3065,14 @@ def build_jobs_dashboard():
f'(max by (suite) ({{{coverage_metric_selector}}})) '
f'or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{{{workspace_coverage_selector}}}))'
)
coverage_with_missing = coverage_by_suite
coverage_with_missing = (
f"({coverage_by_suite}) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{{{runs_selector}}}[30d])))) - 1)"
)
coverage_gap = f"clamp_min(95 - ({coverage_by_suite}), 0)"
smell_by_suite = f'max by (suite) (platform_quality_gate_source_lines_over_500_total{{{smell_selector}}})'
smell_with_missing = smell_by_suite
smell_with_missing = (
f"({smell_by_suite}) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{{{runs_selector}}}[30d])))) - 1)"
)
average_coverage = f"(avg(({coverage_by_suite})) or on() vector(0))"
suites_loc_violating = f'(sum((({smell_by_suite}) > bool 0)) or on() vector(0))'
@ -3097,6 +3151,9 @@ def build_jobs_dashboard():
missing_loc_by_suite = (
f'(({suite_universe}) unless on(suite) count by (suite) (platform_quality_gate_source_lines_over_500_total{{{exported}}}))'
)
missing_test_case_by_suite = (
f'(({suite_universe}) unless on(suite) count by (suite) (platform_quality_gate_test_case_result{{{exported}}}))'
)
success_thresholds = {
"mode": "absolute",
@ -3638,6 +3695,7 @@ def build_jobs_dashboard():
legend_display="list",
legend_placement="bottom",
legend_calcs=["lastNotNull", "max", "sum"],
links=jenkins_suite_links(),
)
)
panels.append(
@ -3651,6 +3709,7 @@ def build_jobs_dashboard():
legend_display="list",
legend_placement="bottom",
legend_calcs=["lastNotNull", "sum"],
links=jenkins_suite_links(),
)
)
panels.append(
@ -3665,6 +3724,7 @@ def build_jobs_dashboard():
sort_order="desc",
thresholds=failures_thresholds,
limit=9,
links=jenkins_suite_links(),
)
)
@ -3817,6 +3877,20 @@ def build_jobs_dashboard():
thresholds=failures_thresholds,
)
)
panels.append(
bargauge_panel(
148,
"Missing Test-Case Metrics by Suite",
missing_test_case_by_suite,
{"h": 6, "w": 24, "x": 0, "y": 74},
unit="none",
instant=True,
legend="{{suite}}",
sort_order="desc",
thresholds=missing_thresholds,
decimals=0,
)
)
return {
"uid": "atlas-jobs",
@ -3833,6 +3907,7 @@ def build_jobs_dashboard():
"list": [
testing_suite_variable(),
testing_case_variable(),
jenkins_base_variable(),
]
},
}

View File

@ -2084,7 +2084,104 @@
"tooltip": {
"mode": "multi"
}
}
},
"links": [
{
"title": "Open Jenkins",
"url": "${jenkins_base}/",
"targetBlank": true
},
{
"title": "ariadne: Job",
"url": "${jenkins_base}/job/ariadne/",
"targetBlank": true
},
{
"title": "ariadne: Last Artifacts",
"url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "metis: Job",
"url": "${jenkins_base}/job/metis/",
"targetBlank": true
},
{
"title": "metis: Last Artifacts",
"url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "ananke: Job",
"url": "${jenkins_base}/job/ananke/",
"targetBlank": true
},
{
"title": "ananke: Last Artifacts",
"url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "atlasbot: Job",
"url": "${jenkins_base}/job/atlasbot/",
"targetBlank": true
},
{
"title": "atlasbot: Last Artifacts",
"url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "pegasus: Job",
"url": "${jenkins_base}/job/pegasus/",
"targetBlank": true
},
{
"title": "pegasus: Last Artifacts",
"url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "soteria: Job",
"url": "${jenkins_base}/job/Soteria/",
"targetBlank": true
},
{
"title": "soteria: Last Artifacts",
"url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "titan_iac: Job",
"url": "${jenkins_base}/job/titan-iac/",
"targetBlank": true
},
{
"title": "titan_iac: Last Artifacts",
"url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "bstein_home: Job",
"url": "${jenkins_base}/job/bstein-dev-home/",
"targetBlank": true
},
{
"title": "bstein_home: Last Artifacts",
"url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "data_prepper: Job",
"url": "${jenkins_base}/job/data-prepper/",
"targetBlank": true
},
{
"title": "data_prepper: Last Artifacts",
"url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/",
"targetBlank": true
}
]
},
{
"id": 146,
@ -2135,7 +2232,104 @@
"tooltip": {
"mode": "multi"
}
}
},
"links": [
{
"title": "Open Jenkins",
"url": "${jenkins_base}/",
"targetBlank": true
},
{
"title": "ariadne: Job",
"url": "${jenkins_base}/job/ariadne/",
"targetBlank": true
},
{
"title": "ariadne: Last Artifacts",
"url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "metis: Job",
"url": "${jenkins_base}/job/metis/",
"targetBlank": true
},
{
"title": "metis: Last Artifacts",
"url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "ananke: Job",
"url": "${jenkins_base}/job/ananke/",
"targetBlank": true
},
{
"title": "ananke: Last Artifacts",
"url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "atlasbot: Job",
"url": "${jenkins_base}/job/atlasbot/",
"targetBlank": true
},
{
"title": "atlasbot: Last Artifacts",
"url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "pegasus: Job",
"url": "${jenkins_base}/job/pegasus/",
"targetBlank": true
},
{
"title": "pegasus: Last Artifacts",
"url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "soteria: Job",
"url": "${jenkins_base}/job/Soteria/",
"targetBlank": true
},
{
"title": "soteria: Last Artifacts",
"url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "titan_iac: Job",
"url": "${jenkins_base}/job/titan-iac/",
"targetBlank": true
},
{
"title": "titan_iac: Last Artifacts",
"url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "bstein_home: Job",
"url": "${jenkins_base}/job/bstein-dev-home/",
"targetBlank": true
},
{
"title": "bstein_home: Last Artifacts",
"url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "data_prepper: Job",
"url": "${jenkins_base}/job/data-prepper/",
"targetBlank": true
},
{
"title": "data_prepper: Last Artifacts",
"url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/",
"targetBlank": true
}
]
},
{
"id": 147,
@ -2199,6 +2393,103 @@
"values": false
}
},
"links": [
{
"title": "Open Jenkins",
"url": "${jenkins_base}/",
"targetBlank": true
},
{
"title": "ariadne: Job",
"url": "${jenkins_base}/job/ariadne/",
"targetBlank": true
},
{
"title": "ariadne: Last Artifacts",
"url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "metis: Job",
"url": "${jenkins_base}/job/metis/",
"targetBlank": true
},
{
"title": "metis: Last Artifacts",
"url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "ananke: Job",
"url": "${jenkins_base}/job/ananke/",
"targetBlank": true
},
{
"title": "ananke: Last Artifacts",
"url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "atlasbot: Job",
"url": "${jenkins_base}/job/atlasbot/",
"targetBlank": true
},
{
"title": "atlasbot: Last Artifacts",
"url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "pegasus: Job",
"url": "${jenkins_base}/job/pegasus/",
"targetBlank": true
},
{
"title": "pegasus: Last Artifacts",
"url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "soteria: Job",
"url": "${jenkins_base}/job/Soteria/",
"targetBlank": true
},
{
"title": "soteria: Last Artifacts",
"url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "titan_iac: Job",
"url": "${jenkins_base}/job/titan-iac/",
"targetBlank": true
},
{
"title": "titan_iac: Last Artifacts",
"url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "bstein_home: Job",
"url": "${jenkins_base}/job/bstein-dev-home/",
"targetBlank": true
},
{
"title": "bstein_home: Last Artifacts",
"url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "data_prepper: Job",
"url": "${jenkins_base}/job/data-prepper/",
"targetBlank": true
},
{
"title": "data_prepper: Last Artifacts",
"url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/",
"targetBlank": true
}
],
"transformations": [
{
"id": "sortBy",
@ -2233,7 +2524,7 @@
},
"targets": [
{
"expr": "sort((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})))",
"expr": "sort(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))) 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",
"legendFormat": "{{suite}}",
"instant": true
@ -2318,7 +2609,7 @@
},
"targets": [
{
"expr": "sort_desc(max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))",
"expr": "sort_desc((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) 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",
"legendFormat": "{{suite}}",
"instant": true
@ -2981,6 +3272,73 @@
}
}
]
},
{
"id": 148,
"type": "bargauge",
"title": "Missing Test-Case Metrics by Suite",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
"h": 6,
"w": 24,
"x": 0,
"y": 74
},
"targets": [
{
"expr": "sort_desc(((label_replace(vector(1), \"suite\", \"ariadne\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"metis\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"ananke\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"atlasbot\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"pegasus\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"soteria\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"titan_iac\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"bstein_home\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"data_prepper\", \"__name__\", \".*\")) unless on(suite) count by (suite) (platform_quality_gate_test_case_result{exported_job=\"platform-quality-ci\"})))",
"refId": "A",
"legendFormat": "{{suite}}",
"instant": true
}
],
"fieldConfig": {
"defaults": {
"unit": "none",
"min": 0,
"max": null,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 1
}
]
},
"decimals": 0
},
"overrides": []
},
"options": {
"displayMode": "gradient",
"orientation": "horizontal",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
}
},
"transformations": [
{
"id": "sortBy",
"options": {
"fields": [
"Value"
],
"order": "desc"
}
}
]
}
],
"time": {
@ -3083,6 +3441,19 @@
"refresh": 2,
"sort": 1,
"skipUrlSync": false
},
{
"name": "jenkins_base",
"label": "Jenkins Base URL",
"type": "textbox",
"query": "https://ci.bstein.dev",
"current": {
"text": "https://ci.bstein.dev",
"value": "https://ci.bstein.dev",
"selected": true
},
"hide": 0,
"skipUrlSync": false
}
]
}

View File

@ -2093,7 +2093,104 @@ data:
"tooltip": {
"mode": "multi"
}
}
},
"links": [
{
"title": "Open Jenkins",
"url": "${jenkins_base}/",
"targetBlank": true
},
{
"title": "ariadne: Job",
"url": "${jenkins_base}/job/ariadne/",
"targetBlank": true
},
{
"title": "ariadne: Last Artifacts",
"url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "metis: Job",
"url": "${jenkins_base}/job/metis/",
"targetBlank": true
},
{
"title": "metis: Last Artifacts",
"url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "ananke: Job",
"url": "${jenkins_base}/job/ananke/",
"targetBlank": true
},
{
"title": "ananke: Last Artifacts",
"url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "atlasbot: Job",
"url": "${jenkins_base}/job/atlasbot/",
"targetBlank": true
},
{
"title": "atlasbot: Last Artifacts",
"url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "pegasus: Job",
"url": "${jenkins_base}/job/pegasus/",
"targetBlank": true
},
{
"title": "pegasus: Last Artifacts",
"url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "soteria: Job",
"url": "${jenkins_base}/job/Soteria/",
"targetBlank": true
},
{
"title": "soteria: Last Artifacts",
"url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "titan_iac: Job",
"url": "${jenkins_base}/job/titan-iac/",
"targetBlank": true
},
{
"title": "titan_iac: Last Artifacts",
"url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "bstein_home: Job",
"url": "${jenkins_base}/job/bstein-dev-home/",
"targetBlank": true
},
{
"title": "bstein_home: Last Artifacts",
"url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "data_prepper: Job",
"url": "${jenkins_base}/job/data-prepper/",
"targetBlank": true
},
{
"title": "data_prepper: Last Artifacts",
"url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/",
"targetBlank": true
}
]
},
{
"id": 146,
@ -2144,7 +2241,104 @@ data:
"tooltip": {
"mode": "multi"
}
}
},
"links": [
{
"title": "Open Jenkins",
"url": "${jenkins_base}/",
"targetBlank": true
},
{
"title": "ariadne: Job",
"url": "${jenkins_base}/job/ariadne/",
"targetBlank": true
},
{
"title": "ariadne: Last Artifacts",
"url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "metis: Job",
"url": "${jenkins_base}/job/metis/",
"targetBlank": true
},
{
"title": "metis: Last Artifacts",
"url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "ananke: Job",
"url": "${jenkins_base}/job/ananke/",
"targetBlank": true
},
{
"title": "ananke: Last Artifacts",
"url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "atlasbot: Job",
"url": "${jenkins_base}/job/atlasbot/",
"targetBlank": true
},
{
"title": "atlasbot: Last Artifacts",
"url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "pegasus: Job",
"url": "${jenkins_base}/job/pegasus/",
"targetBlank": true
},
{
"title": "pegasus: Last Artifacts",
"url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "soteria: Job",
"url": "${jenkins_base}/job/Soteria/",
"targetBlank": true
},
{
"title": "soteria: Last Artifacts",
"url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "titan_iac: Job",
"url": "${jenkins_base}/job/titan-iac/",
"targetBlank": true
},
{
"title": "titan_iac: Last Artifacts",
"url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "bstein_home: Job",
"url": "${jenkins_base}/job/bstein-dev-home/",
"targetBlank": true
},
{
"title": "bstein_home: Last Artifacts",
"url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "data_prepper: Job",
"url": "${jenkins_base}/job/data-prepper/",
"targetBlank": true
},
{
"title": "data_prepper: Last Artifacts",
"url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/",
"targetBlank": true
}
]
},
{
"id": 147,
@ -2208,6 +2402,103 @@ data:
"values": false
}
},
"links": [
{
"title": "Open Jenkins",
"url": "${jenkins_base}/",
"targetBlank": true
},
{
"title": "ariadne: Job",
"url": "${jenkins_base}/job/ariadne/",
"targetBlank": true
},
{
"title": "ariadne: Last Artifacts",
"url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "metis: Job",
"url": "${jenkins_base}/job/metis/",
"targetBlank": true
},
{
"title": "metis: Last Artifacts",
"url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "ananke: Job",
"url": "${jenkins_base}/job/ananke/",
"targetBlank": true
},
{
"title": "ananke: Last Artifacts",
"url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "atlasbot: Job",
"url": "${jenkins_base}/job/atlasbot/",
"targetBlank": true
},
{
"title": "atlasbot: Last Artifacts",
"url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "pegasus: Job",
"url": "${jenkins_base}/job/pegasus/",
"targetBlank": true
},
{
"title": "pegasus: Last Artifacts",
"url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "soteria: Job",
"url": "${jenkins_base}/job/Soteria/",
"targetBlank": true
},
{
"title": "soteria: Last Artifacts",
"url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "titan_iac: Job",
"url": "${jenkins_base}/job/titan-iac/",
"targetBlank": true
},
{
"title": "titan_iac: Last Artifacts",
"url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "bstein_home: Job",
"url": "${jenkins_base}/job/bstein-dev-home/",
"targetBlank": true
},
{
"title": "bstein_home: Last Artifacts",
"url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/",
"targetBlank": true
},
{
"title": "data_prepper: Job",
"url": "${jenkins_base}/job/data-prepper/",
"targetBlank": true
},
{
"title": "data_prepper: Last Artifacts",
"url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/",
"targetBlank": true
}
],
"transformations": [
{
"id": "sortBy",
@ -2242,7 +2533,7 @@ data:
},
"targets": [
{
"expr": "sort((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})))",
"expr": "sort(((max by (suite) ({__name__=~\".*_quality_gate_coverage_percent\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) or on(suite) (max by (suite) (platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))) 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",
"legendFormat": "{{suite}}",
"instant": true
@ -2327,7 +2618,7 @@ data:
},
"targets": [
{
"expr": "sort_desc(max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))",
"expr": "sort_desc((max by (suite) (platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"})) 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",
"legendFormat": "{{suite}}",
"instant": true
@ -2990,6 +3281,73 @@ data:
}
}
]
},
{
"id": 148,
"type": "bargauge",
"title": "Missing Test-Case Metrics by Suite",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
"h": 6,
"w": 24,
"x": 0,
"y": 74
},
"targets": [
{
"expr": "sort_desc(((label_replace(vector(1), \"suite\", \"ariadne\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"metis\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"ananke\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"atlasbot\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"pegasus\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"soteria\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"titan_iac\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"bstein_home\", \"__name__\", \".*\") or label_replace(vector(1), \"suite\", \"data_prepper\", \"__name__\", \".*\")) unless on(suite) count by (suite) (platform_quality_gate_test_case_result{exported_job=\"platform-quality-ci\"})))",
"refId": "A",
"legendFormat": "{{suite}}",
"instant": true
}
],
"fieldConfig": {
"defaults": {
"unit": "none",
"min": 0,
"max": null,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 1
}
]
},
"decimals": 0
},
"overrides": []
},
"options": {
"displayMode": "gradient",
"orientation": "horizontal",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
}
},
"transformations": [
{
"id": "sortBy",
"options": {
"fields": [
"Value"
],
"order": "desc"
}
}
]
}
],
"time": {
@ -3092,6 +3450,19 @@ data:
"refresh": 2,
"sort": 1,
"skipUrlSync": false
},
{
"name": "jenkins_base",
"label": "Jenkins Base URL",
"type": "textbox",
"query": "https://ci.bstein.dev",
"current": {
"text": "https://ci.bstein.dev",
"value": "https://ci.bstein.dev",
"selected": true
},
"hide": 0,
"skipUrlSync": false
}
]
}