From 47b31ebcf44e567c10b1f6ce79583e4a75476e3d Mon Sep 17 00:00:00 2001 From: jenkins Date: Wed, 22 Apr 2026 16:56:52 -0300 Subject: [PATCH] monitoring(testing): collapse heavy drilldowns --- scripts/dashboards_render_atlas.py | 69 + scripts/tests/test_dashboards_render_atlas.py | 41 +- .../monitoring/dashboards/atlas-jobs.json | 5032 +++++++++-------- .../monitoring/dashboards/atlas-testing.json | 5032 +++++++++-------- .../monitoring/grafana-dashboard-jobs.yaml | 5032 +++++++++-------- .../monitoring/grafana-dashboard-testing.yaml | 5032 +++++++++-------- 6 files changed, 10313 insertions(+), 9925 deletions(-) diff --git a/scripts/dashboards_render_atlas.py b/scripts/dashboards_render_atlas.py index ba8cd64b..331792aa 100644 --- a/scripts/dashboards_render_atlas.py +++ b/scripts/dashboards_render_atlas.py @@ -1322,6 +1322,18 @@ def text_panel(panel_id, title, content, grid): } +def row_panel(panel_id, title, y, *, collapsed=True, panels=None): + """Return a Grafana row, optionally carrying collapsed child panels.""" + return { + "id": panel_id, + "type": "row", + "title": title, + "gridPos": {"h": 1, "w": 24, "x": 0, "y": y}, + "collapsed": collapsed, + **({"panels": panels or []} if collapsed else {}), + } + + DASHBOARD_LINK_TITLES = { "atlas-overview": "Open Atlas Overview", "atlas-pods": "Open Atlas Pods", @@ -3821,6 +3833,63 @@ def build_jobs_dashboard(): ) ) + # Keep the first paint intentionally light. The detailed matrices remain + # available, but they stay collapsed so browsers do not render every series + # and legend before the operator asks for them. + panel_by_id = {panel["id"]: panel for panel in panels} + visible_layout = { + 2: {"h": 4, "w": 4, "x": 0, "y": 0}, + 3: {"h": 4, "w": 4, "x": 4, "y": 0}, + 4: {"h": 4, "w": 4, "x": 8, "y": 0}, + 5: {"h": 4, "w": 4, "x": 12, "y": 0}, + 6: {"h": 4, "w": 4, "x": 16, "y": 0}, + 7: {"h": 4, "w": 4, "x": 20, "y": 0}, + 8: {"h": 7, "w": 8, "x": 0, "y": 4}, + 9: {"h": 7, "w": 8, "x": 8, "y": 4}, + 10: {"h": 7, "w": 8, "x": 16, "y": 4}, + 17: {"h": 7, "w": 12, "x": 0, "y": 11}, + 18: {"h": 7, "w": 12, "x": 12, "y": 11}, + } + compact_panels = [] + for panel_id, grid in visible_layout.items(): + panel = panel_by_id[panel_id] + panel["gridPos"] = grid + compact_panels.append(panel) + + def children(ids): + return [panel_by_id[panel_id] for panel_id in ids] + + compact_panels.extend( + [ + row_panel(500, "Reliability And Run History", 18, panels=children([11, 12, 13, 14])), + row_panel( + 501, + "Failure Trends By Check", + 19, + panels=children([130, 131, 132, 133, 134, 135, 136]), + ), + row_panel( + 502, + "Success Trends By Check", + 20, + panels=children([138, 139, 140, 141, 142, 143, 144]), + ), + row_panel( + 503, + "Test Drilldowns And Problem Tests", + 21, + panels=children([145, 147, 146, 152]), + ), + row_panel( + 504, + "Telemetry Completeness, SonarQube, And Branches", + 22, + panels=children([27, 28, 29, 30, 31, 32, 33, 34, 35, 148, 151, 149, 150]), + ), + ] + ) + panels = compact_panels + return { "uid": "atlas-jobs", "title": "Atlas Testing", diff --git a/scripts/tests/test_dashboards_render_atlas.py b/scripts/tests/test_dashboards_render_atlas.py index c77fb5b1..a763282e 100644 --- a/scripts/tests/test_dashboards_render_atlas.py +++ b/scripts/tests/test_dashboards_render_atlas.py @@ -11,6 +11,14 @@ def load_module(): return module +def flatten_panels(panels): + flat = [] + for panel in panels: + flat.append(panel) + flat.extend(panel.get("panels", [])) + return flat + + def test_table_panel_options_and_filterable(): mod = load_module() panel = mod.table_panel( @@ -73,7 +81,7 @@ def test_testing_suite_variable_uses_canonical_values_only(): def test_jobs_dashboard_separates_current_gate_health_from_reliability(): mod = load_module() dashboard = mod.build_jobs_dashboard() - panels_by_title = {panel["title"]: panel for panel in dashboard["panels"]} + panels_by_title = {panel["title"]: panel for panel in flatten_panels(dashboard["panels"])} assert "Current Gate Health by Suite" in panels_by_title assert "Run Reliability by Suite (24h)" in panels_by_title @@ -93,3 +101,34 @@ def test_jobs_dashboard_separates_current_gate_health_from_reliability(): assert reliability_panel["fieldConfig"]["defaults"]["mappings"] == [ {"type": "value", "options": {"-1": {"text": "no runs"}}} ] + + +def test_jobs_dashboard_collapses_heavy_drilldowns_for_light_first_paint(): + mod = load_module() + dashboard = mod.build_jobs_dashboard() + panels = dashboard["panels"] + rows = [panel for panel in panels if panel["type"] == "row"] + visible_query_panels = [panel for panel in panels if panel["type"] != "row"] + nested_panels_by_title = { + child["title"]: child + for row in rows + for child in row.get("panels", []) + } + + assert len(panels) == 16 + assert len(visible_query_panels) == 11 + assert sum(len(panel.get("targets", [])) for panel in visible_query_panels) == 11 + assert [row["title"] for row in rows] == [ + "Reliability And Run History", + "Failure Trends By Check", + "Success Trends By Check", + "Test Drilldowns And Problem Tests", + "Telemetry Completeness, SonarQube, And Branches", + ] + assert all(row["collapsed"] for row in rows) + + assert "Failure Trend: Coverage" in nested_panels_by_title + assert "Success Trend: Supply Chain" in nested_panels_by_title + assert "Selected Test Pass Rate History" in nested_panels_by_title + assert "Missing Coverage Metrics by Suite" in nested_panels_by_title + assert "SonarQube API Up" in nested_panels_by_title diff --git a/services/monitoring/dashboards/atlas-jobs.json b/services/monitoring/dashboards/atlas-jobs.json index aaa00cb3..ff80acea 100644 --- a/services/monitoring/dashboards/atlas-jobs.json +++ b/services/monitoring/dashboards/atlas-jobs.json @@ -13,7 +13,7 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 0, "y": 0 @@ -87,7 +87,7 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 4, "y": 0 @@ -161,7 +161,7 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 8, "y": 0 @@ -230,7 +230,7 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 12, "y": 0 @@ -291,7 +291,7 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 16, "y": 0 @@ -365,7 +365,7 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 20, "y": 0 @@ -438,10 +438,10 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 8, "x": 0, - "y": 5 + "y": 4 }, "targets": [ { @@ -518,10 +518,10 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 8, "x": 8, - "y": 5 + "y": 4 }, "targets": [ { @@ -608,10 +608,10 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 8, "x": 16, - "y": 5 + "y": 4 }, "targets": [ { @@ -675,1467 +675,6 @@ ], "description": "Gap from the 95% target. 0 means the suite is at or above target." }, - { - "id": 11, - "type": "timeseries", - "title": "Run Reliability History by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 13 - }, - "targets": [ - { - "expr": "100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval]))), 1))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "percent", - "min": 0, - "max": 100, - "custom": { - "drawStyle": "line", - "lineInterpolation": "linear", - "lineWidth": 2, - "fillOpacity": 8, - "showPoints": "always", - "pointSize": 3, - "spanNulls": true - } - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "multi" - } - } - }, - { - "id": 12, - "type": "timeseries", - "title": "Run Outcomes (Selected Scope)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 0, - "y": 21 - }, - "targets": [ - { - "refId": "A", - "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) or on() vector(0)", - "legendFormat": "Success" - }, - { - "refId": "B", - "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[$__interval])) or on() vector(0)", - "legendFormat": "Failure" - }, - { - "refId": "C", - "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])) or on() vector(0)", - "legendFormat": "Total" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "sum" - ] - }, - "tooltip": { - "mode": "multi" - } - } - }, - { - "id": 13, - "type": "timeseries", - "title": "Coverage & LOC History (Selected Scope)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 21 - }, - "targets": [ - { - "refId": "A", - "expr": "max_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", - "legendFormat": "{{suite}} coverage %" - }, - { - "refId": "B", - "expr": "max_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", - "legendFormat": "{{suite}} files >500 LOC" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "tooltip": { - "mode": "multi" - } - } - }, - { - "id": 14, - "type": "piechart", - "title": "Run Status Mix (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 16, - "y": 21 - }, - "targets": [ - { - "expr": "sum by (status) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))", - "refId": "A", - "legendFormat": "{{status}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "color": { - "mode": "palette-classic" - } - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "right" - }, - "pieType": "pie", - "displayLabels": [], - "tooltip": { - "mode": "single" - }, - "colorScheme": "interpolateSpectral", - "colorBy": "value", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - } - }, - { - "id": 130, - "type": "timeseries", - "title": "Failure Trend: Tests", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Coverage", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: LOC", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Style", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Gate Glue", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: SonarQube", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Supply Chain", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Tests", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Coverage", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: LOC", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Style", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Gate Glue", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: SonarQube", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Supply Chain", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": 145, - "type": "timeseries", - "title": "Problematic Tests Over Time (Top failures)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 57 - }, - "targets": [ - { - "expr": "(topk(12, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[$__interval])))) or on() vector(0)", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{test}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "links": [ - { - "title": "Open latest artifacts", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "Open Jenkins job", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", - "targetBlank": true - } - ] - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max", - "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", - "title": "Most Problematic Test by Suite (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 57 - }, - "targets": [ - { - "expr": "sort_desc((topk by (suite) (1, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[30d])))) or on() vector(0))", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{test}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 1 - }, - { - "color": "orange", - "value": 3 - }, - { - "color": "red", - "value": 5 - } - ] - }, - "links": [ - { - "title": "Open latest artifacts", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "Open Jenkins job", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", - "targetBlank": true - } - ] - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - }, - "links": [ - { - "title": "Open Jenkins", - "url": "${jenkins_base}/", - "targetBlank": true - }, - { - "title": "ariadne: Job", - "url": "${jenkins_base}/job/ariadne/", - "targetBlank": true - }, - { - "title": "ariadne: Last Artifacts", - "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "metis: Job", - "url": "${jenkins_base}/job/metis/", - "targetBlank": true - }, - { - "title": "metis: Last Artifacts", - "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "ananke: Job", - "url": "${jenkins_base}/job/ananke/", - "targetBlank": true - }, - { - "title": "ananke: Last Artifacts", - "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "atlasbot: Job", - "url": "${jenkins_base}/job/atlasbot/", - "targetBlank": true - }, - { - "title": "atlasbot: Last Artifacts", - "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "pegasus: Job", - "url": "${jenkins_base}/job/pegasus/", - "targetBlank": true - }, - { - "title": "pegasus: Last Artifacts", - "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "soteria: Job", - "url": "${jenkins_base}/job/Soteria/", - "targetBlank": true - }, - { - "title": "soteria: Last Artifacts", - "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "titan_iac: Job", - "url": "${jenkins_base}/job/titan-iac/", - "targetBlank": true - }, - { - "title": "titan_iac: Last Artifacts", - "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "bstein_home: Job", - "url": "${jenkins_base}/job/bstein-dev-home/", - "targetBlank": true - }, - { - "title": "bstein_home: Last Artifacts", - "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "data_prepper: Job", - "url": "${jenkins_base}/job/data-prepper/", - "targetBlank": true - }, - { - "title": "data_prepper: Last Artifacts", - "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", - "targetBlank": true - } - ], - "transformations": [ - { - "id": "sortBy", - "options": { - "fields": [ - "Value" - ], - "order": "desc" - } - }, - { - "id": "limit", - "options": { - "limit": 9 - } - } - ] - }, - { - "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", @@ -2145,10 +684,10 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 12, "x": 0, - "y": 73 + "y": 11 }, "targets": [ { @@ -2234,10 +773,10 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 12, "x": 12, - "y": 73 + "y": 11 }, "targets": [ { @@ -2314,1064 +853,2595 @@ ] }, { - "id": 27, - "type": "bargauge", - "title": "Missing Tests Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 500, + "type": "row", + "title": "Reliability And Run History", "gridPos": { - "h": 7, - "w": 6, + "h": 1, + "w": 24, "x": 0, - "y": 81 + "y": 18 }, - "targets": [ + "collapsed": true, + "panels": [ { - "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) ({__name__=~\".*_quality_gate_tests_total\",exported_job=\"platform-quality-ci\"}))) 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 - } - ] + "id": 11, + "type": "timeseries", + "title": "Run Reliability History by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 13 + }, + "targets": [ + { + "expr": "100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval]))), 1))", + "refId": "A", + "legendFormat": "{{suite}}" + } ], - "fields": "", - "values": false - } - }, - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "percent", + "min": 0, + "max": 100, + "custom": { + "drawStyle": "line", + "lineInterpolation": "linear", + "lineWidth": 2, + "fillOpacity": 8, + "showPoints": "always", + "pointSize": 3, + "spanNulls": true + } + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" + "legend": { + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "multi" + } + } + }, + { + "id": 12, + "type": "timeseries", + "title": "Run Outcomes (Selected Scope)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 21 + }, + "targets": [ + { + "refId": "A", + "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) or on() vector(0)", + "legendFormat": "Success" + }, + { + "refId": "B", + "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[$__interval])) or on() vector(0)", + "legendFormat": "Failure" + }, + { + "refId": "C", + "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])) or on() vector(0)", + "legendFormat": "Total" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "sum" + ] + }, + "tooltip": { + "mode": "multi" + } + } + }, + { + "id": 13, + "type": "timeseries", + "title": "Coverage & LOC History (Selected Scope)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 21 + }, + "targets": [ + { + "refId": "A", + "expr": "max_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", + "legendFormat": "{{suite}} coverage %" + }, + { + "refId": "B", + "expr": "max_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", + "legendFormat": "{{suite}} files >500 LOC" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "tooltip": { + "mode": "multi" + } + } + }, + { + "id": 14, + "type": "piechart", + "title": "Run Status Mix (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 21 + }, + "targets": [ + { + "expr": "sum by (status) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))", + "refId": "A", + "legendFormat": "{{status}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "color": { + "mode": "palette-classic" + } + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "right" + }, + "pieType": "pie", + "displayLabels": [], + "tooltip": { + "mode": "single" + }, + "colorScheme": "interpolateSpectral", + "colorBy": "value", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } } } ] }, { - "id": 28, - "type": "bargauge", - "title": "Missing Checks Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 501, + "type": "row", + "title": "Failure Trends By Check", "gridPos": { - "h": 7, - "w": 6, - "x": 6, - "y": 81 - }, - "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) ({__name__=~\".*_quality_gate_checks_total\",exported_job=\"platform-quality-ci\"}))) 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": 29, - "type": "bargauge", - "title": "Missing Coverage Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 12, - "y": 81 - }, - "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_workspace_line_coverage_percent{exported_job=\"platform-quality-ci\"}))) 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": 30, - "type": "bargauge", - "title": "Missing LOC Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 18, - "y": 81 - }, - "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_source_lines_over_500_total{exported_job=\"platform-quality-ci\"}))) 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": 31, - "type": "stat", - "title": "SonarQube API Up", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 4, + "h": 1, + "w": 24, "x": 0, - "y": 88 + "y": 19 }, - "targets": [ + "collapsed": true, + "panels": [ { - "expr": "(max(sonarqube_up) or on() vector(0))", - "refId": "A", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "id": 130, + "type": "timeseries", + "title": "Failure Trend: Tests", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null - }, - { - "color": "green", - "value": 1 - } - ] + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "y": 29 }, - "unit": "none", - "custom": { - "displayMode": "auto" - } - }, - "overrides": [] - }, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "center", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } ], - "fields": "", - "values": false - }, - "textMode": "value" - } - }, - { - "id": 32, - "type": "stat", - "title": "Sonar Projects (Selected)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 4, - "x": 4, - "y": 88 - }, - "targets": [ - { - "expr": "(count(sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"}) or on() vector(0))", - "refId": "A", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] }, - "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": 33, - "type": "stat", - "title": "Sonar Gate Fetch Errors", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 4, - "x": 8, - "y": 88 - }, - "targets": [ - { - "expr": "(max(sonarqube_quality_gate_fetch_errors_total) 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": 34, - "type": "piechart", - "title": "Sonar Gate Status Mix (Selected)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 12, - "y": 88 - }, - "targets": [ - { - "expr": "count by (status) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"})", - "refId": "A", - "legendFormat": "{{status}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "percent", - "color": { - "mode": "palette-classic" - } - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "right" - }, - "pieType": "pie", - "displayLabels": [], - "tooltip": { - "mode": "single" - }, - "colorScheme": "interpolateSpectral", - "colorBy": "value", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - } - }, - { - "id": 35, - "type": "bargauge", - "title": "Projects Failing Sonar Gate", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 18, - "y": 88 - }, - "targets": [ - { - "expr": "sort_desc((sort_desc(count by (project_key) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\",status!~\"OK|ok\"})) or on() label_replace(vector(0), \"project_key\", \"none\", \"__name__\", \".*\")))", - "refId": "A", - "legendFormat": "{{project_key}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 1 - }, - { - "color": "orange", - "value": 3 - }, - { - "color": "red", - "value": 5 - } - ] - } - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - }, - "transformations": [ - { - "id": "sortBy", "options": { - "fields": [ - "Value" - ], - "order": "desc" - } + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Coverage", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: LOC", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Style", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Gate Glue", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: SonarQube", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Supply Chain", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": 148, - "type": "bargauge", - "title": "Missing Test-Case Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 502, + "type": "row", + "title": "Success Trends By Check", "gridPos": { - "h": 6, - "w": 12, + "h": 1, + "w": 24, "x": 0, - "y": 94 + "y": 20 }, - "targets": [ + "collapsed": true, + "panels": [ { - "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\"}))) 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 - } - ] + "id": 138, + "type": "timeseries", + "title": "Success Trend: Tests", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } ], - "fields": "", - "values": false - } - }, - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" - } + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Coverage", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: LOC", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Style", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Gate Glue", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: SonarQube", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Supply Chain", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": 151, - "type": "bargauge", - "title": "No Real Test Cases by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 503, + "type": "row", + "title": "Test Drilldowns And Problem Tests", "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", - "title": "Recent Branch Evidence by Suite (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 12, + "h": 1, + "w": 24, "x": 0, - "y": 100 + "y": 21 }, - "targets": [ + "collapsed": true, + "panels": [ { - "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}[30d])))", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{branch}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 1 - } - ] + "id": 145, + "type": "timeseries", + "title": "Problematic Tests Over Time (Top failures)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 57 + }, + "targets": [ + { + "expr": "(topk(12, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[$__interval])))) or on() vector(0)", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{test}}" + } ], - "fields": "", - "values": false - } - }, - "links": [ - { - "title": "Open Jenkins", - "url": "${jenkins_base}/", - "targetBlank": true - }, - { - "title": "ariadne: Job", - "url": "${jenkins_base}/job/ariadne/", - "targetBlank": true - }, - { - "title": "ariadne: Last Artifacts", - "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "metis: Job", - "url": "${jenkins_base}/job/metis/", - "targetBlank": true - }, - { - "title": "metis: Last Artifacts", - "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "ananke: Job", - "url": "${jenkins_base}/job/ananke/", - "targetBlank": true - }, - { - "title": "ananke: Last Artifacts", - "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "atlasbot: Job", - "url": "${jenkins_base}/job/atlasbot/", - "targetBlank": true - }, - { - "title": "atlasbot: Last Artifacts", - "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "pegasus: Job", - "url": "${jenkins_base}/job/pegasus/", - "targetBlank": true - }, - { - "title": "pegasus: Last Artifacts", - "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "soteria: Job", - "url": "${jenkins_base}/job/Soteria/", - "targetBlank": true - }, - { - "title": "soteria: Last Artifacts", - "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "titan_iac: Job", - "url": "${jenkins_base}/job/titan-iac/", - "targetBlank": true - }, - { - "title": "titan_iac: Last Artifacts", - "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "bstein_home: Job", - "url": "${jenkins_base}/job/bstein-dev-home/", - "targetBlank": true - }, - { - "title": "bstein_home: Last Artifacts", - "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "data_prepper: Job", - "url": "${jenkins_base}/job/data-prepper/", - "targetBlank": true - }, - { - "title": "data_prepper: Last Artifacts", - "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", - "targetBlank": true - } - ], - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "none", + "links": [ + { + "title": "Open latest artifacts", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "Open Jenkins job", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", + "targetBlank": true + } + ] + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" - } + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max", + "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", + "title": "Most Problematic Test by Suite (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 57 + }, + "targets": [ + { + "expr": "sort_desc((topk by (suite) (1, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[30d])))) or on() vector(0))", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{test}}", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 1 + }, + { + "color": "orange", + "value": 3 + }, + { + "color": "red", + "value": 5 + } + ] + }, + "links": [ + { + "title": "Open latest artifacts", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "Open Jenkins job", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", + "targetBlank": true + } + ] + }, + "overrides": [] + }, + "options": { + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "links": [ + { + "title": "Open Jenkins", + "url": "${jenkins_base}/", + "targetBlank": true + }, + { + "title": "ariadne: Job", + "url": "${jenkins_base}/job/ariadne/", + "targetBlank": true + }, + { + "title": "ariadne: Last Artifacts", + "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "metis: Job", + "url": "${jenkins_base}/job/metis/", + "targetBlank": true + }, + { + "title": "metis: Last Artifacts", + "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "ananke: Job", + "url": "${jenkins_base}/job/ananke/", + "targetBlank": true + }, + { + "title": "ananke: Last Artifacts", + "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "atlasbot: Job", + "url": "${jenkins_base}/job/atlasbot/", + "targetBlank": true + }, + { + "title": "atlasbot: Last Artifacts", + "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "pegasus: Job", + "url": "${jenkins_base}/job/pegasus/", + "targetBlank": true + }, + { + "title": "pegasus: Last Artifacts", + "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "soteria: Job", + "url": "${jenkins_base}/job/Soteria/", + "targetBlank": true + }, + { + "title": "soteria: Last Artifacts", + "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "titan_iac: Job", + "url": "${jenkins_base}/job/titan-iac/", + "targetBlank": true + }, + { + "title": "titan_iac: Last Artifacts", + "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "bstein_home: Job", + "url": "${jenkins_base}/job/bstein-dev-home/", + "targetBlank": true + }, + { + "title": "bstein_home: Last Artifacts", + "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "data_prepper: Job", + "url": "${jenkins_base}/job/data-prepper/", + "targetBlank": true + }, + { + "title": "data_prepper: Last Artifacts", + "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", + "targetBlank": true + } + ], + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + }, + { + "id": "limit", + "options": { + "limit": 9 + } + } + ] + }, + { + "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": 150, - "type": "bargauge", - "title": "Non-Primary Branch Evidence (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 504, + "type": "row", + "title": "Telemetry Completeness, SonarQube, And Branches", "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 100 + "h": 1, + "w": 24, + "x": 0, + "y": 22 }, - "targets": [ + "collapsed": true, + "panels": [ { - "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\",branch!~\"main|master|origin/main|origin/master|unknown\"}[30d])))", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{branch}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 1 - }, - { - "color": "orange", - "value": 3 - }, - { - "color": "red", - "value": 5 - } - ] + "id": 27, + "type": "bargauge", + "title": "Missing Tests Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "y": 81 + }, + "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) ({__name__=~\".*_quality_gate_tests_total\",exported_job=\"platform-quality-ci\"}))) 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 + } ], - "fields": "", - "values": false - } - }, - "links": [ - { - "title": "Open Jenkins", - "url": "${jenkins_base}/", - "targetBlank": true - }, - { - "title": "ariadne: Job", - "url": "${jenkins_base}/job/ariadne/", - "targetBlank": true - }, - { - "title": "ariadne: Last Artifacts", - "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "metis: Job", - "url": "${jenkins_base}/job/metis/", - "targetBlank": true - }, - { - "title": "metis: Last Artifacts", - "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "ananke: Job", - "url": "${jenkins_base}/job/ananke/", - "targetBlank": true - }, - { - "title": "ananke: Last Artifacts", - "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "atlasbot: Job", - "url": "${jenkins_base}/job/atlasbot/", - "targetBlank": true - }, - { - "title": "atlasbot: Last Artifacts", - "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "pegasus: Job", - "url": "${jenkins_base}/job/pegasus/", - "targetBlank": true - }, - { - "title": "pegasus: Last Artifacts", - "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "soteria: Job", - "url": "${jenkins_base}/job/Soteria/", - "targetBlank": true - }, - { - "title": "soteria: Last Artifacts", - "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "titan_iac: Job", - "url": "${jenkins_base}/job/titan-iac/", - "targetBlank": true - }, - { - "title": "titan_iac: Last Artifacts", - "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "bstein_home: Job", - "url": "${jenkins_base}/job/bstein-dev-home/", - "targetBlank": true - }, - { - "title": "bstein_home: Last Artifacts", - "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "data_prepper: Job", - "url": "${jenkins_base}/job/data-prepper/", - "targetBlank": true - }, - { - "title": "data_prepper: Last Artifacts", - "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", - "targetBlank": true - } - ], - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 1 + } + ] + }, + "decimals": 0 + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] + }, + { + "id": 28, + "type": "bargauge", + "title": "Missing Checks Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 6, + "y": 81 + }, + "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) ({__name__=~\".*_quality_gate_checks_total\",exported_job=\"platform-quality-ci\"}))) 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": 29, + "type": "bargauge", + "title": "Missing Coverage Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 12, + "y": 81 + }, + "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_workspace_line_coverage_percent{exported_job=\"platform-quality-ci\"}))) 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": 30, + "type": "bargauge", + "title": "Missing LOC Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 18, + "y": 81 + }, + "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_source_lines_over_500_total{exported_job=\"platform-quality-ci\"}))) 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": 31, + "type": "stat", + "title": "SonarQube API Up", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 0, + "y": 88 + }, + "targets": [ + { + "expr": "(max(sonarqube_up) or on() vector(0))", + "refId": "A", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "green", + "value": 1 + } + ] + }, + "unit": "none", + "custom": { + "displayMode": "auto" + } + }, + "overrides": [] + }, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "center", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "value" } + }, + { + "id": 32, + "type": "stat", + "title": "Sonar Projects (Selected)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 4, + "y": 88 + }, + "targets": [ + { + "expr": "(count(sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"}) 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": 33, + "type": "stat", + "title": "Sonar Gate Fetch Errors", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 8, + "y": 88 + }, + "targets": [ + { + "expr": "(max(sonarqube_quality_gate_fetch_errors_total) 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": 34, + "type": "piechart", + "title": "Sonar Gate Status Mix (Selected)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 12, + "y": 88 + }, + "targets": [ + { + "expr": "count by (status) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"})", + "refId": "A", + "legendFormat": "{{status}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "percent", + "color": { + "mode": "palette-classic" + } + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "right" + }, + "pieType": "pie", + "displayLabels": [], + "tooltip": { + "mode": "single" + }, + "colorScheme": "interpolateSpectral", + "colorBy": "value", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + } + }, + { + "id": 35, + "type": "bargauge", + "title": "Projects Failing Sonar Gate", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 18, + "y": 88 + }, + "targets": [ + { + "expr": "sort_desc((sort_desc(count by (project_key) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\",status!~\"OK|ok\"})) or on() label_replace(vector(0), \"project_key\", \"none\", \"__name__\", \".*\")))", + "refId": "A", + "legendFormat": "{{project_key}}", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 1 + }, + { + "color": "orange", + "value": 3 + }, + { + "color": "red", + "value": 5 + } + ] + } + }, + "overrides": [] + }, + "options": { + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] + }, + { + "id": 148, + "type": "bargauge", + "title": "Missing Test-Case Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "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\"}))) 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": 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", + "title": "Recent Branch Evidence by Suite (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 100 + }, + "targets": [ + { + "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}[30d])))", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{branch}}", + "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 + } + }, + "links": [ + { + "title": "Open Jenkins", + "url": "${jenkins_base}/", + "targetBlank": true + }, + { + "title": "ariadne: Job", + "url": "${jenkins_base}/job/ariadne/", + "targetBlank": true + }, + { + "title": "ariadne: Last Artifacts", + "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "metis: Job", + "url": "${jenkins_base}/job/metis/", + "targetBlank": true + }, + { + "title": "metis: Last Artifacts", + "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "ananke: Job", + "url": "${jenkins_base}/job/ananke/", + "targetBlank": true + }, + { + "title": "ananke: Last Artifacts", + "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "atlasbot: Job", + "url": "${jenkins_base}/job/atlasbot/", + "targetBlank": true + }, + { + "title": "atlasbot: Last Artifacts", + "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "pegasus: Job", + "url": "${jenkins_base}/job/pegasus/", + "targetBlank": true + }, + { + "title": "pegasus: Last Artifacts", + "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "soteria: Job", + "url": "${jenkins_base}/job/Soteria/", + "targetBlank": true + }, + { + "title": "soteria: Last Artifacts", + "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "titan_iac: Job", + "url": "${jenkins_base}/job/titan-iac/", + "targetBlank": true + }, + { + "title": "titan_iac: Last Artifacts", + "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "bstein_home: Job", + "url": "${jenkins_base}/job/bstein-dev-home/", + "targetBlank": true + }, + { + "title": "bstein_home: Last Artifacts", + "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "data_prepper: Job", + "url": "${jenkins_base}/job/data-prepper/", + "targetBlank": true + }, + { + "title": "data_prepper: Last Artifacts", + "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", + "targetBlank": true + } + ], + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] + }, + { + "id": 150, + "type": "bargauge", + "title": "Non-Primary Branch Evidence (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 100 + }, + "targets": [ + { + "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\",branch!~\"main|master|origin/main|origin/master|unknown\"}[30d])))", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{branch}}", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 1 + }, + { + "color": "orange", + "value": 3 + }, + { + "color": "red", + "value": 5 + } + ] + }, + "decimals": 0 + }, + "overrides": [] + }, + "options": { + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "links": [ + { + "title": "Open Jenkins", + "url": "${jenkins_base}/", + "targetBlank": true + }, + { + "title": "ariadne: Job", + "url": "${jenkins_base}/job/ariadne/", + "targetBlank": true + }, + { + "title": "ariadne: Last Artifacts", + "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "metis: Job", + "url": "${jenkins_base}/job/metis/", + "targetBlank": true + }, + { + "title": "metis: Last Artifacts", + "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "ananke: Job", + "url": "${jenkins_base}/job/ananke/", + "targetBlank": true + }, + { + "title": "ananke: Last Artifacts", + "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "atlasbot: Job", + "url": "${jenkins_base}/job/atlasbot/", + "targetBlank": true + }, + { + "title": "atlasbot: Last Artifacts", + "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "pegasus: Job", + "url": "${jenkins_base}/job/pegasus/", + "targetBlank": true + }, + { + "title": "pegasus: Last Artifacts", + "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "soteria: Job", + "url": "${jenkins_base}/job/Soteria/", + "targetBlank": true + }, + { + "title": "soteria: Last Artifacts", + "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "titan_iac: Job", + "url": "${jenkins_base}/job/titan-iac/", + "targetBlank": true + }, + { + "title": "titan_iac: Last Artifacts", + "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "bstein_home: Job", + "url": "${jenkins_base}/job/bstein-dev-home/", + "targetBlank": true + }, + { + "title": "bstein_home: Last Artifacts", + "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "data_prepper: Job", + "url": "${jenkins_base}/job/data-prepper/", + "targetBlank": true + }, + { + "title": "data_prepper: Last Artifacts", + "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", + "targetBlank": true + } + ], + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] } ] } diff --git a/services/monitoring/dashboards/atlas-testing.json b/services/monitoring/dashboards/atlas-testing.json index 71ccae86..ea5e0e09 100644 --- a/services/monitoring/dashboards/atlas-testing.json +++ b/services/monitoring/dashboards/atlas-testing.json @@ -13,7 +13,7 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 0, "y": 0 @@ -87,7 +87,7 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 4, "y": 0 @@ -161,7 +161,7 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 8, "y": 0 @@ -230,7 +230,7 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 12, "y": 0 @@ -291,7 +291,7 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 16, "y": 0 @@ -365,7 +365,7 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 20, "y": 0 @@ -438,10 +438,10 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 8, "x": 0, - "y": 5 + "y": 4 }, "targets": [ { @@ -518,10 +518,10 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 8, "x": 8, - "y": 5 + "y": 4 }, "targets": [ { @@ -608,10 +608,10 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 8, "x": 16, - "y": 5 + "y": 4 }, "targets": [ { @@ -675,1467 +675,6 @@ ], "description": "Gap from the 95% target. 0 means the suite is at or above target." }, - { - "id": 11, - "type": "timeseries", - "title": "Run Reliability History by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 13 - }, - "targets": [ - { - "expr": "100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval]))), 1))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "percent", - "min": 0, - "max": 100, - "custom": { - "drawStyle": "line", - "lineInterpolation": "linear", - "lineWidth": 2, - "fillOpacity": 8, - "showPoints": "always", - "pointSize": 3, - "spanNulls": true - } - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "multi" - } - } - }, - { - "id": 12, - "type": "timeseries", - "title": "Run Outcomes (Selected Scope)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 0, - "y": 21 - }, - "targets": [ - { - "refId": "A", - "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) or on() vector(0)", - "legendFormat": "Success" - }, - { - "refId": "B", - "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[$__interval])) or on() vector(0)", - "legendFormat": "Failure" - }, - { - "refId": "C", - "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])) or on() vector(0)", - "legendFormat": "Total" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "sum" - ] - }, - "tooltip": { - "mode": "multi" - } - } - }, - { - "id": 13, - "type": "timeseries", - "title": "Coverage & LOC History (Selected Scope)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 21 - }, - "targets": [ - { - "refId": "A", - "expr": "max_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", - "legendFormat": "{{suite}} coverage %" - }, - { - "refId": "B", - "expr": "max_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", - "legendFormat": "{{suite}} files >500 LOC" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "tooltip": { - "mode": "multi" - } - } - }, - { - "id": 14, - "type": "piechart", - "title": "Run Status Mix (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 16, - "y": 21 - }, - "targets": [ - { - "expr": "sum by (status) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))", - "refId": "A", - "legendFormat": "{{status}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "color": { - "mode": "palette-classic" - } - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "right" - }, - "pieType": "pie", - "displayLabels": [], - "tooltip": { - "mode": "single" - }, - "colorScheme": "interpolateSpectral", - "colorBy": "value", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - } - }, - { - "id": 130, - "type": "timeseries", - "title": "Failure Trend: Tests", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Coverage", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: LOC", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Style", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Gate Glue", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: SonarQube", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Supply Chain", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Tests", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Coverage", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: LOC", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Style", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Gate Glue", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: SonarQube", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Supply Chain", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": 145, - "type": "timeseries", - "title": "Problematic Tests Over Time (Top failures)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 57 - }, - "targets": [ - { - "expr": "(topk(12, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[$__interval])))) or on() vector(0)", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{test}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "links": [ - { - "title": "Open latest artifacts", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "Open Jenkins job", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", - "targetBlank": true - } - ] - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max", - "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", - "title": "Most Problematic Test by Suite (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 57 - }, - "targets": [ - { - "expr": "sort_desc((topk by (suite) (1, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[30d])))) or on() vector(0))", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{test}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 1 - }, - { - "color": "orange", - "value": 3 - }, - { - "color": "red", - "value": 5 - } - ] - }, - "links": [ - { - "title": "Open latest artifacts", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "Open Jenkins job", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", - "targetBlank": true - } - ] - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - }, - "links": [ - { - "title": "Open Jenkins", - "url": "${jenkins_base}/", - "targetBlank": true - }, - { - "title": "ariadne: Job", - "url": "${jenkins_base}/job/ariadne/", - "targetBlank": true - }, - { - "title": "ariadne: Last Artifacts", - "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "metis: Job", - "url": "${jenkins_base}/job/metis/", - "targetBlank": true - }, - { - "title": "metis: Last Artifacts", - "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "ananke: Job", - "url": "${jenkins_base}/job/ananke/", - "targetBlank": true - }, - { - "title": "ananke: Last Artifacts", - "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "atlasbot: Job", - "url": "${jenkins_base}/job/atlasbot/", - "targetBlank": true - }, - { - "title": "atlasbot: Last Artifacts", - "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "pegasus: Job", - "url": "${jenkins_base}/job/pegasus/", - "targetBlank": true - }, - { - "title": "pegasus: Last Artifacts", - "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "soteria: Job", - "url": "${jenkins_base}/job/Soteria/", - "targetBlank": true - }, - { - "title": "soteria: Last Artifacts", - "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "titan_iac: Job", - "url": "${jenkins_base}/job/titan-iac/", - "targetBlank": true - }, - { - "title": "titan_iac: Last Artifacts", - "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "bstein_home: Job", - "url": "${jenkins_base}/job/bstein-dev-home/", - "targetBlank": true - }, - { - "title": "bstein_home: Last Artifacts", - "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "data_prepper: Job", - "url": "${jenkins_base}/job/data-prepper/", - "targetBlank": true - }, - { - "title": "data_prepper: Last Artifacts", - "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", - "targetBlank": true - } - ], - "transformations": [ - { - "id": "sortBy", - "options": { - "fields": [ - "Value" - ], - "order": "desc" - } - }, - { - "id": "limit", - "options": { - "limit": 9 - } - } - ] - }, - { - "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", @@ -2145,10 +684,10 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 12, "x": 0, - "y": 73 + "y": 11 }, "targets": [ { @@ -2234,10 +773,10 @@ "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 12, "x": 12, - "y": 73 + "y": 11 }, "targets": [ { @@ -2314,1064 +853,2595 @@ ] }, { - "id": 27, - "type": "bargauge", - "title": "Missing Tests Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 500, + "type": "row", + "title": "Reliability And Run History", "gridPos": { - "h": 7, - "w": 6, + "h": 1, + "w": 24, "x": 0, - "y": 81 + "y": 18 }, - "targets": [ + "collapsed": true, + "panels": [ { - "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) ({__name__=~\".*_quality_gate_tests_total\",exported_job=\"platform-quality-ci\"}))) 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 - } - ] + "id": 11, + "type": "timeseries", + "title": "Run Reliability History by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 13 + }, + "targets": [ + { + "expr": "100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval]))), 1))", + "refId": "A", + "legendFormat": "{{suite}}" + } ], - "fields": "", - "values": false - } - }, - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "percent", + "min": 0, + "max": 100, + "custom": { + "drawStyle": "line", + "lineInterpolation": "linear", + "lineWidth": 2, + "fillOpacity": 8, + "showPoints": "always", + "pointSize": 3, + "spanNulls": true + } + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" + "legend": { + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "multi" + } + } + }, + { + "id": 12, + "type": "timeseries", + "title": "Run Outcomes (Selected Scope)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 21 + }, + "targets": [ + { + "refId": "A", + "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) or on() vector(0)", + "legendFormat": "Success" + }, + { + "refId": "B", + "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[$__interval])) or on() vector(0)", + "legendFormat": "Failure" + }, + { + "refId": "C", + "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])) or on() vector(0)", + "legendFormat": "Total" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "sum" + ] + }, + "tooltip": { + "mode": "multi" + } + } + }, + { + "id": 13, + "type": "timeseries", + "title": "Coverage & LOC History (Selected Scope)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 21 + }, + "targets": [ + { + "refId": "A", + "expr": "max_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", + "legendFormat": "{{suite}} coverage %" + }, + { + "refId": "B", + "expr": "max_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", + "legendFormat": "{{suite}} files >500 LOC" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "tooltip": { + "mode": "multi" + } + } + }, + { + "id": 14, + "type": "piechart", + "title": "Run Status Mix (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 21 + }, + "targets": [ + { + "expr": "sum by (status) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))", + "refId": "A", + "legendFormat": "{{status}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "color": { + "mode": "palette-classic" + } + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "right" + }, + "pieType": "pie", + "displayLabels": [], + "tooltip": { + "mode": "single" + }, + "colorScheme": "interpolateSpectral", + "colorBy": "value", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } } } ] }, { - "id": 28, - "type": "bargauge", - "title": "Missing Checks Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 501, + "type": "row", + "title": "Failure Trends By Check", "gridPos": { - "h": 7, - "w": 6, - "x": 6, - "y": 81 - }, - "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) ({__name__=~\".*_quality_gate_checks_total\",exported_job=\"platform-quality-ci\"}))) 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": 29, - "type": "bargauge", - "title": "Missing Coverage Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 12, - "y": 81 - }, - "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_workspace_line_coverage_percent{exported_job=\"platform-quality-ci\"}))) 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": 30, - "type": "bargauge", - "title": "Missing LOC Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 18, - "y": 81 - }, - "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_source_lines_over_500_total{exported_job=\"platform-quality-ci\"}))) 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": 31, - "type": "stat", - "title": "SonarQube API Up", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 4, + "h": 1, + "w": 24, "x": 0, - "y": 88 + "y": 19 }, - "targets": [ + "collapsed": true, + "panels": [ { - "expr": "(max(sonarqube_up) or on() vector(0))", - "refId": "A", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "id": 130, + "type": "timeseries", + "title": "Failure Trend: Tests", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null - }, - { - "color": "green", - "value": 1 - } - ] + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "y": 29 }, - "unit": "none", - "custom": { - "displayMode": "auto" - } - }, - "overrides": [] - }, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "center", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } ], - "fields": "", - "values": false - }, - "textMode": "value" - } - }, - { - "id": 32, - "type": "stat", - "title": "Sonar Projects (Selected)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 4, - "x": 4, - "y": 88 - }, - "targets": [ - { - "expr": "(count(sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"}) or on() vector(0))", - "refId": "A", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] }, - "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": 33, - "type": "stat", - "title": "Sonar Gate Fetch Errors", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 4, - "x": 8, - "y": 88 - }, - "targets": [ - { - "expr": "(max(sonarqube_quality_gate_fetch_errors_total) 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": 34, - "type": "piechart", - "title": "Sonar Gate Status Mix (Selected)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 12, - "y": 88 - }, - "targets": [ - { - "expr": "count by (status) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"})", - "refId": "A", - "legendFormat": "{{status}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "percent", - "color": { - "mode": "palette-classic" - } - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "right" - }, - "pieType": "pie", - "displayLabels": [], - "tooltip": { - "mode": "single" - }, - "colorScheme": "interpolateSpectral", - "colorBy": "value", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - } - }, - { - "id": 35, - "type": "bargauge", - "title": "Projects Failing Sonar Gate", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 18, - "y": 88 - }, - "targets": [ - { - "expr": "sort_desc((sort_desc(count by (project_key) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\",status!~\"OK|ok\"})) or on() label_replace(vector(0), \"project_key\", \"none\", \"__name__\", \".*\")))", - "refId": "A", - "legendFormat": "{{project_key}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 1 - }, - { - "color": "orange", - "value": 3 - }, - { - "color": "red", - "value": 5 - } - ] - } - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - }, - "transformations": [ - { - "id": "sortBy", "options": { - "fields": [ - "Value" - ], - "order": "desc" - } + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Coverage", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: LOC", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Style", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Gate Glue", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: SonarQube", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Supply Chain", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": 148, - "type": "bargauge", - "title": "Missing Test-Case Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 502, + "type": "row", + "title": "Success Trends By Check", "gridPos": { - "h": 6, - "w": 12, + "h": 1, + "w": 24, "x": 0, - "y": 94 + "y": 20 }, - "targets": [ + "collapsed": true, + "panels": [ { - "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\"}))) 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 - } - ] + "id": 138, + "type": "timeseries", + "title": "Success Trend: Tests", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } ], - "fields": "", - "values": false - } - }, - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" - } + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Coverage", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: LOC", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Style", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Gate Glue", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: SonarQube", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Supply Chain", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": 151, - "type": "bargauge", - "title": "No Real Test Cases by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 503, + "type": "row", + "title": "Test Drilldowns And Problem Tests", "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", - "title": "Recent Branch Evidence by Suite (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 12, + "h": 1, + "w": 24, "x": 0, - "y": 100 + "y": 21 }, - "targets": [ + "collapsed": true, + "panels": [ { - "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}[30d])))", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{branch}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 1 - } - ] + "id": 145, + "type": "timeseries", + "title": "Problematic Tests Over Time (Top failures)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 57 + }, + "targets": [ + { + "expr": "(topk(12, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[$__interval])))) or on() vector(0)", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{test}}" + } ], - "fields": "", - "values": false - } - }, - "links": [ - { - "title": "Open Jenkins", - "url": "${jenkins_base}/", - "targetBlank": true - }, - { - "title": "ariadne: Job", - "url": "${jenkins_base}/job/ariadne/", - "targetBlank": true - }, - { - "title": "ariadne: Last Artifacts", - "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "metis: Job", - "url": "${jenkins_base}/job/metis/", - "targetBlank": true - }, - { - "title": "metis: Last Artifacts", - "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "ananke: Job", - "url": "${jenkins_base}/job/ananke/", - "targetBlank": true - }, - { - "title": "ananke: Last Artifacts", - "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "atlasbot: Job", - "url": "${jenkins_base}/job/atlasbot/", - "targetBlank": true - }, - { - "title": "atlasbot: Last Artifacts", - "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "pegasus: Job", - "url": "${jenkins_base}/job/pegasus/", - "targetBlank": true - }, - { - "title": "pegasus: Last Artifacts", - "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "soteria: Job", - "url": "${jenkins_base}/job/Soteria/", - "targetBlank": true - }, - { - "title": "soteria: Last Artifacts", - "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "titan_iac: Job", - "url": "${jenkins_base}/job/titan-iac/", - "targetBlank": true - }, - { - "title": "titan_iac: Last Artifacts", - "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "bstein_home: Job", - "url": "${jenkins_base}/job/bstein-dev-home/", - "targetBlank": true - }, - { - "title": "bstein_home: Last Artifacts", - "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "data_prepper: Job", - "url": "${jenkins_base}/job/data-prepper/", - "targetBlank": true - }, - { - "title": "data_prepper: Last Artifacts", - "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", - "targetBlank": true - } - ], - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "none", + "links": [ + { + "title": "Open latest artifacts", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "Open Jenkins job", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", + "targetBlank": true + } + ] + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" - } + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max", + "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", + "title": "Most Problematic Test by Suite (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 57 + }, + "targets": [ + { + "expr": "sort_desc((topk by (suite) (1, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[30d])))) or on() vector(0))", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{test}}", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 1 + }, + { + "color": "orange", + "value": 3 + }, + { + "color": "red", + "value": 5 + } + ] + }, + "links": [ + { + "title": "Open latest artifacts", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "Open Jenkins job", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", + "targetBlank": true + } + ] + }, + "overrides": [] + }, + "options": { + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "links": [ + { + "title": "Open Jenkins", + "url": "${jenkins_base}/", + "targetBlank": true + }, + { + "title": "ariadne: Job", + "url": "${jenkins_base}/job/ariadne/", + "targetBlank": true + }, + { + "title": "ariadne: Last Artifacts", + "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "metis: Job", + "url": "${jenkins_base}/job/metis/", + "targetBlank": true + }, + { + "title": "metis: Last Artifacts", + "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "ananke: Job", + "url": "${jenkins_base}/job/ananke/", + "targetBlank": true + }, + { + "title": "ananke: Last Artifacts", + "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "atlasbot: Job", + "url": "${jenkins_base}/job/atlasbot/", + "targetBlank": true + }, + { + "title": "atlasbot: Last Artifacts", + "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "pegasus: Job", + "url": "${jenkins_base}/job/pegasus/", + "targetBlank": true + }, + { + "title": "pegasus: Last Artifacts", + "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "soteria: Job", + "url": "${jenkins_base}/job/Soteria/", + "targetBlank": true + }, + { + "title": "soteria: Last Artifacts", + "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "titan_iac: Job", + "url": "${jenkins_base}/job/titan-iac/", + "targetBlank": true + }, + { + "title": "titan_iac: Last Artifacts", + "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "bstein_home: Job", + "url": "${jenkins_base}/job/bstein-dev-home/", + "targetBlank": true + }, + { + "title": "bstein_home: Last Artifacts", + "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "data_prepper: Job", + "url": "${jenkins_base}/job/data-prepper/", + "targetBlank": true + }, + { + "title": "data_prepper: Last Artifacts", + "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", + "targetBlank": true + } + ], + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + }, + { + "id": "limit", + "options": { + "limit": 9 + } + } + ] + }, + { + "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": 150, - "type": "bargauge", - "title": "Non-Primary Branch Evidence (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 504, + "type": "row", + "title": "Telemetry Completeness, SonarQube, And Branches", "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 100 + "h": 1, + "w": 24, + "x": 0, + "y": 22 }, - "targets": [ + "collapsed": true, + "panels": [ { - "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\",branch!~\"main|master|origin/main|origin/master|unknown\"}[30d])))", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{branch}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 1 - }, - { - "color": "orange", - "value": 3 - }, - { - "color": "red", - "value": 5 - } - ] + "id": 27, + "type": "bargauge", + "title": "Missing Tests Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "y": 81 + }, + "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) ({__name__=~\".*_quality_gate_tests_total\",exported_job=\"platform-quality-ci\"}))) 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 + } ], - "fields": "", - "values": false - } - }, - "links": [ - { - "title": "Open Jenkins", - "url": "${jenkins_base}/", - "targetBlank": true - }, - { - "title": "ariadne: Job", - "url": "${jenkins_base}/job/ariadne/", - "targetBlank": true - }, - { - "title": "ariadne: Last Artifacts", - "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "metis: Job", - "url": "${jenkins_base}/job/metis/", - "targetBlank": true - }, - { - "title": "metis: Last Artifacts", - "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "ananke: Job", - "url": "${jenkins_base}/job/ananke/", - "targetBlank": true - }, - { - "title": "ananke: Last Artifacts", - "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "atlasbot: Job", - "url": "${jenkins_base}/job/atlasbot/", - "targetBlank": true - }, - { - "title": "atlasbot: Last Artifacts", - "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "pegasus: Job", - "url": "${jenkins_base}/job/pegasus/", - "targetBlank": true - }, - { - "title": "pegasus: Last Artifacts", - "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "soteria: Job", - "url": "${jenkins_base}/job/Soteria/", - "targetBlank": true - }, - { - "title": "soteria: Last Artifacts", - "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "titan_iac: Job", - "url": "${jenkins_base}/job/titan-iac/", - "targetBlank": true - }, - { - "title": "titan_iac: Last Artifacts", - "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "bstein_home: Job", - "url": "${jenkins_base}/job/bstein-dev-home/", - "targetBlank": true - }, - { - "title": "bstein_home: Last Artifacts", - "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "data_prepper: Job", - "url": "${jenkins_base}/job/data-prepper/", - "targetBlank": true - }, - { - "title": "data_prepper: Last Artifacts", - "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", - "targetBlank": true - } - ], - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 1 + } + ] + }, + "decimals": 0 + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] + }, + { + "id": 28, + "type": "bargauge", + "title": "Missing Checks Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 6, + "y": 81 + }, + "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) ({__name__=~\".*_quality_gate_checks_total\",exported_job=\"platform-quality-ci\"}))) 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": 29, + "type": "bargauge", + "title": "Missing Coverage Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 12, + "y": 81 + }, + "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_workspace_line_coverage_percent{exported_job=\"platform-quality-ci\"}))) 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": 30, + "type": "bargauge", + "title": "Missing LOC Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 18, + "y": 81 + }, + "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_source_lines_over_500_total{exported_job=\"platform-quality-ci\"}))) 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": 31, + "type": "stat", + "title": "SonarQube API Up", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 0, + "y": 88 + }, + "targets": [ + { + "expr": "(max(sonarqube_up) or on() vector(0))", + "refId": "A", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "green", + "value": 1 + } + ] + }, + "unit": "none", + "custom": { + "displayMode": "auto" + } + }, + "overrides": [] + }, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "center", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "value" } + }, + { + "id": 32, + "type": "stat", + "title": "Sonar Projects (Selected)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 4, + "y": 88 + }, + "targets": [ + { + "expr": "(count(sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"}) 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": 33, + "type": "stat", + "title": "Sonar Gate Fetch Errors", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 8, + "y": 88 + }, + "targets": [ + { + "expr": "(max(sonarqube_quality_gate_fetch_errors_total) 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": 34, + "type": "piechart", + "title": "Sonar Gate Status Mix (Selected)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 12, + "y": 88 + }, + "targets": [ + { + "expr": "count by (status) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"})", + "refId": "A", + "legendFormat": "{{status}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "percent", + "color": { + "mode": "palette-classic" + } + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "right" + }, + "pieType": "pie", + "displayLabels": [], + "tooltip": { + "mode": "single" + }, + "colorScheme": "interpolateSpectral", + "colorBy": "value", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + } + }, + { + "id": 35, + "type": "bargauge", + "title": "Projects Failing Sonar Gate", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 18, + "y": 88 + }, + "targets": [ + { + "expr": "sort_desc((sort_desc(count by (project_key) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\",status!~\"OK|ok\"})) or on() label_replace(vector(0), \"project_key\", \"none\", \"__name__\", \".*\")))", + "refId": "A", + "legendFormat": "{{project_key}}", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 1 + }, + { + "color": "orange", + "value": 3 + }, + { + "color": "red", + "value": 5 + } + ] + } + }, + "overrides": [] + }, + "options": { + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] + }, + { + "id": 148, + "type": "bargauge", + "title": "Missing Test-Case Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "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\"}))) 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": 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", + "title": "Recent Branch Evidence by Suite (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 100 + }, + "targets": [ + { + "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}[30d])))", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{branch}}", + "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 + } + }, + "links": [ + { + "title": "Open Jenkins", + "url": "${jenkins_base}/", + "targetBlank": true + }, + { + "title": "ariadne: Job", + "url": "${jenkins_base}/job/ariadne/", + "targetBlank": true + }, + { + "title": "ariadne: Last Artifacts", + "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "metis: Job", + "url": "${jenkins_base}/job/metis/", + "targetBlank": true + }, + { + "title": "metis: Last Artifacts", + "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "ananke: Job", + "url": "${jenkins_base}/job/ananke/", + "targetBlank": true + }, + { + "title": "ananke: Last Artifacts", + "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "atlasbot: Job", + "url": "${jenkins_base}/job/atlasbot/", + "targetBlank": true + }, + { + "title": "atlasbot: Last Artifacts", + "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "pegasus: Job", + "url": "${jenkins_base}/job/pegasus/", + "targetBlank": true + }, + { + "title": "pegasus: Last Artifacts", + "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "soteria: Job", + "url": "${jenkins_base}/job/Soteria/", + "targetBlank": true + }, + { + "title": "soteria: Last Artifacts", + "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "titan_iac: Job", + "url": "${jenkins_base}/job/titan-iac/", + "targetBlank": true + }, + { + "title": "titan_iac: Last Artifacts", + "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "bstein_home: Job", + "url": "${jenkins_base}/job/bstein-dev-home/", + "targetBlank": true + }, + { + "title": "bstein_home: Last Artifacts", + "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "data_prepper: Job", + "url": "${jenkins_base}/job/data-prepper/", + "targetBlank": true + }, + { + "title": "data_prepper: Last Artifacts", + "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", + "targetBlank": true + } + ], + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] + }, + { + "id": 150, + "type": "bargauge", + "title": "Non-Primary Branch Evidence (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 100 + }, + "targets": [ + { + "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\",branch!~\"main|master|origin/main|origin/master|unknown\"}[30d])))", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{branch}}", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 1 + }, + { + "color": "orange", + "value": 3 + }, + { + "color": "red", + "value": 5 + } + ] + }, + "decimals": 0 + }, + "overrides": [] + }, + "options": { + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "links": [ + { + "title": "Open Jenkins", + "url": "${jenkins_base}/", + "targetBlank": true + }, + { + "title": "ariadne: Job", + "url": "${jenkins_base}/job/ariadne/", + "targetBlank": true + }, + { + "title": "ariadne: Last Artifacts", + "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "metis: Job", + "url": "${jenkins_base}/job/metis/", + "targetBlank": true + }, + { + "title": "metis: Last Artifacts", + "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "ananke: Job", + "url": "${jenkins_base}/job/ananke/", + "targetBlank": true + }, + { + "title": "ananke: Last Artifacts", + "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "atlasbot: Job", + "url": "${jenkins_base}/job/atlasbot/", + "targetBlank": true + }, + { + "title": "atlasbot: Last Artifacts", + "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "pegasus: Job", + "url": "${jenkins_base}/job/pegasus/", + "targetBlank": true + }, + { + "title": "pegasus: Last Artifacts", + "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "soteria: Job", + "url": "${jenkins_base}/job/Soteria/", + "targetBlank": true + }, + { + "title": "soteria: Last Artifacts", + "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "titan_iac: Job", + "url": "${jenkins_base}/job/titan-iac/", + "targetBlank": true + }, + { + "title": "titan_iac: Last Artifacts", + "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "bstein_home: Job", + "url": "${jenkins_base}/job/bstein-dev-home/", + "targetBlank": true + }, + { + "title": "bstein_home: Last Artifacts", + "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "data_prepper: Job", + "url": "${jenkins_base}/job/data-prepper/", + "targetBlank": true + }, + { + "title": "data_prepper: Last Artifacts", + "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", + "targetBlank": true + } + ], + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] } ] } diff --git a/services/monitoring/grafana-dashboard-jobs.yaml b/services/monitoring/grafana-dashboard-jobs.yaml index 929b4744..03c211a4 100644 --- a/services/monitoring/grafana-dashboard-jobs.yaml +++ b/services/monitoring/grafana-dashboard-jobs.yaml @@ -22,7 +22,7 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 0, "y": 0 @@ -96,7 +96,7 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 4, "y": 0 @@ -170,7 +170,7 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 8, "y": 0 @@ -239,7 +239,7 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 12, "y": 0 @@ -300,7 +300,7 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 16, "y": 0 @@ -374,7 +374,7 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 20, "y": 0 @@ -447,10 +447,10 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 8, "x": 0, - "y": 5 + "y": 4 }, "targets": [ { @@ -527,10 +527,10 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 8, "x": 8, - "y": 5 + "y": 4 }, "targets": [ { @@ -617,10 +617,10 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 8, "x": 16, - "y": 5 + "y": 4 }, "targets": [ { @@ -684,1467 +684,6 @@ data: ], "description": "Gap from the 95% target. 0 means the suite is at or above target." }, - { - "id": 11, - "type": "timeseries", - "title": "Run Reliability History by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 13 - }, - "targets": [ - { - "expr": "100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval]))), 1))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "percent", - "min": 0, - "max": 100, - "custom": { - "drawStyle": "line", - "lineInterpolation": "linear", - "lineWidth": 2, - "fillOpacity": 8, - "showPoints": "always", - "pointSize": 3, - "spanNulls": true - } - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "multi" - } - } - }, - { - "id": 12, - "type": "timeseries", - "title": "Run Outcomes (Selected Scope)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 0, - "y": 21 - }, - "targets": [ - { - "refId": "A", - "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) or on() vector(0)", - "legendFormat": "Success" - }, - { - "refId": "B", - "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[$__interval])) or on() vector(0)", - "legendFormat": "Failure" - }, - { - "refId": "C", - "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])) or on() vector(0)", - "legendFormat": "Total" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "sum" - ] - }, - "tooltip": { - "mode": "multi" - } - } - }, - { - "id": 13, - "type": "timeseries", - "title": "Coverage & LOC History (Selected Scope)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 21 - }, - "targets": [ - { - "refId": "A", - "expr": "max_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", - "legendFormat": "{{suite}} coverage %" - }, - { - "refId": "B", - "expr": "max_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", - "legendFormat": "{{suite}} files >500 LOC" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "tooltip": { - "mode": "multi" - } - } - }, - { - "id": 14, - "type": "piechart", - "title": "Run Status Mix (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 16, - "y": 21 - }, - "targets": [ - { - "expr": "sum by (status) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))", - "refId": "A", - "legendFormat": "{{status}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "color": { - "mode": "palette-classic" - } - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "right" - }, - "pieType": "pie", - "displayLabels": [], - "tooltip": { - "mode": "single" - }, - "colorScheme": "interpolateSpectral", - "colorBy": "value", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - } - }, - { - "id": 130, - "type": "timeseries", - "title": "Failure Trend: Tests", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Coverage", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: LOC", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Style", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Gate Glue", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: SonarQube", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Supply Chain", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Tests", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Coverage", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: LOC", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Style", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Gate Glue", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: SonarQube", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Supply Chain", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": 145, - "type": "timeseries", - "title": "Problematic Tests Over Time (Top failures)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 57 - }, - "targets": [ - { - "expr": "(topk(12, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[$__interval])))) or on() vector(0)", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{test}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "links": [ - { - "title": "Open latest artifacts", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "Open Jenkins job", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", - "targetBlank": true - } - ] - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max", - "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", - "title": "Most Problematic Test by Suite (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 57 - }, - "targets": [ - { - "expr": "sort_desc((topk by (suite) (1, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[30d])))) or on() vector(0))", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{test}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 1 - }, - { - "color": "orange", - "value": 3 - }, - { - "color": "red", - "value": 5 - } - ] - }, - "links": [ - { - "title": "Open latest artifacts", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "Open Jenkins job", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", - "targetBlank": true - } - ] - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - }, - "links": [ - { - "title": "Open Jenkins", - "url": "${jenkins_base}/", - "targetBlank": true - }, - { - "title": "ariadne: Job", - "url": "${jenkins_base}/job/ariadne/", - "targetBlank": true - }, - { - "title": "ariadne: Last Artifacts", - "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "metis: Job", - "url": "${jenkins_base}/job/metis/", - "targetBlank": true - }, - { - "title": "metis: Last Artifacts", - "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "ananke: Job", - "url": "${jenkins_base}/job/ananke/", - "targetBlank": true - }, - { - "title": "ananke: Last Artifacts", - "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "atlasbot: Job", - "url": "${jenkins_base}/job/atlasbot/", - "targetBlank": true - }, - { - "title": "atlasbot: Last Artifacts", - "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "pegasus: Job", - "url": "${jenkins_base}/job/pegasus/", - "targetBlank": true - }, - { - "title": "pegasus: Last Artifacts", - "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "soteria: Job", - "url": "${jenkins_base}/job/Soteria/", - "targetBlank": true - }, - { - "title": "soteria: Last Artifacts", - "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "titan_iac: Job", - "url": "${jenkins_base}/job/titan-iac/", - "targetBlank": true - }, - { - "title": "titan_iac: Last Artifacts", - "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "bstein_home: Job", - "url": "${jenkins_base}/job/bstein-dev-home/", - "targetBlank": true - }, - { - "title": "bstein_home: Last Artifacts", - "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "data_prepper: Job", - "url": "${jenkins_base}/job/data-prepper/", - "targetBlank": true - }, - { - "title": "data_prepper: Last Artifacts", - "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", - "targetBlank": true - } - ], - "transformations": [ - { - "id": "sortBy", - "options": { - "fields": [ - "Value" - ], - "order": "desc" - } - }, - { - "id": "limit", - "options": { - "limit": 9 - } - } - ] - }, - { - "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", @@ -2154,10 +693,10 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 12, "x": 0, - "y": 73 + "y": 11 }, "targets": [ { @@ -2243,10 +782,10 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 12, "x": 12, - "y": 73 + "y": 11 }, "targets": [ { @@ -2323,1064 +862,2595 @@ data: ] }, { - "id": 27, - "type": "bargauge", - "title": "Missing Tests Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 500, + "type": "row", + "title": "Reliability And Run History", "gridPos": { - "h": 7, - "w": 6, + "h": 1, + "w": 24, "x": 0, - "y": 81 + "y": 18 }, - "targets": [ + "collapsed": true, + "panels": [ { - "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) ({__name__=~\".*_quality_gate_tests_total\",exported_job=\"platform-quality-ci\"}))) 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 - } - ] + "id": 11, + "type": "timeseries", + "title": "Run Reliability History by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 13 + }, + "targets": [ + { + "expr": "100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval]))), 1))", + "refId": "A", + "legendFormat": "{{suite}}" + } ], - "fields": "", - "values": false - } - }, - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "percent", + "min": 0, + "max": 100, + "custom": { + "drawStyle": "line", + "lineInterpolation": "linear", + "lineWidth": 2, + "fillOpacity": 8, + "showPoints": "always", + "pointSize": 3, + "spanNulls": true + } + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" + "legend": { + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "multi" + } + } + }, + { + "id": 12, + "type": "timeseries", + "title": "Run Outcomes (Selected Scope)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 21 + }, + "targets": [ + { + "refId": "A", + "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) or on() vector(0)", + "legendFormat": "Success" + }, + { + "refId": "B", + "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[$__interval])) or on() vector(0)", + "legendFormat": "Failure" + }, + { + "refId": "C", + "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])) or on() vector(0)", + "legendFormat": "Total" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "sum" + ] + }, + "tooltip": { + "mode": "multi" + } + } + }, + { + "id": 13, + "type": "timeseries", + "title": "Coverage & LOC History (Selected Scope)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 21 + }, + "targets": [ + { + "refId": "A", + "expr": "max_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", + "legendFormat": "{{suite}} coverage %" + }, + { + "refId": "B", + "expr": "max_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", + "legendFormat": "{{suite}} files >500 LOC" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "tooltip": { + "mode": "multi" + } + } + }, + { + "id": 14, + "type": "piechart", + "title": "Run Status Mix (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 21 + }, + "targets": [ + { + "expr": "sum by (status) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))", + "refId": "A", + "legendFormat": "{{status}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "color": { + "mode": "palette-classic" + } + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "right" + }, + "pieType": "pie", + "displayLabels": [], + "tooltip": { + "mode": "single" + }, + "colorScheme": "interpolateSpectral", + "colorBy": "value", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } } } ] }, { - "id": 28, - "type": "bargauge", - "title": "Missing Checks Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 501, + "type": "row", + "title": "Failure Trends By Check", "gridPos": { - "h": 7, - "w": 6, - "x": 6, - "y": 81 - }, - "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) ({__name__=~\".*_quality_gate_checks_total\",exported_job=\"platform-quality-ci\"}))) 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": 29, - "type": "bargauge", - "title": "Missing Coverage Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 12, - "y": 81 - }, - "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_workspace_line_coverage_percent{exported_job=\"platform-quality-ci\"}))) 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": 30, - "type": "bargauge", - "title": "Missing LOC Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 18, - "y": 81 - }, - "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_source_lines_over_500_total{exported_job=\"platform-quality-ci\"}))) 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": 31, - "type": "stat", - "title": "SonarQube API Up", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 4, + "h": 1, + "w": 24, "x": 0, - "y": 88 + "y": 19 }, - "targets": [ + "collapsed": true, + "panels": [ { - "expr": "(max(sonarqube_up) or on() vector(0))", - "refId": "A", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "id": 130, + "type": "timeseries", + "title": "Failure Trend: Tests", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null - }, - { - "color": "green", - "value": 1 - } - ] + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "y": 29 }, - "unit": "none", - "custom": { - "displayMode": "auto" - } - }, - "overrides": [] - }, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "center", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } ], - "fields": "", - "values": false - }, - "textMode": "value" - } - }, - { - "id": 32, - "type": "stat", - "title": "Sonar Projects (Selected)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 4, - "x": 4, - "y": 88 - }, - "targets": [ - { - "expr": "(count(sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"}) or on() vector(0))", - "refId": "A", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] }, - "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": 33, - "type": "stat", - "title": "Sonar Gate Fetch Errors", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 4, - "x": 8, - "y": 88 - }, - "targets": [ - { - "expr": "(max(sonarqube_quality_gate_fetch_errors_total) 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": 34, - "type": "piechart", - "title": "Sonar Gate Status Mix (Selected)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 12, - "y": 88 - }, - "targets": [ - { - "expr": "count by (status) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"})", - "refId": "A", - "legendFormat": "{{status}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "percent", - "color": { - "mode": "palette-classic" - } - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "right" - }, - "pieType": "pie", - "displayLabels": [], - "tooltip": { - "mode": "single" - }, - "colorScheme": "interpolateSpectral", - "colorBy": "value", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - } - }, - { - "id": 35, - "type": "bargauge", - "title": "Projects Failing Sonar Gate", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 18, - "y": 88 - }, - "targets": [ - { - "expr": "sort_desc((sort_desc(count by (project_key) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\",status!~\"OK|ok\"})) or on() label_replace(vector(0), \"project_key\", \"none\", \"__name__\", \".*\")))", - "refId": "A", - "legendFormat": "{{project_key}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 1 - }, - { - "color": "orange", - "value": 3 - }, - { - "color": "red", - "value": 5 - } - ] - } - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - }, - "transformations": [ - { - "id": "sortBy", "options": { - "fields": [ - "Value" - ], - "order": "desc" - } + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Coverage", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: LOC", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Style", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Gate Glue", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: SonarQube", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Supply Chain", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": 148, - "type": "bargauge", - "title": "Missing Test-Case Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 502, + "type": "row", + "title": "Success Trends By Check", "gridPos": { - "h": 6, - "w": 12, + "h": 1, + "w": 24, "x": 0, - "y": 94 + "y": 20 }, - "targets": [ + "collapsed": true, + "panels": [ { - "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\"}))) 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 - } - ] + "id": 138, + "type": "timeseries", + "title": "Success Trend: Tests", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } ], - "fields": "", - "values": false - } - }, - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" - } + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Coverage", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: LOC", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Style", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Gate Glue", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: SonarQube", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Supply Chain", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": 151, - "type": "bargauge", - "title": "No Real Test Cases by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 503, + "type": "row", + "title": "Test Drilldowns And Problem Tests", "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", - "title": "Recent Branch Evidence by Suite (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 12, + "h": 1, + "w": 24, "x": 0, - "y": 100 + "y": 21 }, - "targets": [ + "collapsed": true, + "panels": [ { - "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}[30d])))", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{branch}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 1 - } - ] + "id": 145, + "type": "timeseries", + "title": "Problematic Tests Over Time (Top failures)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 57 + }, + "targets": [ + { + "expr": "(topk(12, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[$__interval])))) or on() vector(0)", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{test}}" + } ], - "fields": "", - "values": false - } - }, - "links": [ - { - "title": "Open Jenkins", - "url": "${jenkins_base}/", - "targetBlank": true - }, - { - "title": "ariadne: Job", - "url": "${jenkins_base}/job/ariadne/", - "targetBlank": true - }, - { - "title": "ariadne: Last Artifacts", - "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "metis: Job", - "url": "${jenkins_base}/job/metis/", - "targetBlank": true - }, - { - "title": "metis: Last Artifacts", - "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "ananke: Job", - "url": "${jenkins_base}/job/ananke/", - "targetBlank": true - }, - { - "title": "ananke: Last Artifacts", - "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "atlasbot: Job", - "url": "${jenkins_base}/job/atlasbot/", - "targetBlank": true - }, - { - "title": "atlasbot: Last Artifacts", - "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "pegasus: Job", - "url": "${jenkins_base}/job/pegasus/", - "targetBlank": true - }, - { - "title": "pegasus: Last Artifacts", - "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "soteria: Job", - "url": "${jenkins_base}/job/Soteria/", - "targetBlank": true - }, - { - "title": "soteria: Last Artifacts", - "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "titan_iac: Job", - "url": "${jenkins_base}/job/titan-iac/", - "targetBlank": true - }, - { - "title": "titan_iac: Last Artifacts", - "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "bstein_home: Job", - "url": "${jenkins_base}/job/bstein-dev-home/", - "targetBlank": true - }, - { - "title": "bstein_home: Last Artifacts", - "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "data_prepper: Job", - "url": "${jenkins_base}/job/data-prepper/", - "targetBlank": true - }, - { - "title": "data_prepper: Last Artifacts", - "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", - "targetBlank": true - } - ], - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "none", + "links": [ + { + "title": "Open latest artifacts", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "Open Jenkins job", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", + "targetBlank": true + } + ] + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" - } + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max", + "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", + "title": "Most Problematic Test by Suite (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 57 + }, + "targets": [ + { + "expr": "sort_desc((topk by (suite) (1, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[30d])))) or on() vector(0))", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{test}}", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 1 + }, + { + "color": "orange", + "value": 3 + }, + { + "color": "red", + "value": 5 + } + ] + }, + "links": [ + { + "title": "Open latest artifacts", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "Open Jenkins job", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", + "targetBlank": true + } + ] + }, + "overrides": [] + }, + "options": { + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "links": [ + { + "title": "Open Jenkins", + "url": "${jenkins_base}/", + "targetBlank": true + }, + { + "title": "ariadne: Job", + "url": "${jenkins_base}/job/ariadne/", + "targetBlank": true + }, + { + "title": "ariadne: Last Artifacts", + "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "metis: Job", + "url": "${jenkins_base}/job/metis/", + "targetBlank": true + }, + { + "title": "metis: Last Artifacts", + "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "ananke: Job", + "url": "${jenkins_base}/job/ananke/", + "targetBlank": true + }, + { + "title": "ananke: Last Artifacts", + "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "atlasbot: Job", + "url": "${jenkins_base}/job/atlasbot/", + "targetBlank": true + }, + { + "title": "atlasbot: Last Artifacts", + "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "pegasus: Job", + "url": "${jenkins_base}/job/pegasus/", + "targetBlank": true + }, + { + "title": "pegasus: Last Artifacts", + "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "soteria: Job", + "url": "${jenkins_base}/job/Soteria/", + "targetBlank": true + }, + { + "title": "soteria: Last Artifacts", + "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "titan_iac: Job", + "url": "${jenkins_base}/job/titan-iac/", + "targetBlank": true + }, + { + "title": "titan_iac: Last Artifacts", + "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "bstein_home: Job", + "url": "${jenkins_base}/job/bstein-dev-home/", + "targetBlank": true + }, + { + "title": "bstein_home: Last Artifacts", + "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "data_prepper: Job", + "url": "${jenkins_base}/job/data-prepper/", + "targetBlank": true + }, + { + "title": "data_prepper: Last Artifacts", + "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", + "targetBlank": true + } + ], + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + }, + { + "id": "limit", + "options": { + "limit": 9 + } + } + ] + }, + { + "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": 150, - "type": "bargauge", - "title": "Non-Primary Branch Evidence (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 504, + "type": "row", + "title": "Telemetry Completeness, SonarQube, And Branches", "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 100 + "h": 1, + "w": 24, + "x": 0, + "y": 22 }, - "targets": [ + "collapsed": true, + "panels": [ { - "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\",branch!~\"main|master|origin/main|origin/master|unknown\"}[30d])))", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{branch}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 1 - }, - { - "color": "orange", - "value": 3 - }, - { - "color": "red", - "value": 5 - } - ] + "id": 27, + "type": "bargauge", + "title": "Missing Tests Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "y": 81 + }, + "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) ({__name__=~\".*_quality_gate_tests_total\",exported_job=\"platform-quality-ci\"}))) 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 + } ], - "fields": "", - "values": false - } - }, - "links": [ - { - "title": "Open Jenkins", - "url": "${jenkins_base}/", - "targetBlank": true - }, - { - "title": "ariadne: Job", - "url": "${jenkins_base}/job/ariadne/", - "targetBlank": true - }, - { - "title": "ariadne: Last Artifacts", - "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "metis: Job", - "url": "${jenkins_base}/job/metis/", - "targetBlank": true - }, - { - "title": "metis: Last Artifacts", - "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "ananke: Job", - "url": "${jenkins_base}/job/ananke/", - "targetBlank": true - }, - { - "title": "ananke: Last Artifacts", - "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "atlasbot: Job", - "url": "${jenkins_base}/job/atlasbot/", - "targetBlank": true - }, - { - "title": "atlasbot: Last Artifacts", - "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "pegasus: Job", - "url": "${jenkins_base}/job/pegasus/", - "targetBlank": true - }, - { - "title": "pegasus: Last Artifacts", - "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "soteria: Job", - "url": "${jenkins_base}/job/Soteria/", - "targetBlank": true - }, - { - "title": "soteria: Last Artifacts", - "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "titan_iac: Job", - "url": "${jenkins_base}/job/titan-iac/", - "targetBlank": true - }, - { - "title": "titan_iac: Last Artifacts", - "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "bstein_home: Job", - "url": "${jenkins_base}/job/bstein-dev-home/", - "targetBlank": true - }, - { - "title": "bstein_home: Last Artifacts", - "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "data_prepper: Job", - "url": "${jenkins_base}/job/data-prepper/", - "targetBlank": true - }, - { - "title": "data_prepper: Last Artifacts", - "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", - "targetBlank": true - } - ], - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 1 + } + ] + }, + "decimals": 0 + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] + }, + { + "id": 28, + "type": "bargauge", + "title": "Missing Checks Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 6, + "y": 81 + }, + "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) ({__name__=~\".*_quality_gate_checks_total\",exported_job=\"platform-quality-ci\"}))) 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": 29, + "type": "bargauge", + "title": "Missing Coverage Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 12, + "y": 81 + }, + "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_workspace_line_coverage_percent{exported_job=\"platform-quality-ci\"}))) 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": 30, + "type": "bargauge", + "title": "Missing LOC Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 18, + "y": 81 + }, + "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_source_lines_over_500_total{exported_job=\"platform-quality-ci\"}))) 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": 31, + "type": "stat", + "title": "SonarQube API Up", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 0, + "y": 88 + }, + "targets": [ + { + "expr": "(max(sonarqube_up) or on() vector(0))", + "refId": "A", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "green", + "value": 1 + } + ] + }, + "unit": "none", + "custom": { + "displayMode": "auto" + } + }, + "overrides": [] + }, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "center", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "value" } + }, + { + "id": 32, + "type": "stat", + "title": "Sonar Projects (Selected)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 4, + "y": 88 + }, + "targets": [ + { + "expr": "(count(sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"}) 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": 33, + "type": "stat", + "title": "Sonar Gate Fetch Errors", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 8, + "y": 88 + }, + "targets": [ + { + "expr": "(max(sonarqube_quality_gate_fetch_errors_total) 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": 34, + "type": "piechart", + "title": "Sonar Gate Status Mix (Selected)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 12, + "y": 88 + }, + "targets": [ + { + "expr": "count by (status) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"})", + "refId": "A", + "legendFormat": "{{status}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "percent", + "color": { + "mode": "palette-classic" + } + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "right" + }, + "pieType": "pie", + "displayLabels": [], + "tooltip": { + "mode": "single" + }, + "colorScheme": "interpolateSpectral", + "colorBy": "value", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + } + }, + { + "id": 35, + "type": "bargauge", + "title": "Projects Failing Sonar Gate", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 18, + "y": 88 + }, + "targets": [ + { + "expr": "sort_desc((sort_desc(count by (project_key) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\",status!~\"OK|ok\"})) or on() label_replace(vector(0), \"project_key\", \"none\", \"__name__\", \".*\")))", + "refId": "A", + "legendFormat": "{{project_key}}", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 1 + }, + { + "color": "orange", + "value": 3 + }, + { + "color": "red", + "value": 5 + } + ] + } + }, + "overrides": [] + }, + "options": { + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] + }, + { + "id": 148, + "type": "bargauge", + "title": "Missing Test-Case Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "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\"}))) 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": 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", + "title": "Recent Branch Evidence by Suite (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 100 + }, + "targets": [ + { + "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}[30d])))", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{branch}}", + "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 + } + }, + "links": [ + { + "title": "Open Jenkins", + "url": "${jenkins_base}/", + "targetBlank": true + }, + { + "title": "ariadne: Job", + "url": "${jenkins_base}/job/ariadne/", + "targetBlank": true + }, + { + "title": "ariadne: Last Artifacts", + "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "metis: Job", + "url": "${jenkins_base}/job/metis/", + "targetBlank": true + }, + { + "title": "metis: Last Artifacts", + "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "ananke: Job", + "url": "${jenkins_base}/job/ananke/", + "targetBlank": true + }, + { + "title": "ananke: Last Artifacts", + "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "atlasbot: Job", + "url": "${jenkins_base}/job/atlasbot/", + "targetBlank": true + }, + { + "title": "atlasbot: Last Artifacts", + "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "pegasus: Job", + "url": "${jenkins_base}/job/pegasus/", + "targetBlank": true + }, + { + "title": "pegasus: Last Artifacts", + "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "soteria: Job", + "url": "${jenkins_base}/job/Soteria/", + "targetBlank": true + }, + { + "title": "soteria: Last Artifacts", + "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "titan_iac: Job", + "url": "${jenkins_base}/job/titan-iac/", + "targetBlank": true + }, + { + "title": "titan_iac: Last Artifacts", + "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "bstein_home: Job", + "url": "${jenkins_base}/job/bstein-dev-home/", + "targetBlank": true + }, + { + "title": "bstein_home: Last Artifacts", + "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "data_prepper: Job", + "url": "${jenkins_base}/job/data-prepper/", + "targetBlank": true + }, + { + "title": "data_prepper: Last Artifacts", + "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", + "targetBlank": true + } + ], + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] + }, + { + "id": 150, + "type": "bargauge", + "title": "Non-Primary Branch Evidence (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 100 + }, + "targets": [ + { + "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\",branch!~\"main|master|origin/main|origin/master|unknown\"}[30d])))", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{branch}}", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 1 + }, + { + "color": "orange", + "value": 3 + }, + { + "color": "red", + "value": 5 + } + ] + }, + "decimals": 0 + }, + "overrides": [] + }, + "options": { + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "links": [ + { + "title": "Open Jenkins", + "url": "${jenkins_base}/", + "targetBlank": true + }, + { + "title": "ariadne: Job", + "url": "${jenkins_base}/job/ariadne/", + "targetBlank": true + }, + { + "title": "ariadne: Last Artifacts", + "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "metis: Job", + "url": "${jenkins_base}/job/metis/", + "targetBlank": true + }, + { + "title": "metis: Last Artifacts", + "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "ananke: Job", + "url": "${jenkins_base}/job/ananke/", + "targetBlank": true + }, + { + "title": "ananke: Last Artifacts", + "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "atlasbot: Job", + "url": "${jenkins_base}/job/atlasbot/", + "targetBlank": true + }, + { + "title": "atlasbot: Last Artifacts", + "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "pegasus: Job", + "url": "${jenkins_base}/job/pegasus/", + "targetBlank": true + }, + { + "title": "pegasus: Last Artifacts", + "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "soteria: Job", + "url": "${jenkins_base}/job/Soteria/", + "targetBlank": true + }, + { + "title": "soteria: Last Artifacts", + "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "titan_iac: Job", + "url": "${jenkins_base}/job/titan-iac/", + "targetBlank": true + }, + { + "title": "titan_iac: Last Artifacts", + "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "bstein_home: Job", + "url": "${jenkins_base}/job/bstein-dev-home/", + "targetBlank": true + }, + { + "title": "bstein_home: Last Artifacts", + "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "data_prepper: Job", + "url": "${jenkins_base}/job/data-prepper/", + "targetBlank": true + }, + { + "title": "data_prepper: Last Artifacts", + "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", + "targetBlank": true + } + ], + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] } ] } diff --git a/services/monitoring/grafana-dashboard-testing.yaml b/services/monitoring/grafana-dashboard-testing.yaml index 401901da..2af9aa11 100644 --- a/services/monitoring/grafana-dashboard-testing.yaml +++ b/services/monitoring/grafana-dashboard-testing.yaml @@ -22,7 +22,7 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 0, "y": 0 @@ -96,7 +96,7 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 4, "y": 0 @@ -170,7 +170,7 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 8, "y": 0 @@ -239,7 +239,7 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 12, "y": 0 @@ -300,7 +300,7 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 16, "y": 0 @@ -374,7 +374,7 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 5, + "h": 4, "w": 4, "x": 20, "y": 0 @@ -447,10 +447,10 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 8, "x": 0, - "y": 5 + "y": 4 }, "targets": [ { @@ -527,10 +527,10 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 8, "x": 8, - "y": 5 + "y": 4 }, "targets": [ { @@ -617,10 +617,10 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 8, "x": 16, - "y": 5 + "y": 4 }, "targets": [ { @@ -684,1467 +684,6 @@ data: ], "description": "Gap from the 95% target. 0 means the suite is at or above target." }, - { - "id": 11, - "type": "timeseries", - "title": "Run Reliability History by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 13 - }, - "targets": [ - { - "expr": "100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval]))), 1))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "percent", - "min": 0, - "max": 100, - "custom": { - "drawStyle": "line", - "lineInterpolation": "linear", - "lineWidth": 2, - "fillOpacity": 8, - "showPoints": "always", - "pointSize": 3, - "spanNulls": true - } - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "multi" - } - } - }, - { - "id": 12, - "type": "timeseries", - "title": "Run Outcomes (Selected Scope)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 0, - "y": 21 - }, - "targets": [ - { - "refId": "A", - "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) or on() vector(0)", - "legendFormat": "Success" - }, - { - "refId": "B", - "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[$__interval])) or on() vector(0)", - "legendFormat": "Failure" - }, - { - "refId": "C", - "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])) or on() vector(0)", - "legendFormat": "Total" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "sum" - ] - }, - "tooltip": { - "mode": "multi" - } - } - }, - { - "id": 13, - "type": "timeseries", - "title": "Coverage & LOC History (Selected Scope)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 21 - }, - "targets": [ - { - "refId": "A", - "expr": "max_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", - "legendFormat": "{{suite}} coverage %" - }, - { - "refId": "B", - "expr": "max_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", - "legendFormat": "{{suite}} files >500 LOC" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "tooltip": { - "mode": "multi" - } - } - }, - { - "id": 14, - "type": "piechart", - "title": "Run Status Mix (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 16, - "y": 21 - }, - "targets": [ - { - "expr": "sum by (status) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))", - "refId": "A", - "legendFormat": "{{status}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "color": { - "mode": "palette-classic" - } - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "right" - }, - "pieType": "pie", - "displayLabels": [], - "tooltip": { - "mode": "single" - }, - "colorScheme": "interpolateSpectral", - "colorBy": "value", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - } - }, - { - "id": 130, - "type": "timeseries", - "title": "Failure Trend: Tests", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Coverage", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: LOC", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Style", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Gate Glue", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: SonarQube", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Failure Trend: Supply Chain", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Tests", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Coverage", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: LOC", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Style", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Gate Glue", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: SonarQube", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": "Success Trend: Supply Chain", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", - "refId": "A", - "legendFormat": "{{suite}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none" - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max" - ] - }, - "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": 145, - "type": "timeseries", - "title": "Problematic Tests Over Time (Top failures)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 57 - }, - "targets": [ - { - "expr": "(topk(12, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[$__interval])))) or on() vector(0)", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{test}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "links": [ - { - "title": "Open latest artifacts", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "Open Jenkins job", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", - "targetBlank": true - } - ] - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "bottom", - "calcs": [ - "lastNotNull", - "max", - "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", - "title": "Most Problematic Test by Suite (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 57 - }, - "targets": [ - { - "expr": "sort_desc((topk by (suite) (1, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[30d])))) or on() vector(0))", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{test}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 1 - }, - { - "color": "orange", - "value": 3 - }, - { - "color": "red", - "value": 5 - } - ] - }, - "links": [ - { - "title": "Open latest artifacts", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "Open Jenkins job", - "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", - "targetBlank": true - } - ] - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - }, - "links": [ - { - "title": "Open Jenkins", - "url": "${jenkins_base}/", - "targetBlank": true - }, - { - "title": "ariadne: Job", - "url": "${jenkins_base}/job/ariadne/", - "targetBlank": true - }, - { - "title": "ariadne: Last Artifacts", - "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "metis: Job", - "url": "${jenkins_base}/job/metis/", - "targetBlank": true - }, - { - "title": "metis: Last Artifacts", - "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "ananke: Job", - "url": "${jenkins_base}/job/ananke/", - "targetBlank": true - }, - { - "title": "ananke: Last Artifacts", - "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "atlasbot: Job", - "url": "${jenkins_base}/job/atlasbot/", - "targetBlank": true - }, - { - "title": "atlasbot: Last Artifacts", - "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "pegasus: Job", - "url": "${jenkins_base}/job/pegasus/", - "targetBlank": true - }, - { - "title": "pegasus: Last Artifacts", - "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "soteria: Job", - "url": "${jenkins_base}/job/Soteria/", - "targetBlank": true - }, - { - "title": "soteria: Last Artifacts", - "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "titan_iac: Job", - "url": "${jenkins_base}/job/titan-iac/", - "targetBlank": true - }, - { - "title": "titan_iac: Last Artifacts", - "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "bstein_home: Job", - "url": "${jenkins_base}/job/bstein-dev-home/", - "targetBlank": true - }, - { - "title": "bstein_home: Last Artifacts", - "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "data_prepper: Job", - "url": "${jenkins_base}/job/data-prepper/", - "targetBlank": true - }, - { - "title": "data_prepper: Last Artifacts", - "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", - "targetBlank": true - } - ], - "transformations": [ - { - "id": "sortBy", - "options": { - "fields": [ - "Value" - ], - "order": "desc" - } - }, - { - "id": "limit", - "options": { - "limit": 9 - } - } - ] - }, - { - "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", @@ -2154,10 +693,10 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 12, "x": 0, - "y": 73 + "y": 11 }, "targets": [ { @@ -2243,10 +782,10 @@ data: "uid": "atlas-vm" }, "gridPos": { - "h": 8, + "h": 7, "w": 12, "x": 12, - "y": 73 + "y": 11 }, "targets": [ { @@ -2323,1064 +862,2595 @@ data: ] }, { - "id": 27, - "type": "bargauge", - "title": "Missing Tests Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 500, + "type": "row", + "title": "Reliability And Run History", "gridPos": { - "h": 7, - "w": 6, + "h": 1, + "w": 24, "x": 0, - "y": 81 + "y": 18 }, - "targets": [ + "collapsed": true, + "panels": [ { - "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) ({__name__=~\".*_quality_gate_tests_total\",exported_job=\"platform-quality-ci\"}))) 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 - } - ] + "id": 11, + "type": "timeseries", + "title": "Run Reliability History by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 13 + }, + "targets": [ + { + "expr": "100 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) / clamp_min((sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval]))), 1))", + "refId": "A", + "legendFormat": "{{suite}}" + } ], - "fields": "", - "values": false - } - }, - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "percent", + "min": 0, + "max": 100, + "custom": { + "drawStyle": "line", + "lineInterpolation": "linear", + "lineWidth": 2, + "fillOpacity": 8, + "showPoints": "always", + "pointSize": 3, + "spanNulls": true + } + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" + "legend": { + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "multi" + } + } + }, + { + "id": 12, + "type": "timeseries", + "title": "Run Outcomes (Selected Scope)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 21 + }, + "targets": [ + { + "refId": "A", + "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status=~\"ok|passed|success\"}[$__interval])) or on() vector(0)", + "legendFormat": "Success" + }, + { + "refId": "B", + "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\",status!~\"ok|passed|success\"}[$__interval])) or on() vector(0)", + "legendFormat": "Failure" + }, + { + "refId": "C", + "expr": "sum(increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])) or on() vector(0)", + "legendFormat": "Total" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "sum" + ] + }, + "tooltip": { + "mode": "multi" + } + } + }, + { + "id": 13, + "type": "timeseries", + "title": "Coverage & LOC History (Selected Scope)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 21 + }, + "targets": [ + { + "refId": "A", + "expr": "max_over_time(platform_quality_gate_workspace_line_coverage_percent{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", + "legendFormat": "{{suite}} coverage %" + }, + { + "refId": "B", + "expr": "max_over_time(platform_quality_gate_source_lines_over_500_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[$__interval])", + "legendFormat": "{{suite}} files >500 LOC" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "tooltip": { + "mode": "multi" + } + } + }, + { + "id": 14, + "type": "piechart", + "title": "Run Status Mix (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 21 + }, + "targets": [ + { + "expr": "sum by (status) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d]))", + "refId": "A", + "legendFormat": "{{status}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "color": { + "mode": "palette-classic" + } + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "right" + }, + "pieType": "pie", + "displayLabels": [], + "tooltip": { + "mode": "single" + }, + "colorScheme": "interpolateSpectral", + "colorBy": "value", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } } } ] }, { - "id": 28, - "type": "bargauge", - "title": "Missing Checks Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 501, + "type": "row", + "title": "Failure Trends By Check", "gridPos": { - "h": 7, - "w": 6, - "x": 6, - "y": 81 - }, - "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) ({__name__=~\".*_quality_gate_checks_total\",exported_job=\"platform-quality-ci\"}))) 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": 29, - "type": "bargauge", - "title": "Missing Coverage Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 12, - "y": 81 - }, - "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_workspace_line_coverage_percent{exported_job=\"platform-quality-ci\"}))) 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": 30, - "type": "bargauge", - "title": "Missing LOC Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 18, - "y": 81 - }, - "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_source_lines_over_500_total{exported_job=\"platform-quality-ci\"}))) 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": 31, - "type": "stat", - "title": "SonarQube API Up", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 4, + "h": 1, + "w": 24, "x": 0, - "y": 88 + "y": 19 }, - "targets": [ + "collapsed": true, + "panels": [ { - "expr": "(max(sonarqube_up) or on() vector(0))", - "refId": "A", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "id": 130, + "type": "timeseries", + "title": "Failure Trend: Tests", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null - }, - { - "color": "green", - "value": 1 - } - ] + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "y": 29 }, - "unit": "none", - "custom": { - "displayMode": "auto" - } - }, - "overrides": [] - }, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "center", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } ], - "fields": "", - "values": false - }, - "textMode": "value" - } - }, - { - "id": 32, - "type": "stat", - "title": "Sonar Projects (Selected)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 4, - "x": 4, - "y": 88 - }, - "targets": [ - { - "expr": "(count(sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"}) or on() vector(0))", - "refId": "A", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] }, - "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": 33, - "type": "stat", - "title": "Sonar Gate Fetch Errors", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 4, - "x": 8, - "y": 88 - }, - "targets": [ - { - "expr": "(max(sonarqube_quality_gate_fetch_errors_total) 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": 34, - "type": "piechart", - "title": "Sonar Gate Status Mix (Selected)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 12, - "y": 88 - }, - "targets": [ - { - "expr": "count by (status) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"})", - "refId": "A", - "legendFormat": "{{status}}" - } - ], - "fieldConfig": { - "defaults": { - "unit": "percent", - "color": { - "mode": "palette-classic" - } - }, - "overrides": [] - }, - "options": { - "legend": { - "displayMode": "list", - "placement": "right" - }, - "pieType": "pie", - "displayLabels": [], - "tooltip": { - "mode": "single" - }, - "colorScheme": "interpolateSpectral", - "colorBy": "value", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - } - }, - { - "id": 35, - "type": "bargauge", - "title": "Projects Failing Sonar Gate", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 18, - "y": 88 - }, - "targets": [ - { - "expr": "sort_desc((sort_desc(count by (project_key) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\",status!~\"OK|ok\"})) or on() label_replace(vector(0), \"project_key\", \"none\", \"__name__\", \".*\")))", - "refId": "A", - "legendFormat": "{{project_key}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 1 - }, - { - "color": "orange", - "value": 3 - }, - { - "color": "red", - "value": 5 - } - ] - } - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - } - }, - "transformations": [ - { - "id": "sortBy", "options": { - "fields": [ - "Value" - ], - "order": "desc" - } + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Coverage", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: LOC", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Style", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Gate Glue", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: SonarQube", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Failure Trend: Supply Chain", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": 148, - "type": "bargauge", - "title": "Missing Test-Case Metrics by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 502, + "type": "row", + "title": "Success Trends By Check", "gridPos": { - "h": 6, - "w": 12, + "h": 1, + "w": 24, "x": 0, - "y": 94 + "y": 20 }, - "targets": [ + "collapsed": true, + "panels": [ { - "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\"}))) 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 - } - ] + "id": 138, + "type": "timeseries", + "title": "Success Trend: Tests", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } ], - "fields": "", - "values": false - } - }, - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" - } + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Coverage", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: LOC", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Style", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Gate Glue", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: SonarQube", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": "Success Trend: Supply Chain", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "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 * (sum by (suite) (increase(platform_quality_gate_runs_total{suite=~\"${suite:regex}\",exported_job=\"platform-quality-ci\"}[30d])) >= bool 0)))", + "refId": "A", + "legendFormat": "{{suite}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "none" + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max" + ] + }, + "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": 151, - "type": "bargauge", - "title": "No Real Test Cases by Suite", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 503, + "type": "row", + "title": "Test Drilldowns And Problem Tests", "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", - "title": "Recent Branch Evidence by Suite (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, - "gridPos": { - "h": 7, - "w": 12, + "h": 1, + "w": 24, "x": 0, - "y": 100 + "y": 21 }, - "targets": [ + "collapsed": true, + "panels": [ { - "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}[30d])))", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{branch}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 1 - } - ] + "id": 145, + "type": "timeseries", + "title": "Problematic Tests Over Time (Top failures)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 57 + }, + "targets": [ + { + "expr": "(topk(12, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[$__interval])))) or on() vector(0)", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{test}}" + } ], - "fields": "", - "values": false - } - }, - "links": [ - { - "title": "Open Jenkins", - "url": "${jenkins_base}/", - "targetBlank": true - }, - { - "title": "ariadne: Job", - "url": "${jenkins_base}/job/ariadne/", - "targetBlank": true - }, - { - "title": "ariadne: Last Artifacts", - "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "metis: Job", - "url": "${jenkins_base}/job/metis/", - "targetBlank": true - }, - { - "title": "metis: Last Artifacts", - "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "ananke: Job", - "url": "${jenkins_base}/job/ananke/", - "targetBlank": true - }, - { - "title": "ananke: Last Artifacts", - "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "atlasbot: Job", - "url": "${jenkins_base}/job/atlasbot/", - "targetBlank": true - }, - { - "title": "atlasbot: Last Artifacts", - "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "pegasus: Job", - "url": "${jenkins_base}/job/pegasus/", - "targetBlank": true - }, - { - "title": "pegasus: Last Artifacts", - "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "soteria: Job", - "url": "${jenkins_base}/job/Soteria/", - "targetBlank": true - }, - { - "title": "soteria: Last Artifacts", - "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "titan_iac: Job", - "url": "${jenkins_base}/job/titan-iac/", - "targetBlank": true - }, - { - "title": "titan_iac: Last Artifacts", - "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "bstein_home: Job", - "url": "${jenkins_base}/job/bstein-dev-home/", - "targetBlank": true - }, - { - "title": "bstein_home: Last Artifacts", - "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "data_prepper: Job", - "url": "${jenkins_base}/job/data-prepper/", - "targetBlank": true - }, - { - "title": "data_prepper: Last Artifacts", - "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", - "targetBlank": true - } - ], - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "none", + "links": [ + { + "title": "Open latest artifacts", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "Open Jenkins job", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", + "targetBlank": true + } + ] + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" - } + "legend": { + "displayMode": "list", + "placement": "bottom", + "calcs": [ + "lastNotNull", + "max", + "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", + "title": "Most Problematic Test by Suite (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 57 + }, + "targets": [ + { + "expr": "sort_desc((topk by (suite) (1, sum by (suite, test, jenkins_job) (increase(platform_quality_gate_test_case_result{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",test!=\"__no_test_cases__\",status=\"failed\",exported_job=\"platform-quality-ci\"}[30d])))) or on() vector(0))", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{test}}", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 1 + }, + { + "color": "orange", + "value": 3 + }, + { + "color": "red", + "value": 5 + } + ] + }, + "links": [ + { + "title": "Open latest artifacts", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "Open Jenkins job", + "url": "${jenkins_base}/job/${__field.labels.jenkins_job}/", + "targetBlank": true + } + ] + }, + "overrides": [] + }, + "options": { + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "links": [ + { + "title": "Open Jenkins", + "url": "${jenkins_base}/", + "targetBlank": true + }, + { + "title": "ariadne: Job", + "url": "${jenkins_base}/job/ariadne/", + "targetBlank": true + }, + { + "title": "ariadne: Last Artifacts", + "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "metis: Job", + "url": "${jenkins_base}/job/metis/", + "targetBlank": true + }, + { + "title": "metis: Last Artifacts", + "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "ananke: Job", + "url": "${jenkins_base}/job/ananke/", + "targetBlank": true + }, + { + "title": "ananke: Last Artifacts", + "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "atlasbot: Job", + "url": "${jenkins_base}/job/atlasbot/", + "targetBlank": true + }, + { + "title": "atlasbot: Last Artifacts", + "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "pegasus: Job", + "url": "${jenkins_base}/job/pegasus/", + "targetBlank": true + }, + { + "title": "pegasus: Last Artifacts", + "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "soteria: Job", + "url": "${jenkins_base}/job/Soteria/", + "targetBlank": true + }, + { + "title": "soteria: Last Artifacts", + "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "titan_iac: Job", + "url": "${jenkins_base}/job/titan-iac/", + "targetBlank": true + }, + { + "title": "titan_iac: Last Artifacts", + "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "bstein_home: Job", + "url": "${jenkins_base}/job/bstein-dev-home/", + "targetBlank": true + }, + { + "title": "bstein_home: Last Artifacts", + "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "data_prepper: Job", + "url": "${jenkins_base}/job/data-prepper/", + "targetBlank": true + }, + { + "title": "data_prepper: Last Artifacts", + "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", + "targetBlank": true + } + ], + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + }, + { + "id": "limit", + "options": { + "limit": 9 + } + } + ] + }, + { + "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": 150, - "type": "bargauge", - "title": "Non-Primary Branch Evidence (30d)", - "datasource": { - "type": "prometheus", - "uid": "atlas-vm" - }, + "id": 504, + "type": "row", + "title": "Telemetry Completeness, SonarQube, And Branches", "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 100 + "h": 1, + "w": 24, + "x": 0, + "y": 22 }, - "targets": [ + "collapsed": true, + "panels": [ { - "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\",branch!~\"main|master|origin/main|origin/master|unknown\"}[30d])))", - "refId": "A", - "legendFormat": "{{suite}} \u00b7 {{branch}}", - "instant": true - } - ], - "fieldConfig": { - "defaults": { - "unit": "none", - "min": 0, - "max": null, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "yellow", - "value": 1 - }, - { - "color": "orange", - "value": 3 - }, - { - "color": "red", - "value": 5 - } - ] + "id": 27, + "type": "bargauge", + "title": "Missing Tests Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" }, - "decimals": 0 - }, - "overrides": [] - }, - "options": { - "displayMode": "gradient", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "y": 81 + }, + "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) ({__name__=~\".*_quality_gate_tests_total\",exported_job=\"platform-quality-ci\"}))) 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 + } ], - "fields": "", - "values": false - } - }, - "links": [ - { - "title": "Open Jenkins", - "url": "${jenkins_base}/", - "targetBlank": true - }, - { - "title": "ariadne: Job", - "url": "${jenkins_base}/job/ariadne/", - "targetBlank": true - }, - { - "title": "ariadne: Last Artifacts", - "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "metis: Job", - "url": "${jenkins_base}/job/metis/", - "targetBlank": true - }, - { - "title": "metis: Last Artifacts", - "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "ananke: Job", - "url": "${jenkins_base}/job/ananke/", - "targetBlank": true - }, - { - "title": "ananke: Last Artifacts", - "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "atlasbot: Job", - "url": "${jenkins_base}/job/atlasbot/", - "targetBlank": true - }, - { - "title": "atlasbot: Last Artifacts", - "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "pegasus: Job", - "url": "${jenkins_base}/job/pegasus/", - "targetBlank": true - }, - { - "title": "pegasus: Last Artifacts", - "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "soteria: Job", - "url": "${jenkins_base}/job/Soteria/", - "targetBlank": true - }, - { - "title": "soteria: Last Artifacts", - "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "titan_iac: Job", - "url": "${jenkins_base}/job/titan-iac/", - "targetBlank": true - }, - { - "title": "titan_iac: Last Artifacts", - "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "bstein_home: Job", - "url": "${jenkins_base}/job/bstein-dev-home/", - "targetBlank": true - }, - { - "title": "bstein_home: Last Artifacts", - "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", - "targetBlank": true - }, - { - "title": "data_prepper: Job", - "url": "${jenkins_base}/job/data-prepper/", - "targetBlank": true - }, - { - "title": "data_prepper: Last Artifacts", - "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", - "targetBlank": true - } - ], - "transformations": [ - { - "id": "sortBy", + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 1 + } + ] + }, + "decimals": 0 + }, + "overrides": [] + }, "options": { - "fields": [ - "Value" - ], - "order": "desc" + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] + }, + { + "id": 28, + "type": "bargauge", + "title": "Missing Checks Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 6, + "y": 81 + }, + "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) ({__name__=~\".*_quality_gate_checks_total\",exported_job=\"platform-quality-ci\"}))) 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": 29, + "type": "bargauge", + "title": "Missing Coverage Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 12, + "y": 81 + }, + "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_workspace_line_coverage_percent{exported_job=\"platform-quality-ci\"}))) 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": 30, + "type": "bargauge", + "title": "Missing LOC Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 18, + "y": 81 + }, + "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_source_lines_over_500_total{exported_job=\"platform-quality-ci\"}))) 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": 31, + "type": "stat", + "title": "SonarQube API Up", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 0, + "y": 88 + }, + "targets": [ + { + "expr": "(max(sonarqube_up) or on() vector(0))", + "refId": "A", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "green", + "value": 1 + } + ] + }, + "unit": "none", + "custom": { + "displayMode": "auto" + } + }, + "overrides": [] + }, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "center", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "value" } + }, + { + "id": 32, + "type": "stat", + "title": "Sonar Projects (Selected)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 4, + "y": 88 + }, + "targets": [ + { + "expr": "(count(sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"}) 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": 33, + "type": "stat", + "title": "Sonar Gate Fetch Errors", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 4, + "x": 8, + "y": 88 + }, + "targets": [ + { + "expr": "(max(sonarqube_quality_gate_fetch_errors_total) 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": 34, + "type": "piechart", + "title": "Sonar Gate Status Mix (Selected)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 12, + "y": 88 + }, + "targets": [ + { + "expr": "count by (status) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\"})", + "refId": "A", + "legendFormat": "{{status}}" + } + ], + "fieldConfig": { + "defaults": { + "unit": "percent", + "color": { + "mode": "palette-classic" + } + }, + "overrides": [] + }, + "options": { + "legend": { + "displayMode": "list", + "placement": "right" + }, + "pieType": "pie", + "displayLabels": [], + "tooltip": { + "mode": "single" + }, + "colorScheme": "interpolateSpectral", + "colorBy": "value", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + } + }, + { + "id": 35, + "type": "bargauge", + "title": "Projects Failing Sonar Gate", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 18, + "y": 88 + }, + "targets": [ + { + "expr": "sort_desc((sort_desc(count by (project_key) (sonarqube_project_quality_gate_pass{project_key=~\"${suite:regex}\",status!~\"OK|ok\"})) or on() label_replace(vector(0), \"project_key\", \"none\", \"__name__\", \".*\")))", + "refId": "A", + "legendFormat": "{{project_key}}", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 1 + }, + { + "color": "orange", + "value": 3 + }, + { + "color": "red", + "value": 5 + } + ] + } + }, + "overrides": [] + }, + "options": { + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] + }, + { + "id": 148, + "type": "bargauge", + "title": "Missing Test-Case Metrics by Suite", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "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\"}))) 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": 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", + "title": "Recent Branch Evidence by Suite (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 100 + }, + "targets": [ + { + "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\"}[30d])))", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{branch}}", + "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 + } + }, + "links": [ + { + "title": "Open Jenkins", + "url": "${jenkins_base}/", + "targetBlank": true + }, + { + "title": "ariadne: Job", + "url": "${jenkins_base}/job/ariadne/", + "targetBlank": true + }, + { + "title": "ariadne: Last Artifacts", + "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "metis: Job", + "url": "${jenkins_base}/job/metis/", + "targetBlank": true + }, + { + "title": "metis: Last Artifacts", + "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "ananke: Job", + "url": "${jenkins_base}/job/ananke/", + "targetBlank": true + }, + { + "title": "ananke: Last Artifacts", + "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "atlasbot: Job", + "url": "${jenkins_base}/job/atlasbot/", + "targetBlank": true + }, + { + "title": "atlasbot: Last Artifacts", + "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "pegasus: Job", + "url": "${jenkins_base}/job/pegasus/", + "targetBlank": true + }, + { + "title": "pegasus: Last Artifacts", + "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "soteria: Job", + "url": "${jenkins_base}/job/Soteria/", + "targetBlank": true + }, + { + "title": "soteria: Last Artifacts", + "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "titan_iac: Job", + "url": "${jenkins_base}/job/titan-iac/", + "targetBlank": true + }, + { + "title": "titan_iac: Last Artifacts", + "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "bstein_home: Job", + "url": "${jenkins_base}/job/bstein-dev-home/", + "targetBlank": true + }, + { + "title": "bstein_home: Last Artifacts", + "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "data_prepper: Job", + "url": "${jenkins_base}/job/data-prepper/", + "targetBlank": true + }, + { + "title": "data_prepper: Last Artifacts", + "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", + "targetBlank": true + } + ], + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] + }, + { + "id": 150, + "type": "bargauge", + "title": "Non-Primary Branch Evidence (30d)", + "datasource": { + "type": "prometheus", + "uid": "atlas-vm" + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 100 + }, + "targets": [ + { + "expr": "sort_desc(count by (suite, branch) (max_over_time(platform_quality_gate_build_info{suite=~\"${suite:regex}\",branch=~\"${branch:regex}\",exported_job=\"platform-quality-ci\",branch!~\"main|master|origin/main|origin/master|unknown\"}[30d])))", + "refId": "A", + "legendFormat": "{{suite}} \u00b7 {{branch}}", + "instant": true + } + ], + "fieldConfig": { + "defaults": { + "unit": "none", + "min": 0, + "max": null, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 1 + }, + { + "color": "orange", + "value": 3 + }, + { + "color": "red", + "value": 5 + } + ] + }, + "decimals": 0 + }, + "overrides": [] + }, + "options": { + "displayMode": "gradient", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } + }, + "links": [ + { + "title": "Open Jenkins", + "url": "${jenkins_base}/", + "targetBlank": true + }, + { + "title": "ariadne: Job", + "url": "${jenkins_base}/job/ariadne/", + "targetBlank": true + }, + { + "title": "ariadne: Last Artifacts", + "url": "${jenkins_base}/job/ariadne/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "metis: Job", + "url": "${jenkins_base}/job/metis/", + "targetBlank": true + }, + { + "title": "metis: Last Artifacts", + "url": "${jenkins_base}/job/metis/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "ananke: Job", + "url": "${jenkins_base}/job/ananke/", + "targetBlank": true + }, + { + "title": "ananke: Last Artifacts", + "url": "${jenkins_base}/job/ananke/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "atlasbot: Job", + "url": "${jenkins_base}/job/atlasbot/", + "targetBlank": true + }, + { + "title": "atlasbot: Last Artifacts", + "url": "${jenkins_base}/job/atlasbot/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "pegasus: Job", + "url": "${jenkins_base}/job/pegasus/", + "targetBlank": true + }, + { + "title": "pegasus: Last Artifacts", + "url": "${jenkins_base}/job/pegasus/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "soteria: Job", + "url": "${jenkins_base}/job/Soteria/", + "targetBlank": true + }, + { + "title": "soteria: Last Artifacts", + "url": "${jenkins_base}/job/Soteria/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "titan_iac: Job", + "url": "${jenkins_base}/job/titan-iac/", + "targetBlank": true + }, + { + "title": "titan_iac: Last Artifacts", + "url": "${jenkins_base}/job/titan-iac/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "bstein_home: Job", + "url": "${jenkins_base}/job/bstein-dev-home/", + "targetBlank": true + }, + { + "title": "bstein_home: Last Artifacts", + "url": "${jenkins_base}/job/bstein-dev-home/lastCompletedBuild/artifact/", + "targetBlank": true + }, + { + "title": "data_prepper: Job", + "url": "${jenkins_base}/job/data-prepper/", + "targetBlank": true + }, + { + "title": "data_prepper: Last Artifacts", + "url": "${jenkins_base}/job/data-prepper/lastCompletedBuild/artifact/", + "targetBlank": true + } + ], + "transformations": [ + { + "id": "sortBy", + "options": { + "fields": [ + "Value" + ], + "order": "desc" + } + } + ] } ] }