diff --git a/scripts/dashboards_render_atlas.py b/scripts/dashboards_render_atlas.py
index 9f907add..a65b48c5 100644
--- a/scripts/dashboards_render_atlas.py
+++ b/scripts/dashboards_render_atlas.py
@@ -3088,6 +3088,10 @@ def build_jobs_dashboard():
smell_selector = f'suite=~"{suite_var}",{exported}'
test_case_selector = f'suite=~"{suite_var}",branch=~"{branch_var}",test=~"{test_var}",test!="__no_test_cases__",{exported}'
build_info_selector = f'suite=~"{suite_var}",branch=~"{branch_var}",{exported}'
+ selected_suite_universe = (
+ f'(sum by (suite) (increase(platform_quality_gate_runs_total{{{runs_selector}}}[30d])) >= bool 0)'
+ )
+ selected_suite_zero = f"(0 * {selected_suite_universe})"
suite_universe = " or ".join(
f'label_replace(vector(1), "suite", "{suite}", "__name__", ".*")'
@@ -3169,7 +3173,7 @@ def build_jobs_dashboard():
core = (
f'sum by (suite) (max_over_time(({{{checks_selector},check=~"{regex}",{state}}})[$__interval]))'
)
- return f'({core}) or on(suite) (0 * ({suite_universe}))'
+ return f'({core}) or on(suite) ({selected_suite_zero})'
problematic_tests_history_core = (
f'topk(12, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{{suite=~"{suite_var}",branch=~"{branch_var}",test!="__no_test_cases__",status="failed",{exported}}}[$__interval])))'
@@ -3196,6 +3200,10 @@ def build_jobs_dashboard():
"legendFormat": "skipped · {{suite}} · #{{build_number}}",
},
]
+ selected_test_pass_rate = (
+ f'100 * (sum by (suite, test) (max_over_time(platform_quality_gate_test_case_result{{{test_case_selector},status="passed"}}[$__interval]))) '
+ f'/ clamp_min((sum by (suite, test) (max_over_time(platform_quality_gate_test_case_result{{{test_case_selector},status=~"passed|failed|error|skipped"}}[$__interval]))), 1)'
+ )
recent_branch_evidence = (
f'sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{{{build_info_selector}}}[30d])))'
)
@@ -3222,16 +3230,21 @@ def build_jobs_dashboard():
missing_test_case_by_suite = _missing_suite_series(
f"count by (suite) (platform_quality_gate_test_case_result{{{exported}}})"
)
+ placeholder_test_case_by_suite = _missing_suite_series(
+ f'count by (suite) (platform_quality_gate_test_case_result{{{exported},test!="__no_test_cases__"}})'
+ )
success_thresholds = {
"mode": "absolute",
"steps": [
{"color": "red", "value": None},
- {"color": "orange", "value": 80},
- {"color": "yellow", "value": 95},
- {"color": "green", "value": 99},
+ {"color": "orange", "value": 90},
+ {"color": "yellow", "value": 93},
+ {"color": "green", "value": 95},
+ {"color": "blue", "value": 100},
],
}
+ coverage_thresholds = success_thresholds
failures_thresholds = {
"mode": "absolute",
"steps": [
@@ -3341,101 +3354,12 @@ def build_jobs_dashboard():
)
)
- panels.append(
- stat_panel(
- 19,
- "Failing Tests",
- checks_failed_tests,
- {"h": 4, "w": 3, "x": 0, "y": 5},
- unit="none",
- instant=True,
- thresholds=failures_thresholds,
- )
- )
- panels.append(
- stat_panel(
- 20,
- "Failing Coverage",
- checks_failed_coverage,
- {"h": 4, "w": 3, "x": 3, "y": 5},
- unit="none",
- instant=True,
- thresholds=failures_thresholds,
- )
- )
- panels.append(
- stat_panel(
- 21,
- "Failing LOC",
- checks_failed_loc,
- {"h": 4, "w": 3, "x": 6, "y": 5},
- unit="none",
- instant=True,
- thresholds=failures_thresholds,
- )
- )
- panels.append(
- stat_panel(
- 22,
- "Failing Docs/Naming",
- checks_failed_docs,
- {"h": 4, "w": 3, "x": 9, "y": 5},
- unit="none",
- instant=True,
- thresholds=failures_thresholds,
- )
- )
- panels.append(
- stat_panel(
- 23,
- "Failing Gate/Glue",
- checks_failed_gate,
- {"h": 4, "w": 3, "x": 12, "y": 5},
- unit="none",
- instant=True,
- thresholds=failures_thresholds,
- )
- )
- panels.append(
- stat_panel(
- 24,
- "Failing SonarQube",
- checks_failed_sonarqube,
- {"h": 4, "w": 3, "x": 15, "y": 5},
- unit="none",
- instant=True,
- thresholds=failures_thresholds,
- )
- )
- panels.append(
- stat_panel(
- 25,
- "Failing Supply Chain",
- checks_failed_supply_chain,
- {"h": 4, "w": 3, "x": 18, "y": 5},
- unit="none",
- instant=True,
- thresholds=failures_thresholds,
- )
- )
- panels.append(
- stat_panel(
- 26,
- "Total Failing Checks",
- checks_failed_total,
- {"h": 4, "w": 3, "x": 21, "y": 5},
- unit="none",
- instant=True,
- thresholds=failures_thresholds,
- )
- )
-
panels.append(
bargauge_panel(
8,
"Failures by Suite (24h)",
failures_by_suite_24h,
- {"h": 8, "w": 8, "x": 0, "y": 9},
+ {"h": 8, "w": 8, "x": 0, "y": 5},
unit="none",
instant=True,
legend="{{suite}}",
@@ -3447,7 +3371,7 @@ def build_jobs_dashboard():
9,
"Success Rate by Suite (24h)",
success_rate_by_suite_24h,
- {"h": 8, "w": 8, "x": 8, "y": 9},
+ {"h": 8, "w": 8, "x": 8, "y": 5},
unit="percent",
instant=True,
legend="{{suite}}",
@@ -3460,7 +3384,7 @@ def build_jobs_dashboard():
10,
"Coverage Gap to 95% by Suite",
coverage_gap,
- {"h": 8, "w": 8, "x": 16, "y": 9},
+ {"h": 8, "w": 8, "x": 16, "y": 5},
unit="percent",
instant=True,
legend="{{suite}}",
@@ -3475,7 +3399,7 @@ def build_jobs_dashboard():
11,
"Success History by Suite",
success_history_by_suite,
- {"h": 8, "w": 24, "x": 0, "y": 17},
+ {"h": 8, "w": 24, "x": 0, "y": 13},
unit="percent",
legend="{{suite}}",
legend_display="list",
@@ -3499,7 +3423,7 @@ def build_jobs_dashboard():
12,
"Run Outcomes (Selected Scope)",
None,
- {"h": 8, "w": 8, "x": 0, "y": 25},
+ {"h": 8, "w": 8, "x": 0, "y": 21},
unit="none",
targets=[
{
@@ -3528,7 +3452,7 @@ def build_jobs_dashboard():
13,
"Coverage & LOC History (Selected Scope)",
None,
- {"h": 8, "w": 8, "x": 8, "y": 25},
+ {"h": 8, "w": 8, "x": 8, "y": 21},
unit="none",
targets=[
{
@@ -3551,213 +3475,66 @@ def build_jobs_dashboard():
14,
"Run Status Mix (30d)",
f'sum by (status) (increase(platform_quality_gate_runs_total{{{runs_selector}}}[30d]))',
- {"h": 8, "w": 8, "x": 16, "y": 25},
+ {"h": 8, "w": 8, "x": 16, "y": 21},
)
run_mix_panel["targets"][0]["legendFormat"] = "{{status}}"
run_mix_panel["fieldConfig"]["defaults"]["unit"] = "none"
panels.append(run_mix_panel)
- panels.append(
- timeseries_panel(
- 130,
- "Fail Trend: Tests",
- _check_state_series(check_regex_tests, True),
- {"h": 6, "w": 3, "x": 0, "y": 33},
- unit="none",
- legend="{{suite}}",
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "max"],
- )
- )
- panels.append(
- timeseries_panel(
- 131,
- "Fail Trend: Coverage",
- _check_state_series(check_regex_coverage, True),
- {"h": 6, "w": 3, "x": 3, "y": 33},
- unit="none",
- legend="{{suite}}",
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "max"],
- )
- )
- panels.append(
- timeseries_panel(
- 132,
- "Fail Trend: LOC",
- _check_state_series(check_regex_loc, True),
- {"h": 6, "w": 3, "x": 6, "y": 33},
- unit="none",
- legend="{{suite}}",
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "max"],
- )
- )
- panels.append(
- timeseries_panel(
- 133,
- "Fail Trend: Style",
- _check_state_series(check_regex_style, True),
- {"h": 6, "w": 3, "x": 9, "y": 33},
- unit="none",
- legend="{{suite}}",
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "max"],
- )
- )
- panels.append(
- timeseries_panel(
- 134,
- "Fail Trend: Gate Glue",
- _check_state_series(check_regex_gate_glue, True),
- {"h": 6, "w": 3, "x": 12, "y": 33},
- unit="none",
- legend="{{suite}}",
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "max"],
- )
- )
- panels.append(
- timeseries_panel(
- 135,
- "Fail Trend: SonarQube",
- _check_state_series(check_regex_sonarqube, True),
- {"h": 6, "w": 3, "x": 15, "y": 33},
- unit="none",
- legend="{{suite}}",
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "max"],
- )
- )
- panels.append(
- timeseries_panel(
- 136,
- "Fail Trend: Supply Chain",
- _check_state_series(check_regex_supply_chain, True),
- {"h": 6, "w": 3, "x": 18, "y": 33},
- unit="none",
- legend="{{suite}}",
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "max"],
- )
- )
- panels.append(
- timeseries_panel(
- 138,
- "Pass Trend: Tests",
- _check_state_series(check_regex_tests, False),
- {"h": 6, "w": 3, "x": 0, "y": 39},
- unit="none",
- legend="{{suite}}",
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "max"],
- )
- )
- panels.append(
- timeseries_panel(
- 139,
- "Pass Trend: Coverage",
- _check_state_series(check_regex_coverage, False),
- {"h": 6, "w": 3, "x": 3, "y": 39},
- unit="none",
- legend="{{suite}}",
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "max"],
- )
- )
- panels.append(
- timeseries_panel(
- 140,
- "Pass Trend: LOC",
- _check_state_series(check_regex_loc, False),
- {"h": 6, "w": 3, "x": 6, "y": 39},
- unit="none",
- legend="{{suite}}",
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "max"],
- )
- )
- panels.append(
- timeseries_panel(
- 141,
- "Pass Trend: Style",
- _check_state_series(check_regex_style, False),
- {"h": 6, "w": 3, "x": 9, "y": 39},
- unit="none",
- legend="{{suite}}",
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "max"],
- )
- )
- panels.append(
- timeseries_panel(
- 142,
- "Pass Trend: Gate Glue",
- _check_state_series(check_regex_gate_glue, False),
- {"h": 6, "w": 3, "x": 12, "y": 39},
- unit="none",
- legend="{{suite}}",
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "max"],
- )
- )
- panels.append(
- timeseries_panel(
- 143,
- "Pass Trend: SonarQube",
- _check_state_series(check_regex_sonarqube, False),
- {"h": 6, "w": 3, "x": 15, "y": 39},
- unit="none",
- legend="{{suite}}",
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "max"],
- )
- )
- panels.append(
- timeseries_panel(
- 144,
- "Pass Trend: Supply Chain",
- _check_state_series(check_regex_supply_chain, False),
- {"h": 6, "w": 3, "x": 18, "y": 39},
- unit="none",
- legend="{{suite}}",
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "max"],
- )
- )
- panels.append(
- bargauge_panel(
- 15,
- "Latest Test Counters (Suite + Result)",
- f'sum by (suite, result) ({{{tests_selector}}})',
- {"h": 6, "w": 3, "x": 21, "y": 39},
- unit="none",
- instant=True,
- legend="{{suite}} · {{result}}",
- sort_order="desc",
- limit=24,
- )
- )
+ check_dimensions = [
+ ("Tests", check_regex_tests),
+ ("Coverage", check_regex_coverage),
+ ("LOC", check_regex_loc),
+ ("Style", check_regex_style),
+ ("Gate Glue", check_regex_gate_glue),
+ ("SonarQube", check_regex_sonarqube),
+ ("Supply Chain", check_regex_supply_chain),
+ ]
+
+ def _append_check_trends(start_id: int, title_prefix: str, failed: bool, y: int) -> None:
+ for index, (label, regex) in enumerate(check_dimensions[:4]):
+ panel = timeseries_panel(
+ start_id + index,
+ f"{title_prefix}: {label}",
+ _check_state_series(regex, failed),
+ {"h": 7, "w": 6, "x": index * 6, "y": y},
+ unit="none",
+ legend="{{suite}}",
+ legend_display="list",
+ legend_placement="bottom",
+ legend_calcs=["lastNotNull", "max"],
+ )
+ panel["description"] = (
+ "One line per selected suite. 1 means this check dimension was in that state during the bucket; "
+ "0 means the suite reported the dimension and it was not in that state."
+ )
+ panels.append(panel)
+ for index, (label, regex) in enumerate(check_dimensions[4:]):
+ panel = timeseries_panel(
+ start_id + 4 + index,
+ f"{title_prefix}: {label}",
+ _check_state_series(regex, failed),
+ {"h": 7, "w": 8, "x": index * 8, "y": y + 7},
+ unit="none",
+ legend="{{suite}}",
+ legend_display="list",
+ legend_placement="bottom",
+ legend_calcs=["lastNotNull", "max"],
+ )
+ panel["description"] = (
+ "One line per selected suite. 1 means this check dimension was in that state during the bucket; "
+ "0 means the suite reported the dimension and it was not in that state."
+ )
+ panels.append(panel)
+
+ _append_check_trends(130, "Failure Trend", True, 29)
+ _append_check_trends(138, "Success Trend", False, 43)
panels.append(
timeseries_panel(
145,
"Problematic Tests Over Time (Top failures)",
problematic_tests_history,
- {"h": 8, "w": 12, "x": 0, "y": 45},
+ {"h": 8, "w": 12, "x": 0, "y": 57},
unit="none",
legend="{{suite}} · {{test}}",
legend_display="list",
@@ -3767,27 +3544,12 @@ def build_jobs_dashboard():
data_links=jenkins_latest_artifact_data_links(),
)
)
- panels.append(
- timeseries_panel(
- 146,
- "Selected Test Pass/Fail History",
- None,
- {"h": 8, "w": 8, "x": 12, "y": 45},
- unit="none",
- targets=selected_test_pass_fail,
- legend_display="list",
- legend_placement="bottom",
- legend_calcs=["lastNotNull", "sum"],
- links=jenkins_suite_links(),
- data_links=jenkins_artifact_data_links(),
- )
- )
panels.append(
bargauge_panel(
147,
"Most Problematic Test by Suite (30d)",
worst_test_per_suite,
- {"h": 8, "w": 4, "x": 20, "y": 45},
+ {"h": 8, "w": 12, "x": 12, "y": 57},
unit="none",
instant=True,
legend="{{suite}} · {{test}}",
@@ -3798,17 +3560,49 @@ def build_jobs_dashboard():
data_links=jenkins_latest_artifact_data_links(),
)
)
+ panels.append(
+ timeseries_panel(
+ 146,
+ "Selected Test Pass/Fail History",
+ None,
+ {"h": 8, "w": 12, "x": 0, "y": 65},
+ unit="none",
+ targets=selected_test_pass_fail,
+ legend_display="list",
+ legend_placement="bottom",
+ legend_calcs=["lastNotNull", "sum"],
+ links=jenkins_suite_links(),
+ data_links=jenkins_artifact_data_links(),
+ )
+ )
+ selected_pass_rate_panel = timeseries_panel(
+ 152,
+ "Selected Test Pass Rate History",
+ selected_test_pass_rate,
+ {"h": 8, "w": 12, "x": 12, "y": 65},
+ unit="percent",
+ legend="{{suite}} · {{test}}",
+ legend_display="list",
+ legend_placement="bottom",
+ legend_calcs=["lastNotNull", "min"],
+ links=jenkins_suite_links(),
+ data_links=jenkins_artifact_data_links(),
+ )
+ selected_pass_rate_panel["fieldConfig"]["defaults"]["min"] = 0
+ selected_pass_rate_panel["fieldConfig"]["defaults"]["max"] = 100
+ selected_pass_rate_panel["fieldConfig"]["defaults"]["thresholds"] = success_thresholds
+ panels.append(selected_pass_rate_panel)
coverage_panel = bargauge_panel(
17,
"Coverage by Suite (Latest, gate 95)",
coverage_with_missing,
- {"h": 8, "w": 12, "x": 0, "y": 53},
+ {"h": 8, "w": 12, "x": 0, "y": 73},
unit="percent",
instant=True,
legend="{{suite}}",
sort_order="asc",
- thresholds=success_thresholds,
+ thresholds=coverage_thresholds,
decimals=2,
)
coverage_panel["fieldConfig"]["defaults"]["mappings"] = [
@@ -3820,7 +3614,7 @@ def build_jobs_dashboard():
18,
"Files >500 LOC by Suite (Latest)",
smell_with_missing,
- {"h": 8, "w": 12, "x": 12, "y": 53},
+ {"h": 8, "w": 12, "x": 12, "y": 73},
unit="none",
instant=True,
legend="{{suite}}",
@@ -3837,7 +3631,7 @@ def build_jobs_dashboard():
27,
"Missing Tests Metrics by Suite",
missing_tests_by_suite,
- {"h": 7, "w": 6, "x": 0, "y": 61},
+ {"h": 7, "w": 6, "x": 0, "y": 81},
unit="none",
instant=True,
legend="{{suite}}",
@@ -3851,7 +3645,7 @@ def build_jobs_dashboard():
28,
"Missing Checks Metrics by Suite",
missing_checks_by_suite,
- {"h": 7, "w": 6, "x": 6, "y": 61},
+ {"h": 7, "w": 6, "x": 6, "y": 81},
unit="none",
instant=True,
legend="{{suite}}",
@@ -3865,7 +3659,7 @@ def build_jobs_dashboard():
29,
"Missing Coverage Metrics by Suite",
missing_coverage_by_suite,
- {"h": 7, "w": 6, "x": 12, "y": 61},
+ {"h": 7, "w": 6, "x": 12, "y": 81},
unit="none",
instant=True,
legend="{{suite}}",
@@ -3879,7 +3673,7 @@ def build_jobs_dashboard():
30,
"Missing LOC Metrics by Suite",
missing_loc_by_suite,
- {"h": 7, "w": 6, "x": 18, "y": 61},
+ {"h": 7, "w": 6, "x": 18, "y": 81},
unit="none",
instant=True,
legend="{{suite}}",
@@ -3893,7 +3687,7 @@ def build_jobs_dashboard():
31,
"SonarQube API Up",
"(max(sonarqube_up) or on() vector(0))",
- {"h": 6, "w": 4, "x": 0, "y": 68},
+ {"h": 6, "w": 4, "x": 0, "y": 88},
unit="none",
instant=True,
thresholds={
@@ -3910,7 +3704,7 @@ def build_jobs_dashboard():
32,
"Sonar Projects (Selected)",
f'(count(sonarqube_project_quality_gate_pass{{project_key=~"{suite_var}"}}) or on() vector(0))',
- {"h": 6, "w": 4, "x": 4, "y": 68},
+ {"h": 6, "w": 4, "x": 4, "y": 88},
unit="none",
instant=True,
thresholds=failures_thresholds,
@@ -3921,7 +3715,7 @@ def build_jobs_dashboard():
33,
"Sonar Gate Fetch Errors",
"(max(sonarqube_quality_gate_fetch_errors_total) or on() vector(0))",
- {"h": 6, "w": 4, "x": 8, "y": 68},
+ {"h": 6, "w": 4, "x": 8, "y": 88},
unit="none",
instant=True,
thresholds=failures_thresholds,
@@ -3931,7 +3725,7 @@ def build_jobs_dashboard():
34,
"Sonar Gate Status Mix (Selected)",
f'count by (status) (sonarqube_project_quality_gate_pass{{project_key=~"{suite_var}"}})',
- {"h": 6, "w": 6, "x": 12, "y": 68},
+ {"h": 6, "w": 6, "x": 12, "y": 88},
)
sonar_status_mix_panel["targets"][0]["legendFormat"] = "{{status}}"
panels.append(sonar_status_mix_panel)
@@ -3941,7 +3735,7 @@ def build_jobs_dashboard():
"Projects Failing Sonar Gate",
f'(sort_desc(count by (project_key) (sonarqube_project_quality_gate_pass{{project_key=~"{suite_var}",status!~"OK|ok"}})) '
f'or on() label_replace(vector(0), "project_key", "none", "__name__", ".*"))',
- {"h": 6, "w": 6, "x": 18, "y": 68},
+ {"h": 6, "w": 6, "x": 18, "y": 88},
unit="none",
instant=True,
legend="{{project_key}}",
@@ -3954,7 +3748,21 @@ def build_jobs_dashboard():
148,
"Missing Test-Case Metrics by Suite",
missing_test_case_by_suite,
- {"h": 6, "w": 24, "x": 0, "y": 74},
+ {"h": 6, "w": 12, "x": 0, "y": 94},
+ unit="none",
+ instant=True,
+ legend="{{suite}}",
+ sort_order="desc",
+ thresholds=missing_thresholds,
+ decimals=0,
+ )
+ )
+ panels.append(
+ bargauge_panel(
+ 151,
+ "No Real Test Cases by Suite",
+ placeholder_test_case_by_suite,
+ {"h": 6, "w": 12, "x": 12, "y": 94},
unit="none",
instant=True,
legend="{{suite}}",
@@ -3968,7 +3776,7 @@ def build_jobs_dashboard():
149,
"Recent Branch Evidence by Suite (30d)",
recent_branch_evidence,
- {"h": 7, "w": 12, "x": 0, "y": 80},
+ {"h": 7, "w": 12, "x": 0, "y": 100},
unit="none",
instant=True,
legend="{{suite}} · {{branch}}",
@@ -3983,7 +3791,7 @@ def build_jobs_dashboard():
150,
"Non-Primary Branch Evidence (30d)",
non_primary_branch_evidence,
- {"h": 7, "w": 12, "x": 12, "y": 80},
+ {"h": 7, "w": 12, "x": 12, "y": 100},
unit="none",
instant=True,
legend="{{suite}} · {{branch}}",
diff --git a/services/logging/Jenkinsfile.data-prepper b/services/logging/Jenkinsfile.data-prepper
index ed3ceb39..1e09655d 100644
--- a/services/logging/Jenkinsfile.data-prepper
+++ b/services/logging/Jenkinsfile.data-prepper
@@ -182,6 +182,56 @@ EOF
}
}
}
+ stage('Validation tests') {
+ steps {
+ container('git') {
+ sh '''#!/usr/bin/env sh
+ set -eu
+ mkdir -p build
+ failures=0
+ cases=""
+
+ add_case() {
+ name="$1"
+ message="$2"
+ if [ -n "${message}" ]; then
+ failures=$((failures + 1))
+ cases="${cases}"
+ else
+ cases="${cases}"
+ fi
+ }
+
+ if [ -s dockerfiles/Dockerfile.data-prepper ]; then
+ add_case "dockerfile_present" ""
+ else
+ add_case "dockerfile_present" "dockerfiles/Dockerfile.data-prepper is missing or empty"
+ fi
+
+ if [ -s services/logging/scripts/data_prepper_pipelines.yaml ]; then
+ add_case "pipeline_config_present" ""
+ else
+ add_case "pipeline_config_present" "data_prepper_pipelines.yaml is missing or empty"
+ fi
+
+ if grep -q 'data-prepper-helmrelease.yaml' services/logging/kustomization.yaml; then
+ add_case "logging_kustomization_includes_data_prepper" ""
+ else
+ add_case "logging_kustomization_includes_data_prepper" "services/logging/kustomization.yaml does not include data-prepper HelmRelease"
+ fi
+
+ cat > build/junit-data-prepper.xml <
+${cases}
+
+EOF
+ if [ "${failures}" -ne 0 ]; then
+ exit 1
+ fi
+ '''
+ }
+ }
+ }
stage('Enforce quality gate') {
steps {
container('git') {
@@ -290,7 +340,7 @@ EOF
container('git') {
sh '''
set -euo pipefail
- apk add --no-cache curl jq >/dev/null 2>&1 || true
+ apk add --no-cache curl jq python3 >/dev/null 2>&1 || true
suite="${SUITE_NAME}"
gateway="${PUSHGATEWAY_URL}"
status="${QUALITY_OUTCOME:-failed}"
@@ -350,16 +400,90 @@ EOF
metric_branch="$(printf '%s' "${metric_branch_raw}" | jq -Rsa . | sed -e 's/^"//' -e 's/"$//')"
metric_build_number="$(printf '%s' "${BUILD_NUMBER:-unknown}" | jq -Rsa . | sed -e 's/^"//' -e 's/"$//')"
metric_jenkins_job="$(printf '%s' "${JOB_NAME:-data-prepper}" | jq -Rsa . | sed -e 's/^"//' -e 's/"$//')"
- cat </dev/null || \
- echo "warning: metrics push failed for suite=${suite}" >&2
+ export METRIC_SUITE="${suite}"
+ export METRIC_BRANCH_RAW="${metric_branch_raw}"
+ export METRIC_BUILD_NUMBER_RAW="${BUILD_NUMBER:-unknown}"
+ export METRIC_JENKINS_JOB_RAW="${JOB_NAME:-data-prepper}"
+ python3 - <<'PY'
+import glob
+import os
+import xml.etree.ElementTree as ET
+from pathlib import Path
+
+
+def label_value(value: str) -> str:
+ return value.replace("\\", "\\\\").replace("\n", "\\n").replace('"', '\\"')
+
+
+totals = {"passed": 0, "failed": 0, "error": 0, "skipped": 0}
+case_lines = []
+suite = os.environ["METRIC_SUITE"]
+branch = os.environ["METRIC_BRANCH_RAW"]
+build_number = os.environ["METRIC_BUILD_NUMBER_RAW"]
+jenkins_job = os.environ["METRIC_JENKINS_JOB_RAW"]
+
+for path in glob.glob("build/junit-*.xml"):
+ try:
+ root = ET.parse(path).getroot()
+ except ET.ParseError:
+ totals["error"] += 1
+ continue
+ for case in root.findall(".//testcase"):
+ name = case.get("name") or "unnamed"
+ classname = case.get("classname") or Path(path).stem
+ test_name = f"{classname}::{name}" if classname else name
+ status = "passed"
+ if case.find("error") is not None:
+ status = "error"
+ elif case.find("failure") is not None:
+ status = "failed"
+ elif case.find("skipped") is not None:
+ status = "skipped"
+ totals[status] += 1
+ labels = {
+ "suite": suite,
+ "branch": branch,
+ "build_number": build_number,
+ "jenkins_job": jenkins_job,
+ "test": test_name,
+ "status": status,
+ }
+ label_blob = ",".join(f'{key}="{label_value(value)}"' for key, value in labels.items())
+ case_lines.append(f"platform_quality_gate_test_case_result{{{label_blob}}} 1")
+
+if not case_lines:
+ totals["skipped"] += 1
+ labels = {
+ "suite": suite,
+ "branch": branch,
+ "build_number": build_number,
+ "jenkins_job": jenkins_job,
+ "test": "__no_test_cases__",
+ "status": "skipped",
+ }
+ label_blob = ",".join(f'{key}="{label_value(value)}"' for key, value in labels.items())
+ case_lines.append(f"platform_quality_gate_test_case_result{{{label_blob}}} 1")
+
+Path("build/test-counts.env").write_text(
+ "\n".join(f"test_{key}_count={value}" for key, value in totals.items()) + "\n",
+ encoding="utf-8",
+)
+Path("build/testcase-metrics.prom").write_text("\n".join(case_lines) + "\n", encoding="utf-8")
+PY
+ . build/test-counts.env
+ tests_check="ok"
+ if [ "$((test_failed_count + test_error_count))" -gt 0 ]; then
+ tests_check="failed"
+ fi
+ cat > build/platform-quality-metrics.prom <> build/platform-quality-metrics.prom
+ curl -fsS -X PUT --data-binary @build/platform-quality-metrics.prom "${gateway}/metrics/job/platform-quality-ci/suite/${suite}" >/dev/null || \
+ echo "warning: metrics push failed for suite=${suite}" >&2
'''
}
+ script {
+ if (fileExists('build/junit-data-prepper.xml')) {
+ junit allowEmptyResults: true, testResults: 'build/junit-*.xml'
+ }
+ }
archiveArtifacts artifacts: 'build/**', allowEmptyArchive: true, fingerprint: true
}
}
diff --git a/services/monitoring/dashboards/atlas-jobs.json b/services/monitoring/dashboards/atlas-jobs.json
index 88ee7e8b..1a38da09 100644
--- a/services/monitoring/dashboards/atlas-jobs.json
+++ b/services/monitoring/dashboards/atlas-jobs.json
@@ -40,15 +40,19 @@
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -110,15 +114,19 @@
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -310,15 +318,19 @@
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -417,558 +429,6 @@
"textMode": "value"
}
},
- {
- "id": 19,
- "type": "stat",
- "title": "Failing Tests",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 0,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 20,
- "type": "stat",
- "title": "Failing Coverage",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 3,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 21,
- "type": "stat",
- "title": "Failing LOC",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 6,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 22,
- "type": "stat",
- "title": "Failing Docs/Naming",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 9,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 23,
- "type": "stat",
- "title": "Failing Gate/Glue",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 12,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 24,
- "type": "stat",
- "title": "Failing SonarQube",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 15,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 25,
- "type": "stat",
- "title": "Failing Supply Chain",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 18,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 26,
- "type": "stat",
- "title": "Total Failing Checks",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 21,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
{
"id": 8,
"type": "bargauge",
@@ -981,7 +441,7 @@
"h": 8,
"w": 8,
"x": 0,
- "y": 9
+ "y": 5
},
"targets": [
{
@@ -1055,7 +515,7 @@
"h": 8,
"w": 8,
"x": 8,
- "y": 9
+ "y": 5
},
"targets": [
{
@@ -1079,15 +539,19 @@
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -1130,7 +594,7 @@
"h": 8,
"w": 8,
"x": 16,
- "y": 9
+ "y": 5
},
"targets": [
{
@@ -1206,7 +670,7 @@
"h": 8,
"w": 24,
"x": 0,
- "y": 17
+ "y": 13
},
"targets": [
{
@@ -1254,7 +718,7 @@
"h": 8,
"w": 8,
"x": 0,
- "y": 25
+ "y": 21
},
"targets": [
{
@@ -1305,7 +769,7 @@
"h": 8,
"w": 8,
"x": 8,
- "y": 25
+ "y": 21
},
"targets": [
{
@@ -1351,7 +815,7 @@
"h": 8,
"w": 8,
"x": 16,
- "y": 25
+ "y": 21
},
"targets": [
{
@@ -1393,20 +857,20 @@
{
"id": 130,
"type": "timeseries",
- "title": "Fail Trend: Tests",
+ "title": "Failure Trend: Tests",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
+ "h": 7,
+ "w": 6,
"x": 0,
- "y": 33
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1429,25 +893,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 131,
"type": "timeseries",
- "title": "Fail Trend: Coverage",
+ "title": "Failure Trend: Coverage",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 3,
- "y": 33
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1470,25 +935,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 132,
"type": "timeseries",
- "title": "Fail Trend: LOC",
+ "title": "Failure Trend: LOC",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 6,
- "y": 33
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1511,25 +977,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 133,
"type": "timeseries",
- "title": "Fail Trend: Style",
+ "title": "Failure Trend: Style",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 9,
- "y": 33
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1552,25 +1019,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 134,
"type": "timeseries",
- "title": "Fail Trend: Gate Glue",
+ "title": "Failure Trend: Gate Glue",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 12,
- "y": 33
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 36
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1593,25 +1061,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 135,
"type": "timeseries",
- "title": "Fail Trend: SonarQube",
+ "title": "Failure Trend: SonarQube",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 15,
- "y": 33
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 36
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1634,25 +1103,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 136,
"type": "timeseries",
- "title": "Fail Trend: Supply Chain",
+ "title": "Failure Trend: Supply Chain",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 18,
- "y": 33
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 36
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1675,25 +1145,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 138,
"type": "timeseries",
- "title": "Pass Trend: Tests",
+ "title": "Success Trend: Tests",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
+ "h": 7,
+ "w": 6,
"x": 0,
- "y": 39
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1716,25 +1187,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 139,
"type": "timeseries",
- "title": "Pass Trend: Coverage",
+ "title": "Success Trend: Coverage",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 3,
- "y": 39
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1757,25 +1229,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 140,
"type": "timeseries",
- "title": "Pass Trend: LOC",
+ "title": "Success Trend: LOC",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 6,
- "y": 39
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1798,25 +1271,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 141,
"type": "timeseries",
- "title": "Pass Trend: Style",
+ "title": "Success Trend: Style",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 9,
- "y": 39
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1839,25 +1313,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 142,
"type": "timeseries",
- "title": "Pass Trend: Gate Glue",
+ "title": "Success Trend: Gate Glue",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 12,
- "y": 39
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 50
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1880,25 +1355,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 143,
"type": "timeseries",
- "title": "Pass Trend: SonarQube",
+ "title": "Success Trend: SonarQube",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 15,
- "y": 39
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 50
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1921,25 +1397,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 144,
"type": "timeseries",
- "title": "Pass Trend: Supply Chain",
+ "title": "Success Trend: Supply Chain",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 18,
- "y": 39
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 50
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1962,87 +1439,8 @@
"tooltip": {
"mode": "multi"
}
- }
- },
- {
- "id": 15,
- "type": "bargauge",
- "title": "Latest Test Counters (Suite + Result)",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
},
- "gridPos": {
- "h": 6,
- "w": 3,
- "x": 21,
- "y": 39
- },
- "targets": [
- {
- "expr": "sort_desc(sum by (suite, result) ({__name__=~\".*_quality_gate_tests_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))",
- "refId": "A",
- "legendFormat": "{{suite}} \u00b7 {{result}}",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "unit": "none",
- "min": 0,
- "max": null,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 50
- },
- {
- "color": "orange",
- "value": 70
- },
- {
- "color": "red",
- "value": 85
- }
- ]
- }
- },
- "overrides": []
- },
- "options": {
- "displayMode": "gradient",
- "orientation": "horizontal",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- }
- },
- "transformations": [
- {
- "id": "sortBy",
- "options": {
- "fields": [
- "Value"
- ],
- "order": "desc"
- }
- },
- {
- "id": "limit",
- "options": {
- "limit": 24
- }
- }
- ]
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 145,
@@ -2056,7 +1454,7 @@
"h": 8,
"w": 12,
"x": 0,
- "y": 45
+ "y": 57
},
"targets": [
{
@@ -2195,166 +1593,6 @@
}
]
},
- {
- "id": 146,
- "type": "timeseries",
- "title": "Selected Test Pass/Fail History",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 8,
- "w": 8,
- "x": 12,
- "y": 45
- },
- "targets": [
- {
- "refId": "A",
- "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"passed\"}[$__interval])) or on() vector(0)",
- "legendFormat": "passed \u00b7 {{suite}} \u00b7 #{{build_number}}"
- },
- {
- "refId": "B",
- "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"failed\"}[$__interval])) or on() vector(0)",
- "legendFormat": "failed \u00b7 {{suite}} \u00b7 #{{build_number}}"
- },
- {
- "refId": "C",
- "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"skipped\"}[$__interval])) or on() vector(0)",
- "legendFormat": "skipped \u00b7 {{suite}} \u00b7 #{{build_number}}"
- }
- ],
- "fieldConfig": {
- "defaults": {
- "unit": "none",
- "links": [
- {
- "title": "Open build artifacts",
- "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/artifact/",
- "targetBlank": true
- },
- {
- "title": "Open build",
- "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/",
- "targetBlank": true
- }
- ]
- },
- "overrides": []
- },
- "options": {
- "legend": {
- "displayMode": "list",
- "placement": "bottom",
- "calcs": [
- "lastNotNull",
- "sum"
- ]
- },
- "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,
"type": "bargauge",
@@ -2365,9 +1603,9 @@
},
"gridPos": {
"h": 8,
- "w": 4,
- "x": 20,
- "y": 45
+ "w": 12,
+ "x": 12,
+ "y": 57
},
"targets": [
{
@@ -2544,6 +1782,343 @@
}
]
},
+ {
+ "id": 146,
+ "type": "timeseries",
+ "title": "Selected Test Pass/Fail History",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "atlas-vm"
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 65
+ },
+ "targets": [
+ {
+ "refId": "A",
+ "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"passed\"}[$__interval])) or on() vector(0)",
+ "legendFormat": "passed \u00b7 {{suite}} \u00b7 #{{build_number}}"
+ },
+ {
+ "refId": "B",
+ "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"failed\"}[$__interval])) or on() vector(0)",
+ "legendFormat": "failed \u00b7 {{suite}} \u00b7 #{{build_number}}"
+ },
+ {
+ "refId": "C",
+ "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"skipped\"}[$__interval])) or on() vector(0)",
+ "legendFormat": "skipped \u00b7 {{suite}} \u00b7 #{{build_number}}"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "none",
+ "links": [
+ {
+ "title": "Open build artifacts",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/artifact/",
+ "targetBlank": true
+ },
+ {
+ "title": "Open build",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/",
+ "targetBlank": true
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "options": {
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "calcs": [
+ "lastNotNull",
+ "sum"
+ ]
+ },
+ "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": 152,
+ "type": "timeseries",
+ "title": "Selected Test Pass Rate History",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "atlas-vm"
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 65
+ },
+ "targets": [
+ {
+ "expr": "100 * (sum by (suite, test) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"passed\"}[$__interval]))) / clamp_min((sum by (suite, test) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=~\"passed|failed|error|skipped\"}[$__interval]))), 1)",
+ "refId": "A",
+ "legendFormat": "{{suite}} \u00b7 {{test}}"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percent",
+ "links": [
+ {
+ "title": "Open build artifacts",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/artifact/",
+ "targetBlank": true
+ },
+ {
+ "title": "Open build",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/",
+ "targetBlank": true
+ }
+ ],
+ "min": 0,
+ "max": 100,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 90
+ },
+ {
+ "color": "yellow",
+ "value": 93
+ },
+ {
+ "color": "green",
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "options": {
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "calcs": [
+ "lastNotNull",
+ "min"
+ ]
+ },
+ "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": 17,
"type": "bargauge",
@@ -2556,7 +2131,7 @@
"h": 8,
"w": 12,
"x": 0,
- "y": 53
+ "y": 73
},
"targets": [
{
@@ -2580,15 +2155,19 @@
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -2641,7 +2220,7 @@
"h": 8,
"w": 12,
"x": 12,
- "y": 53
+ "y": 73
},
"targets": [
{
@@ -2729,7 +2308,7 @@
"h": 7,
"w": 6,
"x": 0,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -2796,7 +2375,7 @@
"h": 7,
"w": 6,
"x": 6,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -2863,7 +2442,7 @@
"h": 7,
"w": 6,
"x": 12,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -2930,7 +2509,7 @@
"h": 7,
"w": 6,
"x": 18,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -2997,7 +2576,7 @@
"h": 6,
"w": 4,
"x": 0,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3058,7 +2637,7 @@
"h": 6,
"w": 4,
"x": 4,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3127,7 +2706,7 @@
"h": 6,
"w": 4,
"x": 8,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3196,7 +2775,7 @@
"h": 6,
"w": 6,
"x": 12,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3247,7 +2826,7 @@
"h": 6,
"w": 6,
"x": 18,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3319,9 +2898,9 @@
},
"gridPos": {
"h": 6,
- "w": 24,
+ "w": 12,
"x": 0,
- "y": 74
+ "y": 94
},
"targets": [
{
@@ -3376,6 +2955,73 @@
}
]
},
+ {
+ "id": 151,
+ "type": "bargauge",
+ "title": "No Real Test Cases by Suite",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "atlas-vm"
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 94
+ },
+ "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\",test!=\"__no_test_cases__\"}))) or on(suite) (0 * (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__\", \".*\"))))",
+ "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"
+ }
+ }
+ ]
+ },
{
"id": 149,
"type": "bargauge",
@@ -3388,7 +3034,7 @@
"h": 7,
"w": 12,
"x": 0,
- "y": 80
+ "y": 100
},
"targets": [
{
@@ -3552,7 +3198,7 @@
"h": 7,
"w": 12,
"x": 12,
- "y": 80
+ "y": 100
},
"targets": [
{
diff --git a/services/monitoring/dashboards/atlas-testing.json b/services/monitoring/dashboards/atlas-testing.json
index 5ee1f94c..8fb5b8ed 100644
--- a/services/monitoring/dashboards/atlas-testing.json
+++ b/services/monitoring/dashboards/atlas-testing.json
@@ -40,15 +40,19 @@
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -110,15 +114,19 @@
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -310,15 +318,19 @@
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -417,558 +429,6 @@
"textMode": "value"
}
},
- {
- "id": 19,
- "type": "stat",
- "title": "Failing Tests",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 0,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 20,
- "type": "stat",
- "title": "Failing Coverage",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 3,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 21,
- "type": "stat",
- "title": "Failing LOC",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 6,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 22,
- "type": "stat",
- "title": "Failing Docs/Naming",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 9,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 23,
- "type": "stat",
- "title": "Failing Gate/Glue",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 12,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 24,
- "type": "stat",
- "title": "Failing SonarQube",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 15,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 25,
- "type": "stat",
- "title": "Failing Supply Chain",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 18,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 26,
- "type": "stat",
- "title": "Total Failing Checks",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 21,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
{
"id": 8,
"type": "bargauge",
@@ -981,7 +441,7 @@
"h": 8,
"w": 8,
"x": 0,
- "y": 9
+ "y": 5
},
"targets": [
{
@@ -1055,7 +515,7 @@
"h": 8,
"w": 8,
"x": 8,
- "y": 9
+ "y": 5
},
"targets": [
{
@@ -1079,15 +539,19 @@
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -1130,7 +594,7 @@
"h": 8,
"w": 8,
"x": 16,
- "y": 9
+ "y": 5
},
"targets": [
{
@@ -1206,7 +670,7 @@
"h": 8,
"w": 24,
"x": 0,
- "y": 17
+ "y": 13
},
"targets": [
{
@@ -1254,7 +718,7 @@
"h": 8,
"w": 8,
"x": 0,
- "y": 25
+ "y": 21
},
"targets": [
{
@@ -1305,7 +769,7 @@
"h": 8,
"w": 8,
"x": 8,
- "y": 25
+ "y": 21
},
"targets": [
{
@@ -1351,7 +815,7 @@
"h": 8,
"w": 8,
"x": 16,
- "y": 25
+ "y": 21
},
"targets": [
{
@@ -1393,20 +857,20 @@
{
"id": 130,
"type": "timeseries",
- "title": "Fail Trend: Tests",
+ "title": "Failure Trend: Tests",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
+ "h": 7,
+ "w": 6,
"x": 0,
- "y": 33
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1429,25 +893,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 131,
"type": "timeseries",
- "title": "Fail Trend: Coverage",
+ "title": "Failure Trend: Coverage",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 3,
- "y": 33
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1470,25 +935,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 132,
"type": "timeseries",
- "title": "Fail Trend: LOC",
+ "title": "Failure Trend: LOC",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 6,
- "y": 33
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1511,25 +977,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 133,
"type": "timeseries",
- "title": "Fail Trend: Style",
+ "title": "Failure Trend: Style",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 9,
- "y": 33
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1552,25 +1019,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 134,
"type": "timeseries",
- "title": "Fail Trend: Gate Glue",
+ "title": "Failure Trend: Gate Glue",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 12,
- "y": 33
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 36
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1593,25 +1061,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 135,
"type": "timeseries",
- "title": "Fail Trend: SonarQube",
+ "title": "Failure Trend: SonarQube",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 15,
- "y": 33
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 36
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1634,25 +1103,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 136,
"type": "timeseries",
- "title": "Fail Trend: Supply Chain",
+ "title": "Failure Trend: Supply Chain",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 18,
- "y": 33
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 36
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1675,25 +1145,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 138,
"type": "timeseries",
- "title": "Pass Trend: Tests",
+ "title": "Success Trend: Tests",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
+ "h": 7,
+ "w": 6,
"x": 0,
- "y": 39
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1716,25 +1187,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 139,
"type": "timeseries",
- "title": "Pass Trend: Coverage",
+ "title": "Success Trend: Coverage",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 3,
- "y": 39
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1757,25 +1229,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 140,
"type": "timeseries",
- "title": "Pass Trend: LOC",
+ "title": "Success Trend: LOC",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 6,
- "y": 39
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1798,25 +1271,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 141,
"type": "timeseries",
- "title": "Pass Trend: Style",
+ "title": "Success Trend: Style",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 9,
- "y": 39
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1839,25 +1313,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 142,
"type": "timeseries",
- "title": "Pass Trend: Gate Glue",
+ "title": "Success Trend: Gate Glue",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 12,
- "y": 39
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 50
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1880,25 +1355,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 143,
"type": "timeseries",
- "title": "Pass Trend: SonarQube",
+ "title": "Success Trend: SonarQube",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 15,
- "y": 39
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 50
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1921,25 +1397,26 @@
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 144,
"type": "timeseries",
- "title": "Pass Trend: Supply Chain",
+ "title": "Success Trend: Supply Chain",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 18,
- "y": 39
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 50
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1962,87 +1439,8 @@
"tooltip": {
"mode": "multi"
}
- }
- },
- {
- "id": 15,
- "type": "bargauge",
- "title": "Latest Test Counters (Suite + Result)",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
},
- "gridPos": {
- "h": 6,
- "w": 3,
- "x": 21,
- "y": 39
- },
- "targets": [
- {
- "expr": "sort_desc(sum by (suite, result) ({__name__=~\".*_quality_gate_tests_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))",
- "refId": "A",
- "legendFormat": "{{suite}} \u00b7 {{result}}",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "unit": "none",
- "min": 0,
- "max": null,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 50
- },
- {
- "color": "orange",
- "value": 70
- },
- {
- "color": "red",
- "value": 85
- }
- ]
- }
- },
- "overrides": []
- },
- "options": {
- "displayMode": "gradient",
- "orientation": "horizontal",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- }
- },
- "transformations": [
- {
- "id": "sortBy",
- "options": {
- "fields": [
- "Value"
- ],
- "order": "desc"
- }
- },
- {
- "id": "limit",
- "options": {
- "limit": 24
- }
- }
- ]
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 145,
@@ -2056,7 +1454,7 @@
"h": 8,
"w": 12,
"x": 0,
- "y": 45
+ "y": 57
},
"targets": [
{
@@ -2195,166 +1593,6 @@
}
]
},
- {
- "id": 146,
- "type": "timeseries",
- "title": "Selected Test Pass/Fail History",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 8,
- "w": 8,
- "x": 12,
- "y": 45
- },
- "targets": [
- {
- "refId": "A",
- "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"passed\"}[$__interval])) or on() vector(0)",
- "legendFormat": "passed \u00b7 {{suite}} \u00b7 #{{build_number}}"
- },
- {
- "refId": "B",
- "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"failed\"}[$__interval])) or on() vector(0)",
- "legendFormat": "failed \u00b7 {{suite}} \u00b7 #{{build_number}}"
- },
- {
- "refId": "C",
- "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"skipped\"}[$__interval])) or on() vector(0)",
- "legendFormat": "skipped \u00b7 {{suite}} \u00b7 #{{build_number}}"
- }
- ],
- "fieldConfig": {
- "defaults": {
- "unit": "none",
- "links": [
- {
- "title": "Open build artifacts",
- "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/artifact/",
- "targetBlank": true
- },
- {
- "title": "Open build",
- "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/",
- "targetBlank": true
- }
- ]
- },
- "overrides": []
- },
- "options": {
- "legend": {
- "displayMode": "list",
- "placement": "bottom",
- "calcs": [
- "lastNotNull",
- "sum"
- ]
- },
- "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,
"type": "bargauge",
@@ -2365,9 +1603,9 @@
},
"gridPos": {
"h": 8,
- "w": 4,
- "x": 20,
- "y": 45
+ "w": 12,
+ "x": 12,
+ "y": 57
},
"targets": [
{
@@ -2544,6 +1782,343 @@
}
]
},
+ {
+ "id": 146,
+ "type": "timeseries",
+ "title": "Selected Test Pass/Fail History",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "atlas-vm"
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 65
+ },
+ "targets": [
+ {
+ "refId": "A",
+ "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"passed\"}[$__interval])) or on() vector(0)",
+ "legendFormat": "passed \u00b7 {{suite}} \u00b7 #{{build_number}}"
+ },
+ {
+ "refId": "B",
+ "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"failed\"}[$__interval])) or on() vector(0)",
+ "legendFormat": "failed \u00b7 {{suite}} \u00b7 #{{build_number}}"
+ },
+ {
+ "refId": "C",
+ "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"skipped\"}[$__interval])) or on() vector(0)",
+ "legendFormat": "skipped \u00b7 {{suite}} \u00b7 #{{build_number}}"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "none",
+ "links": [
+ {
+ "title": "Open build artifacts",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/artifact/",
+ "targetBlank": true
+ },
+ {
+ "title": "Open build",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/",
+ "targetBlank": true
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "options": {
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "calcs": [
+ "lastNotNull",
+ "sum"
+ ]
+ },
+ "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": 152,
+ "type": "timeseries",
+ "title": "Selected Test Pass Rate History",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "atlas-vm"
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 65
+ },
+ "targets": [
+ {
+ "expr": "100 * (sum by (suite, test) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"passed\"}[$__interval]))) / clamp_min((sum by (suite, test) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=~\"passed|failed|error|skipped\"}[$__interval]))), 1)",
+ "refId": "A",
+ "legendFormat": "{{suite}} \u00b7 {{test}}"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percent",
+ "links": [
+ {
+ "title": "Open build artifacts",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/artifact/",
+ "targetBlank": true
+ },
+ {
+ "title": "Open build",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/",
+ "targetBlank": true
+ }
+ ],
+ "min": 0,
+ "max": 100,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 90
+ },
+ {
+ "color": "yellow",
+ "value": 93
+ },
+ {
+ "color": "green",
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "options": {
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "calcs": [
+ "lastNotNull",
+ "min"
+ ]
+ },
+ "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": 17,
"type": "bargauge",
@@ -2556,7 +2131,7 @@
"h": 8,
"w": 12,
"x": 0,
- "y": 53
+ "y": 73
},
"targets": [
{
@@ -2580,15 +2155,19 @@
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -2641,7 +2220,7 @@
"h": 8,
"w": 12,
"x": 12,
- "y": 53
+ "y": 73
},
"targets": [
{
@@ -2729,7 +2308,7 @@
"h": 7,
"w": 6,
"x": 0,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -2796,7 +2375,7 @@
"h": 7,
"w": 6,
"x": 6,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -2863,7 +2442,7 @@
"h": 7,
"w": 6,
"x": 12,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -2930,7 +2509,7 @@
"h": 7,
"w": 6,
"x": 18,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -2997,7 +2576,7 @@
"h": 6,
"w": 4,
"x": 0,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3058,7 +2637,7 @@
"h": 6,
"w": 4,
"x": 4,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3127,7 +2706,7 @@
"h": 6,
"w": 4,
"x": 8,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3196,7 +2775,7 @@
"h": 6,
"w": 6,
"x": 12,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3247,7 +2826,7 @@
"h": 6,
"w": 6,
"x": 18,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3319,9 +2898,9 @@
},
"gridPos": {
"h": 6,
- "w": 24,
+ "w": 12,
"x": 0,
- "y": 74
+ "y": 94
},
"targets": [
{
@@ -3376,6 +2955,73 @@
}
]
},
+ {
+ "id": 151,
+ "type": "bargauge",
+ "title": "No Real Test Cases by Suite",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "atlas-vm"
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 94
+ },
+ "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\",test!=\"__no_test_cases__\"}))) or on(suite) (0 * (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__\", \".*\"))))",
+ "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"
+ }
+ }
+ ]
+ },
{
"id": 149,
"type": "bargauge",
@@ -3388,7 +3034,7 @@
"h": 7,
"w": 12,
"x": 0,
- "y": 80
+ "y": 100
},
"targets": [
{
@@ -3552,7 +3198,7 @@
"h": 7,
"w": 12,
"x": 12,
- "y": 80
+ "y": 100
},
"targets": [
{
diff --git a/services/monitoring/grafana-dashboard-jobs.yaml b/services/monitoring/grafana-dashboard-jobs.yaml
index d2d62d39..135d992f 100644
--- a/services/monitoring/grafana-dashboard-jobs.yaml
+++ b/services/monitoring/grafana-dashboard-jobs.yaml
@@ -49,15 +49,19 @@ data:
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -119,15 +123,19 @@ data:
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -319,15 +327,19 @@ data:
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -426,558 +438,6 @@ data:
"textMode": "value"
}
},
- {
- "id": 19,
- "type": "stat",
- "title": "Failing Tests",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 0,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 20,
- "type": "stat",
- "title": "Failing Coverage",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 3,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 21,
- "type": "stat",
- "title": "Failing LOC",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 6,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 22,
- "type": "stat",
- "title": "Failing Docs/Naming",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 9,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 23,
- "type": "stat",
- "title": "Failing Gate/Glue",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 12,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 24,
- "type": "stat",
- "title": "Failing SonarQube",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 15,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 25,
- "type": "stat",
- "title": "Failing Supply Chain",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 18,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 26,
- "type": "stat",
- "title": "Total Failing Checks",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 21,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
{
"id": 8,
"type": "bargauge",
@@ -990,7 +450,7 @@ data:
"h": 8,
"w": 8,
"x": 0,
- "y": 9
+ "y": 5
},
"targets": [
{
@@ -1064,7 +524,7 @@ data:
"h": 8,
"w": 8,
"x": 8,
- "y": 9
+ "y": 5
},
"targets": [
{
@@ -1088,15 +548,19 @@ data:
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -1139,7 +603,7 @@ data:
"h": 8,
"w": 8,
"x": 16,
- "y": 9
+ "y": 5
},
"targets": [
{
@@ -1215,7 +679,7 @@ data:
"h": 8,
"w": 24,
"x": 0,
- "y": 17
+ "y": 13
},
"targets": [
{
@@ -1263,7 +727,7 @@ data:
"h": 8,
"w": 8,
"x": 0,
- "y": 25
+ "y": 21
},
"targets": [
{
@@ -1314,7 +778,7 @@ data:
"h": 8,
"w": 8,
"x": 8,
- "y": 25
+ "y": 21
},
"targets": [
{
@@ -1360,7 +824,7 @@ data:
"h": 8,
"w": 8,
"x": 16,
- "y": 25
+ "y": 21
},
"targets": [
{
@@ -1402,20 +866,20 @@ data:
{
"id": 130,
"type": "timeseries",
- "title": "Fail Trend: Tests",
+ "title": "Failure Trend: Tests",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
+ "h": 7,
+ "w": 6,
"x": 0,
- "y": 33
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1438,25 +902,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 131,
"type": "timeseries",
- "title": "Fail Trend: Coverage",
+ "title": "Failure Trend: Coverage",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 3,
- "y": 33
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1479,25 +944,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 132,
"type": "timeseries",
- "title": "Fail Trend: LOC",
+ "title": "Failure Trend: LOC",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 6,
- "y": 33
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1520,25 +986,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 133,
"type": "timeseries",
- "title": "Fail Trend: Style",
+ "title": "Failure Trend: Style",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 9,
- "y": 33
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1561,25 +1028,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 134,
"type": "timeseries",
- "title": "Fail Trend: Gate Glue",
+ "title": "Failure Trend: Gate Glue",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 12,
- "y": 33
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 36
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1602,25 +1070,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 135,
"type": "timeseries",
- "title": "Fail Trend: SonarQube",
+ "title": "Failure Trend: SonarQube",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 15,
- "y": 33
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 36
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1643,25 +1112,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 136,
"type": "timeseries",
- "title": "Fail Trend: Supply Chain",
+ "title": "Failure Trend: Supply Chain",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 18,
- "y": 33
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 36
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1684,25 +1154,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 138,
"type": "timeseries",
- "title": "Pass Trend: Tests",
+ "title": "Success Trend: Tests",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
+ "h": 7,
+ "w": 6,
"x": 0,
- "y": 39
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1725,25 +1196,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 139,
"type": "timeseries",
- "title": "Pass Trend: Coverage",
+ "title": "Success Trend: Coverage",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 3,
- "y": 39
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1766,25 +1238,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 140,
"type": "timeseries",
- "title": "Pass Trend: LOC",
+ "title": "Success Trend: LOC",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 6,
- "y": 39
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1807,25 +1280,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 141,
"type": "timeseries",
- "title": "Pass Trend: Style",
+ "title": "Success Trend: Style",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 9,
- "y": 39
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1848,25 +1322,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 142,
"type": "timeseries",
- "title": "Pass Trend: Gate Glue",
+ "title": "Success Trend: Gate Glue",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 12,
- "y": 39
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 50
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1889,25 +1364,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 143,
"type": "timeseries",
- "title": "Pass Trend: SonarQube",
+ "title": "Success Trend: SonarQube",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 15,
- "y": 39
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 50
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1930,25 +1406,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 144,
"type": "timeseries",
- "title": "Pass Trend: Supply Chain",
+ "title": "Success Trend: Supply Chain",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 18,
- "y": 39
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 50
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1971,87 +1448,8 @@ data:
"tooltip": {
"mode": "multi"
}
- }
- },
- {
- "id": 15,
- "type": "bargauge",
- "title": "Latest Test Counters (Suite + Result)",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
},
- "gridPos": {
- "h": 6,
- "w": 3,
- "x": 21,
- "y": 39
- },
- "targets": [
- {
- "expr": "sort_desc(sum by (suite, result) ({__name__=~\".*_quality_gate_tests_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))",
- "refId": "A",
- "legendFormat": "{{suite}} \u00b7 {{result}}",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "unit": "none",
- "min": 0,
- "max": null,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 50
- },
- {
- "color": "orange",
- "value": 70
- },
- {
- "color": "red",
- "value": 85
- }
- ]
- }
- },
- "overrides": []
- },
- "options": {
- "displayMode": "gradient",
- "orientation": "horizontal",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- }
- },
- "transformations": [
- {
- "id": "sortBy",
- "options": {
- "fields": [
- "Value"
- ],
- "order": "desc"
- }
- },
- {
- "id": "limit",
- "options": {
- "limit": 24
- }
- }
- ]
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 145,
@@ -2065,7 +1463,7 @@ data:
"h": 8,
"w": 12,
"x": 0,
- "y": 45
+ "y": 57
},
"targets": [
{
@@ -2204,166 +1602,6 @@ data:
}
]
},
- {
- "id": 146,
- "type": "timeseries",
- "title": "Selected Test Pass/Fail History",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 8,
- "w": 8,
- "x": 12,
- "y": 45
- },
- "targets": [
- {
- "refId": "A",
- "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"passed\"}[$__interval])) or on() vector(0)",
- "legendFormat": "passed \u00b7 {{suite}} \u00b7 #{{build_number}}"
- },
- {
- "refId": "B",
- "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"failed\"}[$__interval])) or on() vector(0)",
- "legendFormat": "failed \u00b7 {{suite}} \u00b7 #{{build_number}}"
- },
- {
- "refId": "C",
- "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"skipped\"}[$__interval])) or on() vector(0)",
- "legendFormat": "skipped \u00b7 {{suite}} \u00b7 #{{build_number}}"
- }
- ],
- "fieldConfig": {
- "defaults": {
- "unit": "none",
- "links": [
- {
- "title": "Open build artifacts",
- "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/artifact/",
- "targetBlank": true
- },
- {
- "title": "Open build",
- "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/",
- "targetBlank": true
- }
- ]
- },
- "overrides": []
- },
- "options": {
- "legend": {
- "displayMode": "list",
- "placement": "bottom",
- "calcs": [
- "lastNotNull",
- "sum"
- ]
- },
- "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,
"type": "bargauge",
@@ -2374,9 +1612,9 @@ data:
},
"gridPos": {
"h": 8,
- "w": 4,
- "x": 20,
- "y": 45
+ "w": 12,
+ "x": 12,
+ "y": 57
},
"targets": [
{
@@ -2553,6 +1791,343 @@ data:
}
]
},
+ {
+ "id": 146,
+ "type": "timeseries",
+ "title": "Selected Test Pass/Fail History",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "atlas-vm"
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 65
+ },
+ "targets": [
+ {
+ "refId": "A",
+ "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"passed\"}[$__interval])) or on() vector(0)",
+ "legendFormat": "passed \u00b7 {{suite}} \u00b7 #{{build_number}}"
+ },
+ {
+ "refId": "B",
+ "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"failed\"}[$__interval])) or on() vector(0)",
+ "legendFormat": "failed \u00b7 {{suite}} \u00b7 #{{build_number}}"
+ },
+ {
+ "refId": "C",
+ "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"skipped\"}[$__interval])) or on() vector(0)",
+ "legendFormat": "skipped \u00b7 {{suite}} \u00b7 #{{build_number}}"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "none",
+ "links": [
+ {
+ "title": "Open build artifacts",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/artifact/",
+ "targetBlank": true
+ },
+ {
+ "title": "Open build",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/",
+ "targetBlank": true
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "options": {
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "calcs": [
+ "lastNotNull",
+ "sum"
+ ]
+ },
+ "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": 152,
+ "type": "timeseries",
+ "title": "Selected Test Pass Rate History",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "atlas-vm"
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 65
+ },
+ "targets": [
+ {
+ "expr": "100 * (sum by (suite, test) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"passed\"}[$__interval]))) / clamp_min((sum by (suite, test) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=~\"passed|failed|error|skipped\"}[$__interval]))), 1)",
+ "refId": "A",
+ "legendFormat": "{{suite}} \u00b7 {{test}}"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percent",
+ "links": [
+ {
+ "title": "Open build artifacts",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/artifact/",
+ "targetBlank": true
+ },
+ {
+ "title": "Open build",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/",
+ "targetBlank": true
+ }
+ ],
+ "min": 0,
+ "max": 100,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 90
+ },
+ {
+ "color": "yellow",
+ "value": 93
+ },
+ {
+ "color": "green",
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "options": {
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "calcs": [
+ "lastNotNull",
+ "min"
+ ]
+ },
+ "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": 17,
"type": "bargauge",
@@ -2565,7 +2140,7 @@ data:
"h": 8,
"w": 12,
"x": 0,
- "y": 53
+ "y": 73
},
"targets": [
{
@@ -2589,15 +2164,19 @@ data:
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -2650,7 +2229,7 @@ data:
"h": 8,
"w": 12,
"x": 12,
- "y": 53
+ "y": 73
},
"targets": [
{
@@ -2738,7 +2317,7 @@ data:
"h": 7,
"w": 6,
"x": 0,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -2805,7 +2384,7 @@ data:
"h": 7,
"w": 6,
"x": 6,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -2872,7 +2451,7 @@ data:
"h": 7,
"w": 6,
"x": 12,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -2939,7 +2518,7 @@ data:
"h": 7,
"w": 6,
"x": 18,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -3006,7 +2585,7 @@ data:
"h": 6,
"w": 4,
"x": 0,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3067,7 +2646,7 @@ data:
"h": 6,
"w": 4,
"x": 4,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3136,7 +2715,7 @@ data:
"h": 6,
"w": 4,
"x": 8,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3205,7 +2784,7 @@ data:
"h": 6,
"w": 6,
"x": 12,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3256,7 +2835,7 @@ data:
"h": 6,
"w": 6,
"x": 18,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3328,9 +2907,9 @@ data:
},
"gridPos": {
"h": 6,
- "w": 24,
+ "w": 12,
"x": 0,
- "y": 74
+ "y": 94
},
"targets": [
{
@@ -3385,6 +2964,73 @@ data:
}
]
},
+ {
+ "id": 151,
+ "type": "bargauge",
+ "title": "No Real Test Cases by Suite",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "atlas-vm"
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 94
+ },
+ "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\",test!=\"__no_test_cases__\"}))) or on(suite) (0 * (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__\", \".*\"))))",
+ "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"
+ }
+ }
+ ]
+ },
{
"id": 149,
"type": "bargauge",
@@ -3397,7 +3043,7 @@ data:
"h": 7,
"w": 12,
"x": 0,
- "y": 80
+ "y": 100
},
"targets": [
{
@@ -3561,7 +3207,7 @@ data:
"h": 7,
"w": 12,
"x": 12,
- "y": 80
+ "y": 100
},
"targets": [
{
diff --git a/services/monitoring/grafana-dashboard-testing.yaml b/services/monitoring/grafana-dashboard-testing.yaml
index ca1a4145..d6371f1f 100644
--- a/services/monitoring/grafana-dashboard-testing.yaml
+++ b/services/monitoring/grafana-dashboard-testing.yaml
@@ -49,15 +49,19 @@ data:
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -119,15 +123,19 @@ data:
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -319,15 +327,19 @@ data:
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -426,558 +438,6 @@ data:
"textMode": "value"
}
},
- {
- "id": 19,
- "type": "stat",
- "title": "Failing Tests",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 0,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 20,
- "type": "stat",
- "title": "Failing Coverage",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 3,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 21,
- "type": "stat",
- "title": "Failing LOC",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 6,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 22,
- "type": "stat",
- "title": "Failing Docs/Naming",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 9,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 23,
- "type": "stat",
- "title": "Failing Gate/Glue",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 12,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 24,
- "type": "stat",
- "title": "Failing SonarQube",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 15,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 25,
- "type": "stat",
- "title": "Failing Supply Chain",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 18,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum(count by (suite) ({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
- {
- "id": 26,
- "type": "stat",
- "title": "Total Failing Checks",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 4,
- "w": 3,
- "x": 21,
- "y": 5
- },
- "targets": [
- {
- "expr": "(sum({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"}) or on() vector(0))",
- "refId": "A",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 1
- },
- {
- "color": "orange",
- "value": 3
- },
- {
- "color": "red",
- "value": 5
- }
- ]
- },
- "unit": "none",
- "custom": {
- "displayMode": "auto"
- }
- },
- "overrides": []
- },
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "center",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "value"
- }
- },
{
"id": 8,
"type": "bargauge",
@@ -990,7 +450,7 @@ data:
"h": 8,
"w": 8,
"x": 0,
- "y": 9
+ "y": 5
},
"targets": [
{
@@ -1064,7 +524,7 @@ data:
"h": 8,
"w": 8,
"x": 8,
- "y": 9
+ "y": 5
},
"targets": [
{
@@ -1088,15 +548,19 @@ data:
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -1139,7 +603,7 @@ data:
"h": 8,
"w": 8,
"x": 16,
- "y": 9
+ "y": 5
},
"targets": [
{
@@ -1215,7 +679,7 @@ data:
"h": 8,
"w": 24,
"x": 0,
- "y": 17
+ "y": 13
},
"targets": [
{
@@ -1263,7 +727,7 @@ data:
"h": 8,
"w": 8,
"x": 0,
- "y": 25
+ "y": 21
},
"targets": [
{
@@ -1314,7 +778,7 @@ data:
"h": 8,
"w": 8,
"x": 8,
- "y": 25
+ "y": 21
},
"targets": [
{
@@ -1360,7 +824,7 @@ data:
"h": 8,
"w": 8,
"x": 16,
- "y": 25
+ "y": 21
},
"targets": [
{
@@ -1402,20 +866,20 @@ data:
{
"id": 130,
"type": "timeseries",
- "title": "Fail Trend: Tests",
+ "title": "Failure Trend: Tests",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
+ "h": 7,
+ "w": 6,
"x": 0,
- "y": 33
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1438,25 +902,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 131,
"type": "timeseries",
- "title": "Fail Trend: Coverage",
+ "title": "Failure Trend: Coverage",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 3,
- "y": 33
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1479,25 +944,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 132,
"type": "timeseries",
- "title": "Fail Trend: LOC",
+ "title": "Failure Trend: LOC",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 6,
- "y": 33
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1520,25 +986,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 133,
"type": "timeseries",
- "title": "Fail Trend: Style",
+ "title": "Failure Trend: Style",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 9,
- "y": 33
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 29
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1561,25 +1028,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 134,
"type": "timeseries",
- "title": "Fail Trend: Gate Glue",
+ "title": "Failure Trend: Gate Glue",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 12,
- "y": 33
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 36
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1602,25 +1070,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 135,
"type": "timeseries",
- "title": "Fail Trend: SonarQube",
+ "title": "Failure Trend: SonarQube",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 15,
- "y": 33
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 36
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1643,25 +1112,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 136,
"type": "timeseries",
- "title": "Fail Trend: Supply Chain",
+ "title": "Failure Trend: Supply Chain",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 18,
- "y": 33
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 36
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result!~\"ok|passed|success|not_applicable|skipped|na|n/a\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1684,25 +1154,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 138,
"type": "timeseries",
- "title": "Pass Trend: Tests",
+ "title": "Success Trend: Tests",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
+ "h": 7,
+ "w": 6,
"x": 0,
- "y": 39
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"tests|unit|build\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1725,25 +1196,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 139,
"type": "timeseries",
- "title": "Pass Trend: Coverage",
+ "title": "Success Trend: Coverage",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 3,
- "y": 39
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"coverage\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1766,25 +1238,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 140,
"type": "timeseries",
- "title": "Pass Trend: LOC",
+ "title": "Success Trend: LOC",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 6,
- "y": 39
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"loc|smell\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1807,25 +1280,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 141,
"type": "timeseries",
- "title": "Pass Trend: Style",
+ "title": "Success Trend: Style",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 9,
- "y": 39
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 43
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"docs|naming|hygiene|lint|docs_naming|style\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1848,25 +1322,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 142,
"type": "timeseries",
- "title": "Pass Trend: Gate Glue",
+ "title": "Success Trend: Gate Glue",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 12,
- "y": 39
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 50
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"gate|glue|gate_glue\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1889,25 +1364,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 143,
"type": "timeseries",
- "title": "Pass Trend: SonarQube",
+ "title": "Success Trend: SonarQube",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 15,
- "y": 39
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 50
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"sonarqube|sonar\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1930,25 +1406,26 @@ data:
"tooltip": {
"mode": "multi"
}
- }
+ },
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 144,
"type": "timeseries",
- "title": "Pass Trend: Supply Chain",
+ "title": "Success Trend: Supply Chain",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
- "h": 6,
- "w": 3,
- "x": 18,
- "y": 39
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 50
},
"targets": [
{
- "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) (0 * (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__\", \".*\")))",
+ "expr": "(sum by (suite) (max_over_time(({__name__=~\".*_quality_gate_checks_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",check=~\"ironbank|supply_chain|image_compliance|artifact_security\",result=~\"ok|passed|success\"})[$__interval]))) or on(suite) ((0 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))",
"refId": "A",
"legendFormat": "{{suite}}"
}
@@ -1971,87 +1448,8 @@ data:
"tooltip": {
"mode": "multi"
}
- }
- },
- {
- "id": 15,
- "type": "bargauge",
- "title": "Latest Test Counters (Suite + Result)",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
},
- "gridPos": {
- "h": 6,
- "w": 3,
- "x": 21,
- "y": 39
- },
- "targets": [
- {
- "expr": "sort_desc(sum by (suite, result) ({__name__=~\".*_quality_gate_tests_total\",suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}))",
- "refId": "A",
- "legendFormat": "{{suite}} \u00b7 {{result}}",
- "instant": true
- }
- ],
- "fieldConfig": {
- "defaults": {
- "unit": "none",
- "min": 0,
- "max": null,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "yellow",
- "value": 50
- },
- {
- "color": "orange",
- "value": 70
- },
- {
- "color": "red",
- "value": 85
- }
- ]
- }
- },
- "overrides": []
- },
- "options": {
- "displayMode": "gradient",
- "orientation": "horizontal",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- }
- },
- "transformations": [
- {
- "id": "sortBy",
- "options": {
- "fields": [
- "Value"
- ],
- "order": "desc"
- }
- },
- {
- "id": "limit",
- "options": {
- "limit": 24
- }
- }
- ]
+ "description": "One line per selected suite. 1 means this check dimension was in that state during the bucket; 0 means the suite reported the dimension and it was not in that state."
},
{
"id": 145,
@@ -2065,7 +1463,7 @@ data:
"h": 8,
"w": 12,
"x": 0,
- "y": 45
+ "y": 57
},
"targets": [
{
@@ -2204,166 +1602,6 @@ data:
}
]
},
- {
- "id": 146,
- "type": "timeseries",
- "title": "Selected Test Pass/Fail History",
- "datasource": {
- "type": "prometheus",
- "uid": "atlas-vm"
- },
- "gridPos": {
- "h": 8,
- "w": 8,
- "x": 12,
- "y": 45
- },
- "targets": [
- {
- "refId": "A",
- "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"passed\"}[$__interval])) or on() vector(0)",
- "legendFormat": "passed \u00b7 {{suite}} \u00b7 #{{build_number}}"
- },
- {
- "refId": "B",
- "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"failed\"}[$__interval])) or on() vector(0)",
- "legendFormat": "failed \u00b7 {{suite}} \u00b7 #{{build_number}}"
- },
- {
- "refId": "C",
- "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"skipped\"}[$__interval])) or on() vector(0)",
- "legendFormat": "skipped \u00b7 {{suite}} \u00b7 #{{build_number}}"
- }
- ],
- "fieldConfig": {
- "defaults": {
- "unit": "none",
- "links": [
- {
- "title": "Open build artifacts",
- "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/artifact/",
- "targetBlank": true
- },
- {
- "title": "Open build",
- "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/",
- "targetBlank": true
- }
- ]
- },
- "overrides": []
- },
- "options": {
- "legend": {
- "displayMode": "list",
- "placement": "bottom",
- "calcs": [
- "lastNotNull",
- "sum"
- ]
- },
- "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,
"type": "bargauge",
@@ -2374,9 +1612,9 @@ data:
},
"gridPos": {
"h": 8,
- "w": 4,
- "x": 20,
- "y": 45
+ "w": 12,
+ "x": 12,
+ "y": 57
},
"targets": [
{
@@ -2553,6 +1791,343 @@ data:
}
]
},
+ {
+ "id": 146,
+ "type": "timeseries",
+ "title": "Selected Test Pass/Fail History",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "atlas-vm"
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 65
+ },
+ "targets": [
+ {
+ "refId": "A",
+ "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"passed\"}[$__interval])) or on() vector(0)",
+ "legendFormat": "passed \u00b7 {{suite}} \u00b7 #{{build_number}}"
+ },
+ {
+ "refId": "B",
+ "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"failed\"}[$__interval])) or on() vector(0)",
+ "legendFormat": "failed \u00b7 {{suite}} \u00b7 #{{build_number}}"
+ },
+ {
+ "refId": "C",
+ "expr": "sum by (suite, test, status, jenkins_job, build_number) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"skipped\"}[$__interval])) or on() vector(0)",
+ "legendFormat": "skipped \u00b7 {{suite}} \u00b7 #{{build_number}}"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "none",
+ "links": [
+ {
+ "title": "Open build artifacts",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/artifact/",
+ "targetBlank": true
+ },
+ {
+ "title": "Open build",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/",
+ "targetBlank": true
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "options": {
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "calcs": [
+ "lastNotNull",
+ "sum"
+ ]
+ },
+ "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": 152,
+ "type": "timeseries",
+ "title": "Selected Test Pass Rate History",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "atlas-vm"
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 65
+ },
+ "targets": [
+ {
+ "expr": "100 * (sum by (suite, test) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=\"passed\"}[$__interval]))) / clamp_min((sum by (suite, test) (max_over_time(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test=~\"${test:regex}\",test!=\"__no_test_cases__\",exported_job=\"platform-quality-ci\",status=~\"passed|failed|error|skipped\"}[$__interval]))), 1)",
+ "refId": "A",
+ "legendFormat": "{{suite}} \u00b7 {{test}}"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percent",
+ "links": [
+ {
+ "title": "Open build artifacts",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/artifact/",
+ "targetBlank": true
+ },
+ {
+ "title": "Open build",
+ "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/${__field.labels.build_number}/",
+ "targetBlank": true
+ }
+ ],
+ "min": 0,
+ "max": 100,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 90
+ },
+ {
+ "color": "yellow",
+ "value": 93
+ },
+ {
+ "color": "green",
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "options": {
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "calcs": [
+ "lastNotNull",
+ "min"
+ ]
+ },
+ "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": 17,
"type": "bargauge",
@@ -2565,7 +2140,7 @@ data:
"h": 8,
"w": 12,
"x": 0,
- "y": 53
+ "y": 73
},
"targets": [
{
@@ -2589,15 +2164,19 @@ data:
},
{
"color": "orange",
- "value": 80
+ "value": 90
},
{
"color": "yellow",
- "value": 95
+ "value": 93
},
{
"color": "green",
- "value": 99
+ "value": 95
+ },
+ {
+ "color": "blue",
+ "value": 100
}
]
},
@@ -2650,7 +2229,7 @@ data:
"h": 8,
"w": 12,
"x": 12,
- "y": 53
+ "y": 73
},
"targets": [
{
@@ -2738,7 +2317,7 @@ data:
"h": 7,
"w": 6,
"x": 0,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -2805,7 +2384,7 @@ data:
"h": 7,
"w": 6,
"x": 6,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -2872,7 +2451,7 @@ data:
"h": 7,
"w": 6,
"x": 12,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -2939,7 +2518,7 @@ data:
"h": 7,
"w": 6,
"x": 18,
- "y": 61
+ "y": 81
},
"targets": [
{
@@ -3006,7 +2585,7 @@ data:
"h": 6,
"w": 4,
"x": 0,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3067,7 +2646,7 @@ data:
"h": 6,
"w": 4,
"x": 4,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3136,7 +2715,7 @@ data:
"h": 6,
"w": 4,
"x": 8,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3205,7 +2784,7 @@ data:
"h": 6,
"w": 6,
"x": 12,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3256,7 +2835,7 @@ data:
"h": 6,
"w": 6,
"x": 18,
- "y": 68
+ "y": 88
},
"targets": [
{
@@ -3328,9 +2907,9 @@ data:
},
"gridPos": {
"h": 6,
- "w": 24,
+ "w": 12,
"x": 0,
- "y": 74
+ "y": 94
},
"targets": [
{
@@ -3385,6 +2964,73 @@ data:
}
]
},
+ {
+ "id": 151,
+ "type": "bargauge",
+ "title": "No Real Test Cases by Suite",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "atlas-vm"
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 94
+ },
+ "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\",test!=\"__no_test_cases__\"}))) or on(suite) (0 * (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__\", \".*\"))))",
+ "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"
+ }
+ }
+ ]
+ },
{
"id": 149,
"type": "bargauge",
@@ -3397,7 +3043,7 @@ data:
"h": 7,
"w": 12,
"x": 0,
- "y": 80
+ "y": 100
},
"targets": [
{
@@ -3561,7 +3207,7 @@ data:
"h": 7,
"w": 12,
"x": 12,
- "y": 80
+ "y": 100
},
"targets": [
{