Compare commits

...

2 Commits

Author SHA1 Message Date
Ivan Ortega
452a0c9a08 wip 2025-12-03 11:31:02 +01:00
Ivan Ortega
d5086db32c Dashboards: Default type ds to grafana for v2 2025-12-02 19:31:22 +01:00
117 changed files with 57 additions and 23022 deletions

View File

@@ -62,7 +62,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "A",
"hidden": false
@@ -79,7 +79,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "B",
"hidden": false
@@ -96,7 +96,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "C",
"hidden": false
@@ -113,7 +113,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "D",
"hidden": false
@@ -130,7 +130,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "E",
"hidden": false
@@ -147,7 +147,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "F",
"hidden": false
@@ -164,7 +164,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "G",
"hidden": false
@@ -182,7 +182,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "H",
"hidden": false
@@ -199,7 +199,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "I",
"hidden": false
@@ -216,7 +216,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "J",
"hidden": false
@@ -233,7 +233,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "K",
"hidden": false
@@ -250,7 +250,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "L",
"hidden": false
@@ -267,7 +267,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "M",
"hidden": false
@@ -284,7 +284,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "N",
"hidden": false
@@ -302,7 +302,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "O",
"hidden": false
@@ -319,7 +319,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "P",
"hidden": false
@@ -336,7 +336,7 @@
},
"datasource": {
"type": "datasource",
"uid": "grafana"
"uid": "-- Grafana --"
},
"refId": "Q",
"hidden": false

View File

@@ -61,7 +61,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"
@@ -79,7 +79,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"
@@ -97,7 +97,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"
@@ -115,7 +115,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"
@@ -133,7 +133,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"
@@ -151,7 +151,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"
@@ -169,7 +169,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"
@@ -187,7 +187,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"labels": "",
@@ -206,7 +206,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"
@@ -224,7 +224,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"
@@ -242,7 +242,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"
@@ -260,7 +260,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"
@@ -278,7 +278,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"
@@ -296,7 +296,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"
@@ -314,7 +314,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"labels": "",
@@ -333,7 +333,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"
@@ -351,7 +351,7 @@
"group": "datasource",
"version": "v0",
"datasource": {
"name": "grafana"
"name": "-- Grafana --"
},
"spec": {
"scenarioId": "random_walk"

View File

@@ -58,7 +58,7 @@ func getDatasourceTypeByUID(ctx context.Context, uid string, provider schemavers
// datasource: { type: "datasource" } with no UID, it should resolve to uid: "grafana".
func resolveGrafanaDatasourceUID(dsType, dsUID string) string {
if dsType == "datasource" && dsUID == "" {
return grafanads.DatasourceUID
return grafanads.DatasourceName
}
return dsUID
}

View File

@@ -77,7 +77,7 @@ func TestV1beta1ToV2alpha1(t *testing.T) {
// Verify datasource UID is resolved to "grafana"
assert.NotNil(t, query.Spec.Datasource.Uid)
assert.Equal(t, grafanads.DatasourceUID, *query.Spec.Datasource.Uid, "type: 'datasource' with no UID should resolve to uid: 'grafana'")
assert.Equal(t, grafanads.DatasourceName, *query.Spec.Datasource.Uid, "type: 'datasource' with no UID should resolve to uid: '-- Grafana --'")
// Verify query kind matches datasource type
assert.Equal(t, "datasource", query.Spec.Query.Kind)

View File

@@ -1,132 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"styles": [
{
"align": "auto",
"thresholds": [
"20",
"30"
]
},
{
"align": "auto",
"thresholds": [
"200",
"300"
]
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"styles": [
{
"align": "auto",
"thresholds": [
"50",
"75"
]
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "table"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 3,
"styles": [
{
"thresholds": [
"5",
"10",
"15"
]
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V10 Table Thresholds Test",
"weekStart": ""
}

View File

@@ -1,114 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "CPU Usage",
"type": "timeseries",
"yAxes": [
{
"show": true
}
]
},
{
"autoMigrateFrom": "singlestat",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Memory Usage",
"type": "stat",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
]
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "server",
"options": [],
"query": "label_values(server)",
"refresh": 1,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V11 No-Op Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,81 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"name": "refresh_true_var",
"options": [],
"refresh": 1,
"type": "query"
},
{
"name": "refresh_false_var",
"options": [],
"refresh": 1,
"type": "query"
},
{
"hide": 2,
"hideVariable": true,
"name": "hide_variable_var",
"options": [],
"refresh": 1,
"type": "query"
},
{
"hide": 1,
"hideLabel": true,
"name": "hide_label_var",
"options": [],
"refresh": 1,
"type": "query"
},
{
"hide": 2,
"hideLabel": true,
"hideVariable": true,
"name": "priority_var",
"options": [],
"refresh": 1,
"type": "query"
},
{
"name": "no_properties_var",
"options": [],
"refresh": 1,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V12 Template Variables Migration Test",
"weekStart": ""
}

View File

@@ -1,174 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"grid": {
"threshold1": 200,
"threshold1Color": "yellow",
"threshold2": 400,
"threshold2Color": "red",
"thresholdLine": true
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Graph with Line Thresholds",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"grid": {
"threshold1": 100,
"threshold1Color": "green",
"threshold2": 300,
"threshold2Color": "blue",
"thresholdLine": false
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Graph with Fill Thresholds",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"grid": {
"threshold1": 150,
"threshold1Color": "orange",
"thresholdLine": true
},
"id": 3,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Graph with Single Threshold",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"grid": {
"threshold1": 200,
"threshold1Color": "yellow",
"thresholdLine": false
},
"id": 4,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"thresholds": [
{
"color": "purple",
"colorMode": "custom",
"value": 50
}
],
"title": "Graph with Existing Thresholds",
"type": "timeseries"
},
{
"autoMigrateFrom": "singlestat",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 5,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Non-Graph Panel",
"type": "stat"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V13 Graph Thresholds Migration Test",
"weekStart": ""
}

View File

@@ -1,61 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"datasource": {
"type": "prometheus",
"uid": "gdev-prometheus"
},
"id": 4,
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "gdev-prometheus"
},
"editorMode": "builder",
"expr": "{\"a.utf8.metric 🤘\", job=\"prometheus-utf8\"}",
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "browser",
"title": "Dashboard with minimal graph panel settings",
"weekStart": ""
}

View File

@@ -1,116 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 1,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"expr": "cpu_usage",
"refId": "A"
}
],
"title": "CPU Usage Over Time",
"type": "timeseries",
"yAxes": [
{
"show": true
}
]
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"expr": "memory_usage",
"refId": "B"
}
],
"title": "Memory Usage",
"type": "timeseries",
"yAxes": [
{
"max": 100,
"min": 0,
"show": true
}
]
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "server",
"options": [],
"query": "label_values(server)",
"refresh": 1,
"type": "query"
}
]
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V14 Shared Crosshair Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,800 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
},
{
"datasource": {
"uid": "$datasource"
},
"enable": true,
"expr": "up",
"hide": false,
"iconColor": "rgba(255, 96, 96, 1)",
"name": "rollouts",
"showIn": 0,
"tags": [],
"titleFormat": "Rollout was underway in {{cluster}}/{{namespace}}",
"type": "tags"
}
]
},
"editable": false,
"fiscalYearStartMonth": 0,
"graphTooltip": 1,
"links": [
{
"asDropdown": true,
"icon": "external link",
"includeVars": true,
"keepTime": true,
"tags": [
"show-in-mimir-links-dropdown"
],
"targetBlank": false,
"title": "Mimir dashboards",
"type": "dashboards"
}
],
"panels": [
{
"collapsed": false,
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 19,
"w": 24,
"x": 0,
"y": 0
},
"id": 7,
"panels": [],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Rollout progress",
"type": "row"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Versions running\nShows the versions reported by each running pod.\n\nThe rollout will fail if any pod is not running the expected version.\n\nPods in green are running the expected version, while pods running other versions are shown in orange.\n\n",
"fieldConfig": {
"defaults": {
"color": {
"fixedColor": "orange",
"mode": "shades"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"fillOpacity": 80,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineWidth": 1,
"scaleDistribution": {
"type": "linear"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"max": 1,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": []
},
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byRegexp",
"options": "/.*(target)/"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "green",
"mode": "fixed"
}
}
]
}
]
},
"gridPos": {
"h": 19,
"w": 8,
"x": 0,
"y": 1
},
"id": 1,
"options": {
"barRadius": 0,
"barWidth": 0.97,
"fullHighlight": false,
"groupWidth": 0.7,
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"orientation": "horizontal",
"showValue": "auto",
"stacking": "percent",
"tooltip": {
"mode": "single",
"sort": "none"
},
"xField": "job\\version",
"xTickLabelRotation": 0,
"xTickLabelSpacing": 0
},
"targets": [
{
"datasource": {
"uid": "$datasource"
},
"expr": "sum by (job, version) (up{job=~\".*\"})",
"format": "table",
"instant": true,
"legendFormat": "__auto",
"refId": "A"
}
],
"title": "Versions running",
"transformations": [
{
"id": "groupingToMatrix",
"options": {
"columnField": "version",
"rowField": "job",
"valueField": "Value"
}
},
{
"id": "sortBy",
"options": {
"sort": [
{
"field": "job\\version"
}
]
}
}
],
"type": "barchart"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Deployment rollout progress\nShows the number of pods for each `Deployment` that match the desired configuration, as a proportion of the desired number of pods.\n\nThe rollout will fail if insufficient pods match the desired configuration for any `Deployment`.\n\nPods in green match the desired configuration, while pods that do not match the desired configuration are shown in orange.\n\n",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"fillOpacity": 80,
"gradientMode": "scheme",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineWidth": 1,
"scaleDistribution": {
"type": "linear"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"max": 1,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "orange"
},
{
"color": "green",
"value": 1
}
]
},
"unit": "percentunit"
},
"overrides": []
},
"gridPos": {
"h": 19,
"w": 8,
"x": 8,
"y": 1
},
"id": 2,
"options": {
"barRadius": 0,
"barWidth": 0.97,
"fullHighlight": false,
"groupWidth": 0.7,
"legend": {
"displayMode": "list",
"showLegend": false
},
"orientation": "horizontal",
"showValue": "auto",
"stacking": "none",
"tooltip": {
"mode": "single",
"sort": "none"
},
"xTickLabelRotation": 0,
"xTickLabelSpacing": 0
},
"targets": [
{
"datasource": {
"uid": "$datasource"
},
"expr": "sum by (deployment) (up{job=\"kube-state-metrics\"})",
"format": "table",
"instant": true,
"legendFormat": "__auto",
"refId": "A"
}
],
"title": "Deployment rollout progress",
"transformations": [
{
"id": "sortBy",
"options": {
"fields": {},
"sort": [
{
"field": "deployment"
}
]
}
}
],
"type": "barchart"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### StatefulSet rollout progress\nShows the number of pods for each `StatefulSet` that match the desired configuration, as a proportion of the desired number of pods.\n\nThe rollout will fail if insufficient pods match the desired configuration for any `StatefulSet`.\n\nPods in green match the desired configuration, while pods that do not match the desired configuration are shown in orange.\n\n",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"fillOpacity": 80,
"gradientMode": "scheme",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineWidth": 1,
"scaleDistribution": {
"type": "linear"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"max": 1,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "orange"
},
{
"color": "green",
"value": 1
}
]
},
"unit": "percentunit"
},
"overrides": []
},
"gridPos": {
"h": 19,
"w": 8,
"x": 16,
"y": 1
},
"id": 3,
"options": {
"barRadius": 0,
"barWidth": 0.97,
"fullHighlight": false,
"groupWidth": 0.7,
"legend": {
"displayMode": "list",
"showLegend": false
},
"orientation": "horizontal",
"showValue": "auto",
"stacking": "none",
"tooltip": {
"mode": "single",
"sort": "none"
},
"xTickLabelRotation": 0,
"xTickLabelSpacing": 0
},
"targets": [
{
"datasource": {
"uid": "$datasource"
},
"expr": "sum by (statefulset) (up{job=\"kube-state-metrics\"})",
"format": "table",
"instant": true,
"legendFormat": "__auto",
"refId": "A"
}
],
"title": "StatefulSet rollout progress",
"transformations": [
{
"id": "sortBy",
"options": {
"fields": {},
"sort": [
{
"field": "statefulset"
}
]
}
}
],
"type": "barchart"
},
{
"collapsed": false,
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 19,
"w": 24,
"x": 0,
"y": 20
},
"id": 8,
"panels": [],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Rollout health",
"type": "row"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Aggregator lag\nShows the consumption lag of each aggregator pod.\n\nThis panel may show no data if aggregators are not deployed to this cell.\n\nThe rollout will fail if any pod's consumption lag is both:\n* greater than 30s (red area on graph), and\n* trending upwards compared to 1 minute earlier\n\n",
"fieldConfig": {
"defaults": {
"custom": {
"drawStyle": "line",
"fillOpacity": 0,
"lineWidth": 1,
"pointSize": 5,
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "area"
}
},
"min": 0,
"noValue": "No data (are aggregators deployed in this cell?)",
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 30
}
]
},
"unit": "s"
},
"overrides": []
},
"gridPos": {
"h": 19,
"w": 8,
"x": 0,
"y": 21
},
"id": 4,
"options": {
"legend": {
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"uid": "$datasource"
},
"expr": "max by (pod) (up{job=\"mimir-aggregator\"})",
"format": "time_series",
"legendFormat": "__auto",
"refId": "A"
}
],
"title": "Aggregator lag",
"type": "timeseries"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Unhealthy Deployment replicas\nShows the number of unavailable pods for each `Deployment`.\n\nThe rollout will fail if any `Deployment` has an unavailable pod.\n\nBoth this panel and the rollout check ignore any `Deployment`s that require spot nodes, as these are expected to be unavailable from time to time.\n\n`Deployment`s shown in green do not have any unavailable pods, while `Deployment`s shown in orange have one or more unavailable pods.\n\n",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"axisSoftMax": 10,
"fillOpacity": 80,
"gradientMode": "scheme",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineWidth": 1,
"scaleDistribution": {
"type": "linear"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "orange",
"value": 1
}
]
},
"unit": ""
},
"overrides": []
},
"gridPos": {
"h": 19,
"w": 8,
"x": 8,
"y": 21
},
"id": 5,
"options": {
"barRadius": 0,
"barWidth": 0.97,
"fullHighlight": false,
"groupWidth": 0.7,
"legend": {
"displayMode": "list",
"showLegend": false
},
"orientation": "horizontal",
"showValue": "auto",
"stacking": "none",
"tooltip": {
"mode": "single",
"sort": "none"
},
"xTickLabelRotation": 0,
"xTickLabelSpacing": 0
},
"targets": [
{
"datasource": {
"uid": "$datasource"
},
"expr": "sum by (deployment) (up{job=\"kube-state-metrics\"})",
"format": "table",
"instant": true,
"legendFormat": "__auto",
"refId": "A"
}
],
"title": "Unhealthy Deployment replicas",
"transformations": [
{
"id": "sortBy",
"options": {
"fields": {},
"sort": [
{
"field": "deployment"
}
]
}
}
],
"type": "barchart"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Unhealthy StatefulSet replicas\nShows the number of pods for each `StatefulSet` that are not ready.\n\nThe rollout will fail if any `StatefulSet` has fewer ready pods than requested.\n\nBoth this panel and the rollout check ignore any `StatefulSets`s that require spot nodes, as these are expected to be unavailable from time to time.\n\n`StatefulSets`s shown in green do not have any pods that are not ready, while `StatefulSet`s shown in orange have one or more pods that are not ready.\n\n",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"axisSoftMax": 10,
"fillOpacity": 80,
"gradientMode": "scheme",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineWidth": 1,
"scaleDistribution": {
"type": "linear"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "orange",
"value": 1
}
]
},
"unit": ""
},
"overrides": []
},
"gridPos": {
"h": 19,
"w": 8,
"x": 16,
"y": 21
},
"id": 6,
"options": {
"barRadius": 0,
"barWidth": 0.97,
"fullHighlight": false,
"groupWidth": 0.7,
"legend": {
"displayMode": "list",
"showLegend": false
},
"orientation": "horizontal",
"showValue": "auto",
"stacking": "none",
"tooltip": {
"mode": "single",
"sort": "none"
},
"xTickLabelRotation": 0,
"xTickLabelSpacing": 0
},
"targets": [
{
"datasource": {
"uid": "$datasource"
},
"expr": "sum by (statefulset) (up{job=\"kube-state-metrics\"})",
"format": "table",
"instant": true,
"legendFormat": "__auto",
"refId": "A"
}
],
"title": "Unhealthy StatefulSet replicas",
"transformations": [
{
"id": "sortBy",
"options": {
"fields": {},
"sort": [
{
"field": "statefulset"
}
]
}
}
],
"type": "barchart"
}
],
"refresh": "5m",
"schemaVersion": 42,
"tags": [
"mimir",
"betterops-mimir",
"show-in-mimir-links-dropdown",
"as-code"
],
"templating": {
"list": [
{
"current": {
"value": "grafanacloud-prom"
},
"hide": 0,
"label": "Data source",
"name": "datasource",
"options": [],
"query": "prometheus",
"refresh": 1,
"regex": "",
"type": "datasource"
},
{
"allValue": ".*",
"current": {
"text": "prod",
"value": "prod"
},
"datasource": "$datasource",
"hide": 0,
"includeAll": true,
"label": "cluster",
"multi": false,
"name": "cluster",
"options": [],
"query": "label_values(up, job)",
"refresh": 1,
"regex": "",
"sort": 1,
"tagValuesQuery": "",
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"current": {
"text": "prod",
"value": "prod"
},
"datasource": "$datasource",
"hide": 0,
"includeAll": false,
"label": "namespace",
"multi": false,
"name": "namespace",
"options": [],
"query": "label_values(up{job=~\"$cluster\"}, instance)",
"refresh": 1,
"regex": "",
"sort": 1,
"tagValuesQuery": "",
"tagsQuery": "",
"type": "query",
"useTags": false
}
]
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "utc",
"title": "Mimir / Rollout debugging",
"weekStart": ""
}

View File

@@ -1,124 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
},
{
"datasource": {
"type": "grafana",
"uid": "grafana"
},
"enable": true,
"name": "Annotations \u0026 Alerts"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "CPU Usage",
"type": "timeseries",
"yAxes": [
{
"show": true
}
]
},
{
"autoMigrateFrom": "singlestat",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Memory Usage",
"type": "stat",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
]
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"datasource": {
"type": "prometheus"
},
"name": "server",
"options": [],
"query": "label_values(server)",
"refresh": 1,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V15 No-Op Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,424 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"collapsed": false,
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 0
},
"id": 13,
"panels": [],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "row"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 1
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "CPU Usage",
"type": "timeseries"
},
{
"autoMigrateFrom": "singlestat",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 1
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Memory Usage",
"type": "stat"
},
{
"collapsed": true,
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 8
},
"id": 14,
"panels": [
{
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 9
},
"id": 3,
"title": "Process List",
"type": "table"
},
{
"autoMigrateFrom": "graph",
"gridPos": {
"h": 6,
"w": 12,
"x": 0,
"y": 17
},
"height": 200,
"id": 4,
"title": "Network I/O",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"gridPos": {
"h": 6,
"w": 12,
"x": 12,
"y": 17
},
"height": 200,
"id": 5,
"title": "Disk I/O",
"type": "timeseries"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Collapsed Row",
"type": "row"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 24,
"x": 0,
"y": 17
},
"id": 15,
"panels": [],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Visible Row Title",
"type": "row"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 8,
"x": 0,
"y": 18
},
"id": 6,
"maxPerRow": 6,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Temperature",
"type": "gauge"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 8,
"x": 8,
"y": 18
},
"id": 7,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Uptime",
"type": "stat"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 8,
"x": 16,
"y": 18
},
"id": 8,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Load Average",
"type": "bargauge"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 24,
"x": 0,
"y": 24
},
"id": 16,
"panels": [],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "row"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 16,
"x": 0,
"y": 25
},
"id": 9,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Description Panel",
"type": "text"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 8,
"x": 16,
"y": 25
},
"height": 100,
"id": 10,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "System Logs",
"type": "logs"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 29
},
"id": 17,
"panels": [],
"repeat": "server",
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "row"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 30
},
"id": 11,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Server Metrics",
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V16 Grid Layout Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,881 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": false,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [
{
"icon": "external link",
"targetBlank": true,
"title": "External Documentation",
"type": "link",
"url": "https://example.com/docs"
}
],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 24,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"content": "This dashboard demonstrates various monitoring components for application observability and performance metrics.\n",
"mode": "markdown"
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Application Monitoring",
"type": "text"
},
{
"collapsed": false,
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 0
},
"id": 23,
"panels": [],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Application Service",
"type": "row"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 1
},
"id": 6,
"options": {
"content": "This service handles background processing tasks for the application system. It manages various types of operations including data synchronization, resource management, and batch processing.\n\nSupported operation types:\n1. Sync: Synchronizes data between different systems\n2. Process: Handles batch data processing tasks\n3. Cleanup: Removes outdated or temporary resources\n4. Update: Applies configuration changes across services\n\nService dependencies:\n- Data API: For reading and writing application data\n- Configuration Service: For managing system settings\n- Queue Service: For handling task scheduling\n- Storage Service: For persistent data management\n- Auth Service: For authentication and authorization\n- Metrics Service: For collecting operational statistics\n",
"mode": "markdown"
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Service Overview",
"type": "text"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 1
},
"id": 7,
"options": {
"content": "Error monitoring helps identify issues in the system. This section displays error logs and success rates for operations.",
"mode": "markdown"
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Error Monitoring",
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"fieldConfig": {
"defaults": {
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"value": 0
},
{
"color": "yellow",
"value": 0.95
},
{
"color": "green",
"value": 1
}
]
},
"unit": "percentunit"
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 1
},
"id": 8,
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "sum by (action) (app_jobs_processed_total{outcome=\"success\", cluster=\"$cluster\", namespace=\"default\"})\n/\nsum by (action) (app_jobs_processed_total{cluster=\"$cluster\", namespace=\"default\"})\n",
"legendFormat": "{{action}}",
"refId": "A"
}
],
"title": "Job Success Rate",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "${loki}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 8
},
"id": 9,
"options": {
"enableLogDetails": true,
"showTime": false,
"sortOrder": "Descending",
"wrapLogMessage": true
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "${loki}"
},
"expr": "{namespace=\"default\", cluster=\"$cluster\", job=\"app-service\"} | logfmt | level=\"error\"",
"refId": "A"
}
],
"title": "Errors",
"type": "logs"
},
{
"datasource": {
"type": "loki",
"uid": "${loki}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 8
},
"id": 10,
"options": {
"enableLogDetails": true,
"showTime": false,
"sortOrder": "Descending",
"wrapLogMessage": true
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "${loki}"
},
"expr": "{namespace=\"default\", cluster=\"$cluster\", job=\"app-service\"} | logfmt",
"refId": "A"
}
],
"title": "All",
"type": "logs"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 8
},
"id": 11,
"options": {
"content": "Performance monitoring examines factors that affect system response times, including operation duration, queue lengths, and processing delays. This section provides metrics and traces for performance analysis.\n",
"mode": "markdown"
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Performance Analysis",
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Number of concurrent processing threads available for handling operations",
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 15
},
"id": 12,
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "max(app_worker_threads_active{cluster=\"$cluster\", namespace=\"default\"})",
"instant": true,
"refId": "A"
}
],
"title": "Concurrent Job Drivers",
"type": "stat"
},
{
"datasource": {
"type": "tempo",
"uid": "${tempo}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 15
},
"id": 13,
"targets": [
{
"datasource": {
"type": "tempo",
"uid": "${tempo}"
},
"filters": [
{
"id": "span-name",
"operator": "=",
"scope": "span",
"tag": "name",
"value": [
"provisioning.sync.process"
]
},
{
"id": "k8s-cluster-name",
"operator": "=",
"scope": "resource",
"tag": "k8s.cluster.name",
"value": [
"$cluster"
]
}
],
"query": "{name=\"app.operation.process\"}",
"queryType": "traceqlSearch",
"refId": "A"
}
],
"title": "Recent Operation Traces",
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Histogram showing p99, p95, p50, and p10 percentiles for job processing duration based on number of resources changed",
"fieldConfig": {
"defaults": {
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "yellow",
"value": 2
},
{
"color": "red",
"value": 5
}
]
},
"unit": "s"
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 15
},
"id": 14,
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "histogram_quantile(0.99, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (le, resources_changed_bucket, action)) and on(resources_changed_bucket, action) sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (resources_changed_bucket, action) \u003e 0",
"legendFormat": "{{action}} q0.99 - size {{resources_changed_bucket}}",
"refId": "B"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "histogram_quantile(0.9, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (le, resources_changed_bucket, action)) and on(resources_changed_bucket, action) sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (resources_changed_bucket, action) \u003e 0",
"legendFormat": "{{action}} q0.95 - size {{resources_changed_bucket}}",
"refId": "C"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "histogram_quantile(0.5, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (le, resources_changed_bucket, action)) and on(resources_changed_bucket, action) sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (resources_changed_bucket, action) \u003e 0",
"legendFormat": "{{action}} q0.5 - size {{resources_changed_bucket}}",
"refId": "D"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "histogram_quantile(0.1, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (le, resources_changed_bucket, action)) and on(resources_changed_bucket, action) sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (resources_changed_bucket, action) \u003e 0",
"legendFormat": "{{action}} q0.1 - size {{resources_changed_bucket}}",
"refId": "E"
}
],
"timeFrom": "7d",
"title": "7d avg of job durations",
"transformations": [
{
"id": "reduce",
"options": {
"mode": "seriesToRows",
"reducers": [
"mean"
]
}
},
{
"id": "seriesToRows"
},
{
"id": "organize",
"options": {
"renameByName": {
"Field": "Type",
"Mean": "Avg Duration",
"Metric": "Legend",
"Value": "Duration"
}
}
}
],
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Histogram showing p99, p95, p50, and p10 percentiles for job processing duration based on number of resources changed",
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 22
},
"id": 15,
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "histogram_quantile(0.99, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[5m])) by (le, resources_changed_bucket, action))",
"legendFormat": "{{action}} q0.99 - size {{resources_changed_bucket}}",
"refId": "B"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "histogram_quantile(0.95, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[5m])) by (le, resources_changed_bucket, action))",
"legendFormat": "{{action}} q0.95 - size {{resources_changed_bucket}}",
"refId": "C"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "histogram_quantile(0.5, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[5m])) by (le, resources_changed_bucket, action))",
"legendFormat": "{{action}} q0.5 - size {{resources_changed_bucket}}",
"refId": "D"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "histogram_quantile(0.1, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[5m])) by (le, resources_changed_bucket, action))",
"legendFormat": "{{action}} q0.1 - size {{resources_changed_bucket}}",
"refId": "E"
}
],
"title": "Job Duration",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Total number of jobs waiting to be processed",
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 22
},
"id": 16,
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "clamp_min(sum(app_operation_queue_size{cluster=\"$cluster\", namespace=\"default\"}), 0)",
"legendFormat": "Queue size",
"refId": "A"
}
],
"title": "Queue Size",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"fieldConfig": {
"defaults": {
"unit": "s"
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 22
},
"id": 17,
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "avg(histogram_quantile(0.5, sum(rate(app_operation_queue_wait_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (le)))",
"legendFormat": "Queue size",
"refId": "A"
}
],
"timeFrom": "7d",
"title": "7d avg Queue Wait Time",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "How long a job is in the queue before being picked up",
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 29
},
"id": 18,
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "histogram_quantile(0.99, sum(rate(app_operation_queue_wait_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[$__rate_interval])) by (le))",
"legendFormat": "q0.99",
"refId": "B"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "histogram_quantile(0.95, sum(rate(app_operation_queue_wait_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[$__rate_interval])) by (le))",
"legendFormat": "q0.95",
"refId": "C"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "histogram_quantile(0.5, sum(rate(app_operation_queue_wait_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[$__rate_interval])) by (le))",
"legendFormat": "q0.5",
"refId": "D"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "histogram_quantile(0.1, sum(rate(app_operation_queue_wait_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[$__rate_interval])) by (le))",
"legendFormat": "q0.1",
"refId": "E"
}
],
"title": "Queue Wait Time",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 29
},
"id": 19,
"options": {
"content": "Resource utilization monitoring for application containers",
"mode": "markdown"
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Resource Monitoring",
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 29
},
"id": 20,
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "count by (cluster, channel)(label_replace(label_replace(kube_pod_container_info{namespace=\"default\", container=\"app-worker\", pod=~\"app-worker.*\", cluster=~\"$cluster\"}, \"version\", \"$1\", \"image\", \".+:(.+)\"), \"channel\", \"$1\", \"container\", \".+-(.+)\"))",
"legendFormat": "{{cluster}}",
"refId": "A"
}
],
"title": "Running Pod(s)",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 36
},
"id": 21,
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "max(kube_pod_container_resource_requests{namespace=\"default\", resource=\"memory\", cluster=~\"$cluster\", container=\"app-worker\", pod=~\"app-worker.*\"})",
"legendFormat": "Memory Request",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "max(kube_pod_container_resource_limits{namespace=\"default\", resource=\"memory\", cluster=~\"$cluster\", container=\"app-worker\", pod=~\"app-worker.*\"})",
"legendFormat": "Memory Limit",
"refId": "B"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "max(container_memory_usage_bytes{namespace=\"default\",cluster=~\"$cluster\", container=\"app-worker\", pod=~\"app-worker.*\"}) by (pod)",
"legendFormat": "Container usage {{pod}}",
"refId": "C"
}
],
"title": "Memory Utilization",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 36
},
"id": 22,
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "sum(irate(container_cpu_usage_seconds_total{namespace=\"default\", cluster=~\"$cluster\", container=\"app-worker\", pod=~\"app-worker-.*\"}[$__rate_interval])) by (pod, container, cpu)",
"legendFormat": "Usage {{pod}}",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "sum(irate(container_cpu_cfs_throttled_seconds_total{namespace=\"default\", cluster=~\"$cluster\", container=\"app-worker\", pod=~\"app-worker-.*\"}[$__rate_interval])) by (pod, container)",
"legendFormat": "Throttling {{pod}}",
"refId": "B"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "max(kube_pod_container_resource_limits{namespace=\"default\", cluster=~\"$cluster\", container=\"app-worker\", pod=~\"app-worker-.*\", resource=\"cpu\"})",
"legendFormat": "CPU limit",
"refId": "C"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"expr": "max(kube_pod_container_resource_requests{namespace=\"default\", cluster=~\"$cluster\", container=\"app-worker\", pod=~\"app-worker-.*\", resource=\"cpu\"})",
"legendFormat": "CPU request",
"refId": "D"
}
],
"title": "CPU Utilization",
"type": "timeseries"
}
],
"refresh": "10s",
"schemaVersion": 42,
"tags": [
"as-code"
],
"templating": {
"list": [
{
"current": {
"value": "prometheus-datasource"
},
"hide": 0,
"label": "Data source",
"name": "datasource",
"options": [],
"query": "prometheus",
"refresh": 1,
"regex": "",
"type": "datasource"
},
{
"current": {
"value": "prometheus-datasource"
},
"name": "prom",
"options": [],
"query": "prometheus",
"refresh": 1,
"regex": "",
"type": "datasource"
},
{
"current": {
"value": "loki-datasource"
},
"name": "loki",
"options": [],
"query": "loki",
"refresh": 1,
"regex": "",
"type": "datasource"
},
{
"current": {
"text": "tempo-datasource",
"value": "tempo-datasource"
},
"name": "tempo",
"options": [],
"query": "tempo",
"refresh": 1,
"regex": ".*tempo.*",
"type": "datasource"
},
{
"current": {
"text": "demo-cluster",
"value": "demo-cluster"
},
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"name": "cluster",
"options": [],
"query": "label_values(app_worker_threads_active,cluster)",
"refresh": 1,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "utc",
"title": "Span Zero Demo Dashboard",
"uid": "span-zero-demo-dashboard",
"weekStart": ""
}

View File

@@ -1,309 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"maxPerRow": 3,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with minSpan 8",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 4,
"maxPerRow": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with minSpan 12",
"type": "timeseries"
},
{
"autoMigrateFrom": "singlestat",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 2,
"maxPerRow": 6,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with minSpan 4",
"type": "stat"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 4,
"x": 6,
"y": 8
},
"id": 6,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with minSpan 1",
"type": "stat"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 8,
"x": 12,
"y": 8
},
"id": 7,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel without minSpan",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 6,
"x": 18,
"y": 8
},
"id": 8,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with invalid minSpan",
"type": "text"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 24,
"x": 0,
"y": 12
},
"id": 3,
"maxPerRow": 12,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with minSpan 2",
"type": "table"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 24,
"x": 0,
"y": 18
},
"id": 5,
"maxPerRow": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with minSpan 24",
"type": "gauge"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 22
},
"id": 9,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with zero minSpan",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 6,
"x": 6,
"y": 22
},
"id": 10,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with negative minSpan",
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V17 MinSpan to MaxPerRow Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,194 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"options": {
"thresholds": [
{
"color": "red",
"value": 100
},
{
"color": "yellow",
"value": 50
},
{
"color": "green",
"value": 0
}
],
"valueOptions": {
"decimals": 2,
"prefix": "Value: ",
"stat": "last",
"suffix": " ms",
"unit": "ms"
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Complete Gauge Panel",
"type": "gauge"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"options": {
"valueOptions": {
"decimals": 1,
"unit": "percent"
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Partial Gauge Panel",
"type": "gauge"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 3,
"options": {
"valueOptions": {
"decimals": 0,
"stat": "avg",
"unit": "bytes"
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Buggy Gauge Panel",
"type": "gauge"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 4,
"options": {
"anotherProp": 42,
"customProperty": "customValue",
"thresholds": [
{
"color": "blue",
"value": 10
}
],
"valueOptions": {
"unit": "short"
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Custom Properties Gauge Panel",
"type": "gauge"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 5,
"options": {
"legend": {
"show": true,
"showLegend": true
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Non-Gauge Panel",
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V18 Gauge Options Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,191 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"links": [
{
"title": "Dashboard Link",
"url": "dashboard/db/my-dashboard?$__url_time_range"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with legacy dashboard link",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"links": [
{
"title": "DashUri Link",
"url": "dashboard/my-dashboard-uid?$__all_variables"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with dashUri link",
"type": "stat"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 3,
"links": [
{
"title": "Custom Params Link",
"url": "http://example.com?customParam=value"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with custom params",
"type": "table"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 4,
"links": [
{
"targetBlank": true,
"title": "Complex Link",
"url": "dashboard/db/complex-dashboard?$__url_time_range\u0026$__all_variables\u0026param1=value1\u0026param2=value2"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with complex link",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 5,
"links": [
{
"title": "Existing URL Link",
"url": "http://existing-url.com"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with existing URL",
"type": "gauge"
},
{
"autoMigrateFrom": "singlestat",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 6,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with no links",
"type": "stat"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V19 Panel Links Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,168 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graphite",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"grid": {
"max": 100,
"min": 0
},
"id": 1,
"legend": true,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A",
"target": "cpu.usage"
}
],
"title": "CPU Usage",
"type": "timeseries",
"y2_format": "short",
"y_format": "percent"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"grid": {
"min": 0
},
"id": 2,
"legend": false,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A",
"target": "memory.usage"
}
],
"title": "Memory Usage",
"type": "timeseries",
"y_format": "bytes"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"grid": {
"max": 100,
"min": 0
},
"id": 3,
"legend": true,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Server Stats",
"type": "table",
"y2_format": "bytes",
"y_format": "short"
},
{
"autoMigrateFrom": "graphite",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 4,
"legend": true,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A",
"target": "disk.io"
}
],
"title": "Disk I/O",
"type": "timeseries",
"y2_format": "Bps"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "server",
"options": [],
"query": "label_values(server)",
"refresh": 1,
"type": "query"
},
{
"name": "env",
"options": [
{
"text": "Production",
"value": "prod"
},
{
"text": "Staging",
"value": "stage"
}
],
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V2 Comprehensive Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,249 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"dataLinks": [
{
"targetBlank": true,
"title": "Link with series name",
"url": "http://example.com?series=${__series.name}\u0026timestamp=__value.time"
},
{
"targetBlank": false,
"title": "Link with field name",
"url": "http://grafana.com/dashboard?field=__field.name\u0026series=${__series.name}"
}
]
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with data links using legacy variable syntax",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"fieldOptions": {
"defaults": {
"links": [
{
"targetBlank": true,
"title": "Field link",
"url": "http://monitoring.com?field=${__field.name}\u0026series=__series.name"
},
{
"targetBlank": false,
"title": "Time-based link",
"url": "http://logs.com?time=__value.time\u0026field=__field.name"
}
],
"title": "Series: __series.name, Field: ${__field.name}, Time: __value.time"
}
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with field options using legacy variable syntax",
"type": "stat"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"dataLinks": [
{
"targetBlank": true,
"title": "Combined link",
"url": "http://combined.com?series=${__series.name}\u0026field=${__field.name}\u0026time=__value.time"
}
],
"fieldOptions": {
"defaults": {
"links": [
{
"targetBlank": false,
"title": "Comprehensive link",
"url": "http://comprehensive.com?s=${__series.name}\u0026f=__field.name\u0026t=__value.time"
}
],
"title": "Complete: __series.name / __field.name / __value.time"
}
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with both data links and field options",
"type": "gauge"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 16
},
"id": 4,
"options": {
"dataLinks": [
{
"targetBlank": true,
"title": "Modern link",
"url": "http://modern.com?series=${__series.name}\u0026field=${__field.name}\u0026time=${__value.time}"
}
],
"fieldOptions": {
"defaults": {
"links": [
{
"targetBlank": false,
"title": "Modern field link",
"url": "http://modern-field.com?s=${__series.name}\u0026f=${__field.name}"
}
],
"title": "Modern: ${__series.name} / ${__field.name} / ${__value.time}"
}
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with no legacy variables (should remain unchanged)",
"type": "table"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 16
},
"id": 5,
"options": {
"content": "This panel has no data links or field options to migrate."
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with no data links or field options",
"type": "text"
}
],
"refresh": "5s",
"schemaVersion": 42,
"tags": [
"migration-test"
],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V20 Variable Syntax Migration Test Dashboard",
"uid": "v20-migration-test",
"weekStart": ""
}

View File

@@ -1,193 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"options": {
"dataLinks": [
{
"title": "Data Link 1",
"url": "http://mylink.com?series=${__field.labels}\u0026${__field.labels.a}"
},
{
"title": "Data Link 2",
"url": "http://anotherlink.com?param=${__field.labels}"
}
]
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with data links",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"options": {
"fieldOptions": {
"defaults": {
"links": [
{
"title": "Field Link 1",
"url": "http://mylink.com?series=${__field.labels}\u0026${__field.labels.x}"
},
{
"title": "Field Link 2",
"url": "http://fieldlink.com?field=${__field.labels}"
}
]
}
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with field options links",
"type": "stat"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 3,
"options": {
"dataLinks": [
{
"title": "Graph Data Link",
"url": "http://mylink.com?series=${__field.labels}"
}
],
"fieldOptions": {
"defaults": {
"links": [
{
"title": "Graph Field Link",
"url": "http://mylink.com?field=${__field.labels}"
}
]
}
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with both link types",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 4,
"options": {
"dataLinks": [
{
"title": "No Series Labels Link",
"url": "http://mylink.com?other=${__field.labels}"
}
]
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel without series labels",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 5,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel without options",
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V21 Data Links Series to Field Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,70 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"styles": [
{
"align": "auto",
"pattern": "Time",
"type": "number"
},
{
"align": "auto",
"pattern": "Value",
"type": "string"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "table"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V22 Table Panel Styles Test",
"weekStart": ""
}

View File

@@ -1,202 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"expr": "up",
"refId": "A"
}
],
"title": "Test Panel",
"type": "stat"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": [
"A"
],
"value": [
"A"
]
},
"datasource": "prometheus",
"multi": true,
"name": "multi_single_value",
"options": [],
"refresh": 1,
"type": "query"
},
{
"current": {
"selected": true,
"text": [
"B",
"C"
],
"value": [
"B",
"C"
]
},
"datasource": "prometheus",
"multi": true,
"name": "multi_array_value",
"options": [],
"refresh": 1,
"type": "query"
},
{
"current": {
"selected": true,
"text": "D",
"value": "D"
},
"datasource": "prometheus",
"multi": false,
"name": "non_multi_array_value",
"options": [],
"refresh": 1,
"type": "query"
},
{
"current": {
"selected": true,
"text": "E",
"value": "E"
},
"datasource": "prometheus",
"multi": false,
"name": "non_multi_single_value",
"options": [],
"refresh": 1,
"type": "query"
},
{
"current": {
"selected": true,
"text": "F",
"value": "F"
},
"datasource": "prometheus",
"name": "no_multi_property",
"options": [],
"refresh": 1,
"type": "query"
},
{
"current": {},
"datasource": "prometheus",
"multi": true,
"name": "empty_current",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"multi": true,
"name": "nil_current",
"options": [],
"refresh": 1,
"type": "query"
},
{
"current": {
"selected": true,
"text": [
"G"
],
"value": [
"G"
]
},
"multi": true,
"name": "custom_variable",
"type": "custom"
},
{
"current": {
"selected": true,
"text": "H",
"value": "H"
},
"multi": false,
"name": "textbox_variable",
"type": "textbox"
},
{
"current": {
"selected": true,
"text": [
"Prometheus",
"InfluxDB"
],
"value": [
"prometheus",
"influxdb"
]
},
"multi": true,
"name": "datasource_variable",
"options": [],
"type": "datasource"
},
{
"current": {
"selected": true,
"text": "1m",
"value": "1m"
},
"multi": false,
"name": "interval_variable",
"type": "interval"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V23 Multi Variables Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,691 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests basic migration with default style pattern (/.*/) containing thresholds and colors. Should convert styles to fieldConfig.defaults with threshold steps.",
"id": 1,
"legend": true,
"styles": [
{
"colors": [
"red",
"yellow",
"green"
],
"pattern": "/.*/",
"thresholds": [
"10",
"20",
"30"
]
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "B"
}
],
"title": "Basic Angular Table with Defaults",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests comprehensive migration including: default style with thresholds/colors/unit/decimals/align/colorMode, column overrides with exact name and regex patterns, date formatting, hidden columns, and links with tooltips.",
"id": 2,
"styles": [
{
"align": "center",
"colorMode": "cell",
"colors": [
"green",
"yellow",
"red"
],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [
"100",
"500"
],
"unit": "bytes"
},
{
"alias": "Current Status",
"align": "left",
"colorMode": "value",
"decimals": 0,
"pattern": "Status",
"unit": "short"
},
{
"colorMode": "row",
"link": true,
"linkTargetBlank": true,
"linkTooltip": "View error details",
"linkUrl": "http://example.com/errors",
"pattern": "/Error.*/"
},
{
"alias": "Timestamp",
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "Time",
"type": "date"
},
{
"pattern": "Hidden",
"type": "hidden"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Complex Table with All Style Features",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"columns": [
{
"text": "Average",
"value": "avg"
},
{
"text": "Maximum",
"value": "max"
},
{
"text": "Minimum",
"value": "min"
},
{
"text": "Total",
"value": "total"
},
{
"text": "Current",
"value": "current"
},
{
"text": "Count",
"value": "count"
}
],
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests migration of timeseries_aggregations transform to reduce transformation with column mappings (avg-\u003emean, max-\u003emax, min-\u003emin, total-\u003esum, current-\u003elastNotNull, count-\u003ecount).",
"id": 3,
"styles": [
{
"decimals": 1,
"pattern": "/.*/",
"unit": "percent"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Table with Timeseries Aggregations Transform",
"transform": "timeseries_aggregations",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests migration of timeseries_to_rows transform to seriesToRows transformation.",
"id": 4,
"styles": [
{
"pattern": "/.*/",
"unit": "short"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Table with Timeseries to Rows Transform",
"transform": "timeseries_to_rows",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests migration of timeseries_to_columns transform to seriesToColumns transformation.",
"id": 5,
"styles": [
{
"pattern": "/.*/",
"unit": "bytes"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Table with Timeseries to Columns Transform",
"transform": "timeseries_to_columns",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests migration of table transform to merge transformation. Also tests auto alignment conversion to empty string.",
"id": 6,
"styles": [
{
"align": "auto",
"pattern": "/.*/"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Table with Merge Transform",
"transform": "table",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests that existing transformations are preserved and new transformation from old format is appended to the list.",
"id": 7,
"styles": [
{
"pattern": "/.*/",
"unit": "short"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Table with Existing Transformations",
"transform": "timeseries_to_rows",
"transformations": [
{
"id": "filterFieldsByName",
"options": {
"include": {
"names": [
"field1",
"field2"
]
}
}
}
],
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests handling of mixed numeric and string threshold values (int, string, float) with proper type conversion.",
"id": 8,
"styles": [
{
"colors": [
"green",
"yellow",
"orange",
"red"
],
"pattern": "/.*/",
"thresholds": [
10,
"20",
30.5
]
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Mixed Threshold Types",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests all color mode mappings: cell-\u003ecolor-background, row-\u003ecolor-background, value-\u003ecolor-text.",
"id": 9,
"styles": [
{
"colorMode": "cell",
"pattern": "/.*/"
},
{
"colorMode": "cell",
"pattern": "CellColumn"
},
{
"colorMode": "row",
"pattern": "RowColumn"
},
{
"colorMode": "value",
"pattern": "ValueColumn"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "All Color Modes Test",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests all alignment options: left, center, right, and auto (should convert to empty string).",
"id": 10,
"styles": [
{
"align": "center",
"pattern": "/.*/"
},
{
"align": "left",
"pattern": "LeftColumn"
},
{
"align": "right",
"pattern": "RightColumn"
},
{
"align": "auto",
"pattern": "AutoColumn"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "All Alignment Options",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests both field matcher types: byName for exact matches and byRegexp for regex patterns.",
"id": 11,
"styles": [
{
"pattern": "/.*/",
"unit": "short"
},
{
"alias": "Exact Match",
"pattern": "ExactColumnName"
},
{
"alias": "Regex Match",
"pattern": "/Regex.*Pattern/"
},
{
"alias": "Start Pattern",
"pattern": "/^Start/"
},
{
"alias": "End Pattern",
"pattern": "/End$/"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Field Matcher Types Test",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests various link configurations: with and without tooltip, with and without target blank.",
"id": 12,
"styles": [
{
"pattern": "/.*/",
"unit": "short"
},
{
"link": true,
"linkTargetBlank": true,
"linkTooltip": "Click to view details",
"linkUrl": "http://example.com/with-tooltip",
"pattern": "LinkWithTooltip"
},
{
"link": true,
"linkTargetBlank": false,
"linkUrl": "http://example.com/no-tooltip",
"pattern": "LinkWithoutTooltip"
},
{
"link": true,
"linkUrl": "http://example.com/minimal",
"pattern": "LinkMinimal"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Link Configuration Test",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests various date format patterns and aliases.",
"id": 13,
"styles": [
{
"pattern": "/.*/",
"unit": "short"
},
{
"alias": "ISO Date",
"dateFormat": "YYYY-MM-DD",
"pattern": "DateISO",
"type": "date"
},
{
"alias": "Full DateTime",
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "DateTime",
"type": "date"
},
{
"alias": "Time Only",
"dateFormat": "HH:mm:ss",
"pattern": "TimeOnly",
"type": "date"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Date Format Variations",
"type": "table"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "React table (table2) should not be migrated. Properties should remain unchanged.",
"id": 14,
"styles": [
{
"colors": [
"red",
"yellow",
"green"
],
"pattern": "/.*/",
"thresholds": [
"10",
"20"
],
"unit": "short"
}
],
"table": "table2",
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "React Table - Should NOT Migrate",
"type": "table"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Angular table without styles property should not be migrated.",
"id": 15,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Angular Table without Styles - Should NOT Migrate",
"type": "table"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Non-table panels should remain completely unchanged.",
"id": 16,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Non-Table Panel - Should NOT Migrate",
"type": "timeseries"
},
{
"autoMigrateFrom": "singlestat",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Other panel types should not be affected by table migration.",
"id": 17,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Singlestat Panel - Should NOT Migrate",
"type": "stat"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "No Title",
"weekStart": ""
}

View File

@@ -1,112 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
},
{
"datasource": {
"uid": "grafana"
},
"enable": true,
"name": "Deployments"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with transformations remains unchanged",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Graph",
"type": "timeseries",
"yAxes": [
{
"show": true
}
]
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "tags should not be removed",
"options": [],
"refresh": 1,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V25 No-Op Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,104 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Text2 Panel",
"type": "text"
},
{
"content": "# Angular Text Panel\n# $constant\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)\n\n## $text\n\n",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"mode": "markdown",
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Angular Text Panel",
"type": "text"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 3,
"options": {
"content": "# React Text Panel from Angular Panel\n# $constant\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)\n\n## $text\n\n",
"mode": "markdown"
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "React Text Panel from Angular Panel",
"type": "text"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "No Title",
"weekStart": ""
}

View File

@@ -1,106 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Normal Panel",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 4,
"panels": [
{
"autoMigrateFrom": "graph",
"id": 6,
"title": "Normal nested panel",
"type": "timeseries"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Row with repeated panels",
"type": "row"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": "default_value",
"value": "default_value"
},
"hide": 0,
"name": "constant_var",
"options": [
{
"selected": true,
"text": "default_value",
"value": "default_value"
}
],
"query": "default_value",
"type": "textbox"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V27 Repeated Panels and Constant Variable Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,84 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "query_variable_with_tags",
"options": [],
"query": "label_values(up, instance)",
"refresh": 1,
"type": "query"
},
{
"name": "custom_variable_with_tags",
"options": [
{
"text": "Option 1",
"value": "opt1"
},
{
"text": "Option 2",
"value": "opt2"
}
],
"type": "custom",
"useTags": false
},
{
"name": "clean_variable",
"options": [
{
"text": "Hello",
"value": "World"
}
],
"type": "textbox"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V28 Singlestat and Variable Properties Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,241 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "singlestat",
"colors": [
"#FF0000",
"green",
"orange"
],
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"grid": {
"max": 10,
"min": 1
},
"id": 1,
"legend": true,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "B"
}
],
"thresholds": "10,20,30",
"type": "stat"
},
{
"autoMigrateFrom": "singlestat",
"colors": [
"#FF0000",
"green",
"orange"
],
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gauge": {
"show": true,
"thresholdLabels": false,
"thresholdMarkers": true
},
"grid": {
"max": 10,
"min": 1
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"thresholds": "10,20,30",
"type": "stat"
},
{
"autoMigrateFrom": "singlestat",
"colors": [
"#FF0000",
"green",
"orange"
],
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"grid": {
"max": 10,
"min": 1
},
"id": 3,
"legend": true,
"mappingTypes": [
{
"name": "value to text",
"value": 1
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "B"
}
],
"thresholds": "10,20,30",
"type": "stat",
"valueMaps": [
{
"op": "=",
"text": "test",
"value": "20"
},
{
"op": "=",
"text": "test1",
"value": "30"
},
{
"op": "=",
"text": "50",
"value": "40"
}
]
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 4,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"expr": "rate(http_requests_total[5m])",
"refId": "A"
}
],
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "query_variable_with_tags",
"options": [],
"query": "label_values(up, instance)",
"refresh": 1,
"type": "query"
},
{
"name": "custom_variable_with_tags",
"options": [
{
"text": "Option 1",
"value": "opt1"
},
{
"text": "Option 2",
"value": "opt2"
}
],
"type": "custom",
"useTags": false
},
{
"name": "clean_variable",
"options": [
{
"text": "Hello",
"value": "World"
}
],
"type": "textbox"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V28 Singlestat and Variable Properties Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,429 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "singlestat",
"colors": [
"#FF0000",
"green",
"orange"
],
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"grid": {
"max": 10,
"min": 1
},
"id": 1,
"legend": true,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "B"
}
],
"thresholds": "10,20,30",
"type": "stat"
},
{
"autoMigrateFrom": "singlestat",
"colors": [
"#FF0000",
"green",
"orange"
],
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"grid": {
"max": 10,
"min": 1
},
"id": 2,
"legend": true,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "B"
}
],
"thresholds": "",
"type": "stat"
},
{
"autoMigrateFrom": "singlestat",
"colors": [
"#FF0000",
"green",
"orange"
],
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gauge": {
"show": true,
"thresholdLabels": false,
"thresholdMarkers": true
},
"grid": {
"max": 10,
"min": 1
},
"id": 3,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"thresholds": "10,20,30",
"type": "stat"
},
{
"autoMigrateFrom": "singlestat",
"colors": [
"#FF0000",
"green",
"orange"
],
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"grid": {
"max": 10,
"min": 1
},
"id": 4,
"legend": true,
"mappingTypes": [
{
"name": "value to text",
"value": 1
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "B"
}
],
"thresholds": "10,20,30",
"type": "stat",
"valueMaps": [
{
"op": "=",
"text": "test",
"value": "20"
},
{
"op": "=",
"text": "test1",
"value": "30"
},
{
"op": "=",
"text": "50",
"value": "40"
}
]
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 8,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"expr": "rate(http_requests_total[5m])",
"refId": "A"
}
],
"type": "timeseries"
},
{
"autoMigrateFrom": "grafana-singlestat-panel",
"colorBackground": false,
"colorValue": true,
"colors": [
"#299c46",
"rgba(237, 129, 40, 0.89)",
"#d44a3a"
],
"datasource": {
"type": "prometheus"
},
"format": "areaF2",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 43
},
"id": 5,
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"postfix": "b",
"postfixFontSize": "50%",
"prefix": "a",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "rgb(31, 120, 193)",
"show": true
},
"tableColumn": "",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "PD8C576611E62080A"
},
"refId": "A"
}
],
"thresholds": "",
"title": "grafana-singlestat-panel",
"type": "stat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "avg"
},
{
"datasource": {
"type": "prometheus"
},
"fieldConfig": {
"defaults": {
"mappings": [
{
"options": {
"match": "null",
"result": {
"text": "N/A"
}
},
"type": "special"
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
},
"unit": "ms"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 8,
"y": 43
},
"id": 6,
"maxDataPoints": 100,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "horizontal",
"reduceOptions": {
"calcs": [
"mean"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "1.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "PD8C576611E62080A"
},
"refId": "A"
}
],
"title": "singlestat (old, internal. Migrated if schema \u003c 28)",
"type": "stat"
},
{
"datasource": {
"type": "prometheus"
},
"gridPos": {
"h": 8,
"w": 8,
"x": 16,
"y": 43
},
"id": 7,
"options": {
"code": {
"language": "plaintext",
"showLineNumbers": false,
"showMiniMap": false
},
"content": "# Singlestat \u003e\u003e Stat\n\nKnown issues:\n* limited options",
"mode": "markdown"
},
"pluginVersion": "1.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "PD8C576611E62080A"
},
"refId": "A"
}
],
"title": "Status + Notes",
"type": "text"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V28 Singlestat and Variable Properties Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,174 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"uid": "prometheus"
},
"id": 1,
"targets": [
{
"datasource": {
"uid": "prometheus"
},
"expr": "up",
"refId": "A"
}
],
"title": "Test Panel",
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "never_refresh_with_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"name": "never_refresh_without_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"name": "dashboard_refresh_with_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"name": "dashboard_refresh_without_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"name": "timerange_refresh_with_options",
"options": [],
"refresh": 2,
"type": "query"
},
{
"datasource": "prometheus",
"name": "timerange_refresh_without_options",
"options": [],
"refresh": 2,
"type": "query"
},
{
"datasource": "prometheus",
"name": "no_refresh_with_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"name": "no_refresh_without_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"name": "unknown_refresh_with_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"name": "unknown_refresh_without_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"name": "custom_variable",
"options": [
{
"text": "custom",
"value": "custom"
}
],
"type": "custom"
},
{
"name": "textbox_variable",
"options": [
{
"text": "Hello",
"value": "World"
}
],
"type": "textbox"
},
{
"name": "datasource_variable",
"options": [],
"type": "datasource"
},
{
"name": "interval_variable",
"options": [
{
"text": "1m",
"value": "1m"
}
],
"type": "interval"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V29 Query Variables Refresh and Options Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,114 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 3,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "barchart"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 4,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "barchart"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V3 No-Op Migration - but tests ensuring panel IDs are unique",
"weekStart": ""
}

View File

@@ -1,387 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"mappings": [
{
"options": {
"0": {
"text": "Down"
},
"1": {
"text": "Up"
}
},
"type": "value"
},
{
"options": {
"from": 10,
"result": {
"text": "Medium"
},
"to": 20
},
"type": "range"
},
{
"options": {
"match": "null",
"result": {
"text": "Null Value"
}
},
"type": "special"
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "test-field"
},
"properties": [
{
"id": "mappings",
"value": [
{
"options": {
"1": {
"text": "Override Up"
}
},
"type": "value"
}
]
}
]
}
]
},
"id": 1,
"options": {
"tooltip": {
"mode": "multi"
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with legacy value mappings and tooltip options",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"options": {
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "XY Chart with tooltip options only",
"type": "xychart"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 3,
"options": {
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "XY Chart2 with tooltip options",
"type": "xychart2"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 4,
"options": {
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Graph panel gets migrated to timeseries and tooltip",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"mappings": [
{
"options": {
"100": {
"text": "Critical"
}
},
"type": "value"
},
{
"options": {
"from": 50,
"result": {
"text": "Warning"
},
"to": 99
},
"type": "range"
},
{
"options": {
"from": 0,
"result": {
"text": "OK"
},
"to": 49
},
"type": "range"
}
]
},
"overrides": []
},
"id": 5,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with complex value mappings",
"type": "stat"
},
{
"collapsed": true,
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 6,
"panels": [
{
"fieldConfig": {
"defaults": {
"mappings": [
{
"options": {
"0": {
"text": "Off"
},
"1": {
"text": "On"
}
},
"type": "value"
}
]
}
},
"id": 7,
"options": {
"tooltip": {
"mode": "multi"
}
},
"title": "Nested panel with both migrations",
"type": "timeseries"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Collapsed Row with nested panels",
"type": "row"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"unit": "bytes"
},
"overrides": []
},
"id": 8,
"options": {
"legend": {
"displayMode": "list",
"showLegend": true
}
},
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with no relevant configurations",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"mappings": []
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "empty-field"
},
"properties": [
{
"id": "mappings",
"value": []
}
]
}
]
},
"id": 9,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with empty mappings array - should return null",
"type": "stat"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V30 Value Mappings and Tooltip Options Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,291 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with basic labelsToFields transformation",
"transformations": [
{
"id": "labelsToFields",
"options": {}
},
{
"id": "merge",
"options": {}
}
],
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 9,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with labelsToFields options preserved",
"transformations": [
{
"id": "labelsToFields",
"options": {
"keepLabels": [
"job",
"instance",
"region"
],
"mode": "rows",
"valueLabel": "value"
}
},
{
"id": "merge",
"options": {}
}
],
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with multiple labelsToFields transformations",
"transformations": [
{
"id": "organize",
"options": {}
},
{
"id": "labelsToFields",
"options": {}
},
{
"id": "merge",
"options": {}
},
{
"id": "calculateField",
"options": {}
},
{
"id": "labelsToFields",
"options": {
"mode": "rows"
}
},
{
"id": "merge",
"options": {}
}
],
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 3,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with no transformations",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 4,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with other transformations only",
"transformations": [
{
"id": "organize",
"options": {}
},
{
"id": "reduce",
"options": {}
}
],
"type": "timeseries"
},
{
"collapsed": false,
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 5,
"panels": [
{
"id": 6,
"title": "Nested panel with labelsToFields",
"transformations": [
{
"id": "labelsToFields",
"options": {}
},
{
"id": "merge",
"options": {}
}
],
"type": "timeseries"
},
{
"id": 7,
"title": "Nested panel without labelsToFields",
"transformations": [
{
"id": "organize",
"options": {}
}
],
"type": "timeseries"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Row with nested panels",
"type": "row"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 8,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with labelsToFields and existing merge",
"transformations": [
{
"id": "labelsToFields",
"options": {}
},
{
"id": "merge",
"options": {}
},
{
"id": "merge",
"options": {}
},
{
"id": "reduce",
"options": {}
}
],
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V31 LabelsToFields Merge Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,160 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
},
{
"datasource": {
"uid": "grafana"
},
"enable": true,
"name": "Deployments"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with transformations remains unchanged",
"transformations": [
{
"id": "labelsToFields",
"options": {
"keepLabels": [
"job",
"instance"
],
"mode": "rows"
}
},
{
"id": "merge",
"options": {}
}
],
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Graph panel remains unchanged",
"type": "timeseries",
"yAxes": [
{
"show": true
}
]
},
{
"collapsed": false,
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 3,
"panels": [
{
"fieldConfig": {
"defaults": {
"unit": "bytes"
}
},
"id": 4,
"title": "Nested stat panel",
"type": "stat"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Row with nested panels",
"type": "row"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "environment",
"options": [],
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V32 No-Op Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,294 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Tests v33 migration behavior when panel datasource is explicitly null. Should remain null after migration (returnDefaultAsNull: true).",
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Target with UID reference should migrate to full object",
"refId": "A"
}
],
"title": "Panel Datasource: null → should stay null",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "existing-ref-uid"
},
"description": "Tests v33 migration behavior when panel datasource is already a proper object reference. Should remain unchanged.",
"id": 2,
"targets": [
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Target with existing object should remain unchanged",
"refId": "A"
}
],
"title": "Panel Datasource: existing object → should stay unchanged",
"type": "stat"
},
{
"datasource": {
"apiVersion": "v1",
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Tests v33 migration when panel datasource is a string name. Should convert to proper object with uid, type, apiVersion.",
"id": 3,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"refId": "A"
}
],
"title": "Panel Datasource: string name → should migrate to object",
"type": "table"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests v33 migration when panel has datasource string but empty targets array. Panel datasource should still migrate.",
"id": 4,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel Datasource: string name with empty targets → should migrate",
"type": "table"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Tests v33 target migration with various edge cases: null target (unchanged), valid string (migrated), non-existing string (preserved), missing datasource field (unchanged).",
"id": 5,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Null target datasource should remain null",
"refId": "A"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Valid string should migrate to object",
"refId": "B"
},
{
"datasource": {
"uid": "non-existing-ds"
},
"description": "Non-existing datasource should be preserved as-is (migration returns nil)",
"refId": "C"
},
{
"datasource": {
"apiVersion": "v1",
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Target without datasource field should remain unchanged",
"refId": "D"
}
],
"title": "Target Datasources: mixed null/string/non-existing scenarios",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests v33 migration when panel datasource is null but targets have mixed reference types (object, string). Panel should stay null, targets should migrate appropriately.",
"id": 6,
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "existing-ref"
},
"description": "Existing object target should remain unchanged",
"refId": "A"
},
{
"datasource": {
"apiVersion": "v1",
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "String target should migrate to object",
"refId": "B"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Default datasource string should migrate to object",
"refId": "C"
}
],
"title": "Panel: null datasource with mixed target types",
"type": "timeseries"
},
{
"datasource": {},
"description": "Tests v33 migration behavior with empty string datasource. Should migrate to empty object {} based on MigrateDatasourceNameToRef logic.",
"id": 7,
"targets": [
{
"datasource": {},
"description": "Empty string target should also migrate to empty object {}",
"refId": "A"
}
],
"title": "Empty string datasource → should return empty object {}",
"type": "stat"
},
{
"datasource": {
"uid": "completely-missing-ds"
},
"description": "Tests v33 migration with completely unknown datasource names. Since migration returns nil for unknown datasources, they should be preserved unchanged.",
"id": 8,
"targets": [
{
"datasource": {
"uid": "also-missing-ds"
},
"description": "Unknown target datasource should remain unchanged (migration returns nil)",
"refId": "A"
},
{
"datasource": {
"uid": "completely-missing-ds"
},
"description": "Empty string target should migrate to {}",
"refId": "B"
}
],
"title": "Non-existing datasources → should be preserved as-is",
"type": "table"
},
{
"collapsed": true,
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests v33 migration handles nested panels within collapsed rows. Nested panel datasources should migrate same as top-level panels.",
"id": 9,
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Nested panel with string datasource should migrate to proper object reference, proving row panel recursion works.",
"id": 10,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Nested target should also migrate from string to object",
"refId": "A"
}
],
"title": "Nested Panel: string datasource → should migrate to object",
"type": "timeseries"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Row Panel: nested panels should also migrate",
"type": "row"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V33 Panel Datasource Name to Ref Test",
"weekStart": ""
}

View File

@@ -1,295 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {
"axisPlacement": "hidden"
}
},
"overrides": [
{
"matcher": {
"id": "byType",
"options": "time"
},
"properties": [
{
"id": "custom.axisPlacement",
"value": "auto"
}
]
}
]
},
"id": 6,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Timeseries with Hidden Axis",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {
"axisPlacement": "hidden"
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Series A"
},
"properties": [
{
"id": "color.mode",
"value": "palette-classic"
}
]
},
{
"matcher": {
"id": "byType",
"options": "time"
},
"properties": [
{
"id": "custom.axisPlacement",
"value": "auto"
}
]
}
]
},
"id": 7,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Timeseries with Hidden Axis and Existing Overrides",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {
"axisPlacement": "auto"
}
},
"overrides": []
},
"id": 8,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Timeseries with Auto Axis (No Change Expected)",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {
"axisPlacement": "hidden"
}
},
"overrides": []
},
"id": 9,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Stat Panel with Hidden Axis (No Change Expected)",
"type": "stat"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 5,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Timeseries with Missing FieldConfig",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 10,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Timeseries with Missing Defaults",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"unit": "bytes"
},
"overrides": []
},
"id": 11,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Timeseries with Missing Custom Config",
"type": "timeseries"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {
"axisPlacement": "hidden"
}
},
"overrides": [
{
"matcher": {
"id": "byType",
"options": "time"
},
"properties": [
{
"id": "custom.axisPlacement",
"value": "auto"
}
]
}
]
},
"id": 12,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Timeseries with Missing Overrides Array",
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "X-Axis Visibility Test Dashboard",
"weekStart": ""
}

View File

@@ -1,414 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"name": "Default Annotation - Tests default datasource migration"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"name": "Named Datasource Annotation - Tests migration by datasource name"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"name": "UID Datasource Annotation - Tests migration by datasource UID"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"name": "Null Datasource Annotation - Tests null datasource fallback to default"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "unknown-datasource-name"
},
"name": "Unknown Datasource Annotation - Tests unknown datasource preserved as UID"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests null panel datasource migration with targets - should fallback to default",
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with Null Datasource and Targets"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests null panel datasource with empty targets array - should create default target",
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with Null Datasource and Empty Targets"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests null panel datasource with missing targets - should create default target array",
"id": 3,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with No Targets Array"
},
{
"datasource": {
"uid": "-- Mixed --"
},
"description": "Tests mixed datasource panel - targets should migrate independently",
"id": 4,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "B"
}
],
"title": "Panel with Mixed Datasources"
},
{
"datasource": {
"type": "prometheus",
"uid": "existing-ref-uid"
},
"description": "Tests panel with already migrated datasource object - should preserve existing refs",
"id": 5,
"targets": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "A"
}
],
"title": "Panel with Existing Object Datasource"
},
{
"datasource": {
"uid": "unknown-panel-datasource"
},
"description": "Tests panel with unknown datasource - should preserve as UID-only reference",
"id": 6,
"targets": [
{
"datasource": {
"uid": "unknown-target-datasource"
},
"refId": "A"
}
],
"title": "Panel with Unknown Datasource Name"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel with expression query - should not inherit expression as panel datasource",
"id": 7,
"targets": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "A"
},
{
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"refId": "B"
}
],
"title": "Panel with Expression Query"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel inheriting datasource from target when panel datasource was default",
"id": 8,
"targets": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "A"
}
],
"title": "Panel Inheriting from Target"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel with datasource referenced by name - should migrate to full object",
"id": 9,
"targets": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "A"
}
],
"title": "Panel with Named Datasource"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel with datasource referenced by UID - should migrate to full object",
"id": 10,
"targets": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "A"
}
],
"title": "Panel with UID Datasource"
},
{
"collapsed": false,
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests row panel - it gets datasource or targets fields added even it is not needed, but this is how it works in frontend",
"id": 11,
"panels": [],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Simple Row Panel",
"type": "row"
},
{
"collapsed": true,
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests collapsed row with nested panels - nested panels should migrate",
"id": 12,
"panels": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Nested panel in collapsed row with default datasource",
"id": 13,
"targets": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "A"
}
],
"title": "Nested Panel with Default Datasource"
},
{
"datasource": {
"uid": "unknown-nested-datasource"
},
"description": "Nested panel in collapsed row with unknown datasource",
"id": 14,
"targets": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "A"
}
],
"title": "Nested Panel with Unknown Datasource"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Collapsed Row with Nested Panels",
"type": "row"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"name": "query_var_null",
"options": [],
"type": "query"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"name": "query_var_named",
"options": [],
"type": "query"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"name": "query_var_uid",
"options": [],
"type": "query"
},
{
"datasource": {
"uid": "unknown-datasource"
},
"name": "query_var_unknown",
"options": [],
"type": "query"
},
{
"name": "non_query_var",
"type": "constant"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Datasource Reference Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,161 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"id": 1,
"options": {
"legend": true
},
"title": "Panel with Boolean Legend True",
"type": "timeseries"
},
{
"id": 2,
"options": {
"legend": false
},
"title": "Panel with Boolean Legend False",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"id": 3,
"options": {
"legend": {
"displayMode": "list",
"showLegend": false
}
},
"title": "Panel with Hidden DisplayMode",
"type": "timeseries"
},
{
"id": 4,
"options": {
"legend": {
"displayMode": "list",
"showLegend": false
}
},
"title": "Panel with ShowLegend False",
"type": "stat"
},
{
"id": 5,
"options": {
"legend": {
"displayMode": "table",
"placement": "bottom",
"showLegend": true
}
},
"title": "Panel with Table Legend",
"type": "barchart"
},
{
"id": 6,
"options": {
"legend": {
"displayMode": "list",
"placement": "right",
"showLegend": true
}
},
"title": "Panel with List Legend",
"type": "histogram"
},
{
"id": 7,
"title": "Panel with No Options",
"type": "text"
},
{
"id": 8,
"options": {
"reduceOptions": {
"fields": "/.*temperature.*/"
}
},
"title": "Panel with No Legend Config",
"type": "gauge"
},
{
"id": 9,
"options": {},
"title": "Panel with Null Legend",
"type": "piechart"
},
{
"collapsed": false,
"id": 10,
"panels": [
{
"id": 11,
"options": {
"legend": true
},
"title": "Nested Panel with Boolean Legend",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"id": 12,
"options": {
"legend": {
"displayMode": "list",
"showLegend": false
}
},
"title": "Nested Panel with Hidden DisplayMode",
"type": "timeseries"
},
{
"id": 13,
"options": {
"legend": {
"displayMode": "list",
"showLegend": false
}
},
"title": "Nested Panel with Conflicting Properties",
"type": "stat"
}
],
"title": "Row with Nested Panels Having Various Legend Configs",
"type": "row"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V37 Legend Normalization Test Dashboard",
"weekStart": ""
}

View File

@@ -1,255 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 1,
"title": "Table with Basic Gauge",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "gradient",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 2,
"title": "Table with Gradient Gauge",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "lcd",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 3,
"title": "Table with LCD Gauge",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "gradient",
"type": "color-background"
}
}
},
"overrides": []
},
"id": 4,
"title": "Table with Color Background",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "color-background"
}
}
},
"overrides": []
},
"id": 5,
"title": "Table with Color Background Solid",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"type": "some-other-mode"
}
}
},
"overrides": []
},
"id": 6,
"title": "Table with Unknown Mode",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"width": 100
}
},
"overrides": []
},
"id": 7,
"title": "Table with No Display Mode",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "gauge"
}
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Field1"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"mode": "gradient",
"type": "gauge"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "Field2"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"mode": "gradient",
"type": "color-background"
}
}
]
}
]
},
"id": 8,
"title": "Table with Overrides",
"type": "table"
},
{
"autoMigrateFrom": "graph",
"id": 9,
"title": "Non-table Panel (Should Remain Unchanged)",
"type": "timeseries"
},
{
"collapsed": false,
"id": 10,
"panels": [
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 11,
"title": "Nested Table with Basic Mode",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "gradient",
"type": "gauge"
}
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "NestedField"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"mode": "lcd",
"type": "gauge"
}
}
]
}
]
},
"id": 12,
"title": "Nested Table with Gradient Gauge",
"type": "table"
}
],
"title": "Row with Nested Table Panels",
"type": "row"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V38 Table Migration Comprehensive Test Dashboard",
"weekStart": ""
}

View File

@@ -1,255 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 1,
"title": "Table with Basic Gauge",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "gradient",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 2,
"title": "Table with Gradient Gauge",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "lcd",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 3,
"title": "Table with LCD Gauge",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "gradient",
"type": "color-background"
}
}
},
"overrides": []
},
"id": 4,
"title": "Table with Color Background",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "color-background"
}
}
},
"overrides": []
},
"id": 5,
"title": "Table with Color Background Solid",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"type": "some-other-mode"
}
}
},
"overrides": []
},
"id": 6,
"title": "Table with Unknown Mode",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"width": 100
}
},
"overrides": []
},
"id": 7,
"title": "Table with No Display Mode",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "gauge"
}
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Field1"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"mode": "gradient",
"type": "gauge"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "Field2"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"mode": "gradient",
"type": "color-background"
}
}
]
}
]
},
"id": 8,
"title": "Table with Overrides",
"type": "table"
},
{
"autoMigrateFrom": "graph",
"id": 9,
"title": "Non-table Panel (Should Remain Unchanged)",
"type": "timeseries"
},
{
"collapsed": false,
"id": 10,
"panels": [
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 11,
"title": "Nested Table with Basic Mode",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "gradient",
"type": "gauge"
}
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "NestedField"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"mode": "lcd",
"type": "gauge"
}
}
]
}
]
},
"id": 12,
"title": "Nested Table with Gradient Gauge",
"type": "table"
}
],
"title": "Row with Nested Table Panels",
"type": "row"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V38 Table Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,192 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"id": 1,
"title": "Panel with TimeSeriesTable Transformation - Single Stat",
"transformations": [
{
"id": "timeSeriesTable",
"options": {
"A": {
"stat": "mean"
}
}
}
],
"type": "table"
},
{
"id": 2,
"title": "Panel with TimeSeriesTable Transformation - Multiple Stats",
"transformations": [
{
"id": "timeSeriesTable",
"options": {
"A": {
"stat": "mean"
},
"B": {
"stat": "max"
},
"C": {
"stat": "min"
},
"D": {
"stat": "sum"
}
}
}
],
"type": "table"
},
{
"autoMigrateFrom": "graph",
"id": 3,
"title": "Panel with TimeSeriesTable Transformation - Mixed with Other Transforms",
"transformations": [
{
"id": "reduce",
"options": {
"reducers": [
"mean"
]
}
},
{
"id": "timeSeriesTable",
"options": {
"A": {
"stat": "last"
},
"B": {
"stat": "first"
}
}
},
{
"id": "organize",
"options": {
"excludeByName": {}
}
}
],
"type": "timeseries"
},
{
"id": 4,
"title": "Panel with Non-TimeSeriesTable Transformation (Should Remain Unchanged)",
"transformations": [
{
"id": "reduce",
"options": {
"reducers": [
"mean",
"max"
]
}
}
],
"type": "stat"
},
{
"id": 5,
"title": "Panel with TimeSeriesTable - Empty RefIdToStat",
"transformations": [
{
"id": "timeSeriesTable",
"options": {}
}
],
"type": "table"
},
{
"id": 6,
"title": "Panel with TimeSeriesTable - No Options (Should Skip)",
"transformations": [
{
"id": "timeSeriesTable"
}
],
"type": "table"
},
{
"id": 7,
"title": "Panel with TimeSeriesTable - Invalid Options (Should Skip)",
"transformations": [
{
"id": "timeSeriesTable",
"options": {
"someOtherOption": "value"
}
}
],
"type": "table"
},
{
"autoMigrateFrom": "graph",
"id": 8,
"title": "Panel with No Transformations (Should Remain Unchanged)",
"type": "timeseries"
},
{
"collapsed": false,
"id": 9,
"panels": [
{
"id": 10,
"title": "Nested Panel with TimeSeriesTable",
"transformations": [
{
"id": "timeSeriesTable",
"options": {
"NestedA": {
"stat": "median"
},
"NestedB": {
"stat": "stdDev"
}
}
}
],
"type": "table"
}
],
"title": "Row with Nested Panels Having TimeSeriesTable Transformations",
"type": "row"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V39 TimeSeriesTable Transformation Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,98 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "singlestat",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "stat"
},
{
"autoMigrateFrom": "singlestat",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "stat"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 3,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V4 No-Op Migration Test",
"weekStart": ""
}

View File

@@ -1,37 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Empty String Refresh Test Dashboard",
"weekStart": ""
}

View File

@@ -1,37 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Boolean False Refresh Test Dashboard",
"weekStart": ""
}

View File

@@ -1,37 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Refresh Not Set Test Dashboard",
"weekStart": ""
}

View File

@@ -1,37 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Numeric Refresh Test Dashboard",
"weekStart": ""
}

View File

@@ -1,37 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [],
"refresh": "1m",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "String Refresh Test Dashboard",
"weekStart": ""
}

View File

@@ -1,37 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Boolean Refresh Test Dashboard",
"weekStart": ""
}

View File

@@ -1,37 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "No Time Picker Test Dashboard",
"weekStart": ""
}

View File

@@ -1,49 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [],
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "Time Picker No Time Options Test Dashboard",
"weekStart": ""
}

View File

@@ -1,50 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "Time Picker Time Options Test Dashboard",
"weekStart": ""
}

View File

@@ -1,62 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"fieldConfig": {
"defaults": {},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Field1"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"tooltip": true,
"viz": true
}
}
]
}
]
},
"id": 1,
"title": "Panel with hideFrom.viz = true",
"type": "timeseries"
}
],
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "v42 Migration Test - Harky Must",
"weekStart": ""
}

View File

@@ -1,220 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"fieldConfig": {
"defaults": {},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Field1"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"tooltip": true,
"viz": true
}
}
]
}
]
},
"id": 1,
"title": "Panel with hideFrom.viz = true",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"fieldConfig": {
"defaults": {},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Field2"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": false,
"tooltip": true,
"viz": true
}
}
]
},
{
"__systemRef": "hideSeriesFrom",
"matcher": {
"id": "byNames",
"options": {
"mode": "exclude",
"names": [
"foo"
],
"prefix": "All except:",
"readOnly": true
}
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": false,
"tooltip": true,
"viz": true
}
}
]
}
]
},
"id": 2,
"title": "Panel with multiple overrides",
"type": "timeseries"
},
{
"collapsed": true,
"id": 3,
"panels": [
{
"fieldConfig": {
"defaults": {},
"overrides": [
{
"matcher": {
"id": "byRegexp",
"options": "/.*/"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"tooltip": true,
"viz": true
}
}
]
}
]
},
"id": 4,
"title": "Nested panel with hideFrom",
"type": "stat"
},
{
"fieldConfig": {
"defaults": {},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Time"
},
"properties": [
{
"id": "unit",
"value": "short"
}
]
}
]
},
"id": 5,
"title": "Panel without hideFrom",
"type": "table"
}
],
"title": "Row with nested panels",
"type": "row"
},
{
"fieldConfig": {
"defaults": {},
"overrides": [
{
"matcher": {
"id": "byValue",
"options": {
"op": "gte",
"reducer": "allIsZero",
"value": 0
}
},
"properties": [
{
"id": "unit",
"value": "short"
}
]
}
]
},
"id": 6,
"title": "Panel with viz false (should not be modified)",
"type": "gauge"
},
{
"fieldConfig": {
"defaults": {},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "{__name__=\"ALERTS\", alertname=\"k6CloudServiceErrorsLogged\"}"
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": false,
"tooltip": true,
"viz": true
}
}
]
}
]
},
"id": 7,
"title": "Panel with already set tooltip (should not be modified)",
"type": "barchart"
}
],
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "v42 Migration Test - HideFrom Tooltip",
"weekStart": ""
}

View File

@@ -1,98 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "singlestat",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "stat"
},
{
"autoMigrateFrom": "singlestat",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "stat"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 3,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V5 No-Op Migration Test",
"weekStart": ""
}

View File

@@ -1,158 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"enable": true,
"iconColor": "red",
"name": "deployment",
"query": "ALERTS{alertname=\"DeploymentStarted\"}"
},
{
"datasource": {
"type": "loki",
"uid": "loki-uid"
},
"enable": false,
"iconColor": "yellow",
"name": "alerts",
"query": "{job=\"alertmanager\"}"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"expr": "cpu_usage{environment=\"$environment\", service=\"$service\"}",
"refId": "A"
}
],
"title": "CPU Usage",
"type": "timeseries"
},
{
"autoMigrateFrom": "singlestat",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"expr": "memory_usage{region=\"$region\"}",
"refId": "B"
}
],
"title": "Memory Usage",
"type": "stat"
}
],
"refresh": "30s",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"name": "environment",
"options": [],
"query": "label_values(up, instance)",
"refresh": 1,
"type": "query"
},
{
"allFormat": "glob",
"datasource": "prometheus",
"name": "service",
"options": [],
"query": "label_values(up, instance)",
"refresh": 1,
"type": "query"
},
{
"name": "region",
"options": [
{
"text": "us-east-1",
"value": "us-east-1"
},
{
"text": "us-west-2",
"value": "us-west-2"
}
],
"type": "custom"
},
{
"datasource": "prometheus",
"name": "instance",
"options": [],
"query": "label_values(up, instance)",
"refresh": 1,
"type": "query"
}
]
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V6 Pulldowns and Template Variables Migration Test",
"weekStart": ""
}

View File

@@ -1,85 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"expr": "up",
"refId": "A"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"expr": "cpu_usage",
"refId": "B"
}
]
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"collapse": false,
"enable": true,
"notice": false,
"now": true,
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"status": "Stable",
"type": "timepicker"
},
"timezone": "",
"title": "No Title",
"weekStart": ""
}

View File

@@ -1,143 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"groupBy": [
{
"params": [
"1m"
],
"type": "time"
},
{
"params": [
"host"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"refId": "A",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
},
{
"params": [
"*2"
],
"type": "math"
},
{
"params": [
"doubled"
],
"type": "alias"
}
]
],
"tags": [
{
"key": "host",
"value": "server1"
}
]
}
],
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"groupBy": [
{
"interval": "1m",
"type": "time"
}
],
"rawQuery": true,
"refId": "A",
"tags": [
{
"key": "host",
"value": "server1"
}
]
}
],
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V8 InfluxDB Query Test",
"weekStart": ""
}

View File

@@ -1,98 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "singlestat",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "stat"
},
{
"autoMigrateFrom": "singlestat",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "stat"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"id": 3,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 42,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V9 No-Op Migration Test",
"weekStart": ""
}

View File

@@ -1,81 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"id": 1,
"styles": [
{
"thresholds": [
"20",
"30"
]
},
{
"thresholds": [
"200",
"300"
]
}
],
"type": "table"
},
{
"id": 2,
"styles": [
{
"thresholds": [
"50",
"75"
]
}
],
"type": "table"
},
{
"autoMigrateFrom": "graph",
"id": 3,
"styles": [
{
"thresholds": [
"5",
"10",
"15"
]
}
],
"type": "timeseries"
}
],
"schemaVersion": 10,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V10 Table Thresholds Test",
"weekStart": ""
}

View File

@@ -1,83 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"id": 1,
"title": "CPU Usage",
"type": "timeseries",
"yAxes": [
{
"show": true
}
]
},
{
"autoMigrateFrom": "singlestat",
"id": 2,
"title": "Memory Usage",
"type": "stat",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
]
}
],
"schemaVersion": 11,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "server",
"options": [],
"query": "label_values(server)",
"refresh": 1,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V11 No-Op Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,75 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [],
"schemaVersion": 12,
"tags": [],
"templating": {
"list": [
{
"name": "refresh_true_var",
"options": [],
"refresh": 1,
"type": "query"
},
{
"name": "refresh_false_var",
"refresh": 0,
"type": "query"
},
{
"hide": 2,
"hideVariable": true,
"name": "hide_variable_var",
"options": [],
"type": "query"
},
{
"hide": 1,
"hideLabel": true,
"name": "hide_label_var",
"options": [],
"type": "query"
},
{
"hide": 2,
"hideLabel": true,
"hideVariable": true,
"name": "priority_var",
"options": [],
"type": "query"
},
{
"name": "no_properties_var",
"options": [],
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V12 Template Variables Migration Test",
"weekStart": ""
}

View File

@@ -1,98 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"grid": {
"threshold1": 200,
"threshold1Color": "yellow",
"threshold2": 400,
"threshold2Color": "red",
"thresholdLine": true
},
"id": 1,
"title": "Graph with Line Thresholds",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"grid": {
"threshold1": 100,
"threshold1Color": "green",
"threshold2": 300,
"threshold2Color": "blue",
"thresholdLine": false
},
"id": 2,
"title": "Graph with Fill Thresholds",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"grid": {
"threshold1": 150,
"threshold1Color": "orange",
"thresholdLine": true
},
"id": 3,
"title": "Graph with Single Threshold",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"grid": {
"threshold1": 200,
"threshold1Color": "yellow",
"thresholdLine": false
},
"id": 4,
"thresholds": [
{
"color": "purple",
"colorMode": "custom",
"value": 50
}
],
"title": "Graph with Existing Thresholds",
"type": "timeseries"
},
{
"autoMigrateFrom": "singlestat",
"id": 5,
"title": "Non-Graph Panel",
"type": "stat"
}
],
"schemaVersion": 13,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V13 Graph Thresholds Migration Test",
"weekStart": ""
}

View File

@@ -1,56 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"id": 4,
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "gdev-prometheus"
},
"editorMode": "builder",
"expr": "{\"a.utf8.metric 🤘\", job=\"prometheus-utf8\"}",
"instant": false,
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"type": "timeseries"
}
],
"schemaVersion": 13,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "browser",
"title": "Dashboard with minimal graph panel settings",
"weekStart": ""
}

View File

@@ -1,95 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 1,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"id": 1,
"targets": [
{
"expr": "cpu_usage",
"refId": "A"
}
],
"title": "CPU Usage Over Time",
"type": "timeseries",
"yAxes": [
{
"show": true
}
]
},
{
"autoMigrateFrom": "graph",
"id": 2,
"targets": [
{
"expr": "memory_usage",
"refId": "B"
}
],
"title": "Memory Usage",
"type": "timeseries",
"yAxes": [
{
"max": 100,
"min": 0,
"show": true
}
]
}
],
"schemaVersion": 14,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "server",
"options": [],
"query": "label_values(server)",
"refresh": 1,
"type": "query"
}
]
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V14 Shared Crosshair Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,793 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
},
{
"datasource": "$datasource",
"enable": true,
"expr": "up",
"hide": false,
"iconColor": "rgba(255, 96, 96, 1)",
"name": "rollouts",
"showIn": 0,
"tags": [],
"titleFormat": "Rollout was underway in {{cluster}}/{{namespace}}",
"type": "tags"
}
]
},
"editable": false,
"fiscalYearStartMonth": 0,
"graphTooltip": 1,
"links": [
{
"asDropdown": true,
"icon": "external link",
"includeVars": true,
"keepTime": true,
"tags": [
"show-in-mimir-links-dropdown"
],
"targetBlank": false,
"title": "Mimir dashboards",
"type": "dashboards"
}
],
"panels": [],
"refresh": "5m",
"rows": [
{
"collapse": false,
"height": "700px",
"panels": [
{
"cachedPluginOptions": {},
"datasource": "$datasource",
"description": "### Versions running\nShows the versions reported by each running pod.\n\nThe rollout will fail if any pod is not running the expected version.\n\nPods in green are running the expected version, while pods running other versions are shown in orange.\n\n",
"fieldConfig": {
"defaults": {
"color": {
"fixedColor": "orange",
"mode": "shades"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"fillOpacity": 80,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineWidth": 1,
"scaleDistribution": {
"type": "linear"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"max": 1,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": []
},
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byRegexp",
"options": "/.*(target)/"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "green",
"mode": "fixed"
}
}
]
}
]
},
"gridPos": {
"h": 3,
"w": 6,
"x": 0,
"y": 0
},
"id": 1,
"links": [],
"options": {
"barRadius": 0,
"barWidth": 0.97,
"fullHighlight": false,
"groupWidth": 0.7,
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"orientation": "horizontal",
"showValue": "auto",
"stacking": "percent",
"tooltip": {
"mode": "single",
"sort": "none"
},
"xField": "job\\version",
"xTickLabelRotation": 0,
"xTickLabelSpacing": 0
},
"span": 4,
"targets": [
{
"expr": "sum by (job, version) (up{job=~\".*\"})",
"format": "table",
"instant": true,
"intervalFactor": null,
"legendFormat": "__auto",
"legendLink": null,
"refId": "A",
"step": null
}
],
"title": "Versions running",
"transformations": [
{
"id": "groupingToMatrix",
"options": {
"columnField": "version",
"rowField": "job",
"valueField": "Value"
}
},
{
"id": "sortBy",
"options": {
"sort": [
{
"field": "job\\version"
}
]
}
}
],
"transparent": false,
"type": "barchart"
},
{
"cachedPluginOptions": {},
"datasource": "$datasource",
"description": "### Deployment rollout progress\nShows the number of pods for each `Deployment` that match the desired configuration, as a proportion of the desired number of pods.\n\nThe rollout will fail if insufficient pods match the desired configuration for any `Deployment`.\n\nPods in green match the desired configuration, while pods that do not match the desired configuration are shown in orange.\n\n",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"fillOpacity": 80,
"gradientMode": "scheme",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineWidth": 1,
"scaleDistribution": {
"type": "linear"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"max": 1,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "orange",
"value": null
},
{
"color": "green",
"value": 1
}
]
},
"unit": "percentunit"
},
"overrides": []
},
"gridPos": {
"h": 3,
"w": 6,
"x": 0,
"y": 0
},
"id": 2,
"links": [],
"options": {
"barRadius": 0,
"barWidth": 0.97,
"fullHighlight": false,
"groupWidth": 0.7,
"legend": {
"showLegend": false
},
"orientation": "horizontal",
"showValue": "auto",
"stacking": "none",
"tooltip": {
"mode": "single",
"sort": "none"
},
"xTickLabelRotation": 0,
"xTickLabelSpacing": 0
},
"span": 4,
"targets": [
{
"expr": "sum by (deployment) (up{job=\"kube-state-metrics\"})",
"format": "table",
"instant": true,
"intervalFactor": null,
"legendFormat": "__auto",
"legendLink": null,
"refId": "A",
"step": null
}
],
"title": "Deployment rollout progress",
"transformations": [
{
"id": "sortBy",
"options": {
"fields": {},
"sort": [
{
"field": "deployment"
}
]
}
}
],
"transparent": false,
"type": "barchart"
},
{
"cachedPluginOptions": {},
"datasource": "$datasource",
"description": "### StatefulSet rollout progress\nShows the number of pods for each `StatefulSet` that match the desired configuration, as a proportion of the desired number of pods.\n\nThe rollout will fail if insufficient pods match the desired configuration for any `StatefulSet`.\n\nPods in green match the desired configuration, while pods that do not match the desired configuration are shown in orange.\n\n",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"fillOpacity": 80,
"gradientMode": "scheme",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineWidth": 1,
"scaleDistribution": {
"type": "linear"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"max": 1,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "orange",
"value": null
},
{
"color": "green",
"value": 1
}
]
},
"unit": "percentunit"
},
"overrides": []
},
"gridPos": {
"h": 3,
"w": 6,
"x": 0,
"y": 0
},
"id": 3,
"links": [],
"options": {
"barRadius": 0,
"barWidth": 0.97,
"fullHighlight": false,
"groupWidth": 0.7,
"legend": {
"showLegend": false
},
"orientation": "horizontal",
"showValue": "auto",
"stacking": "none",
"tooltip": {
"mode": "single",
"sort": "none"
},
"xTickLabelRotation": 0,
"xTickLabelSpacing": 0
},
"span": 4,
"targets": [
{
"expr": "sum by (statefulset) (up{job=\"kube-state-metrics\"})",
"format": "table",
"instant": true,
"intervalFactor": null,
"legendFormat": "__auto",
"legendLink": null,
"refId": "A",
"step": null
}
],
"title": "StatefulSet rollout progress",
"transformations": [
{
"id": "sortBy",
"options": {
"fields": {},
"sort": [
{
"field": "statefulset"
}
]
}
}
],
"transparent": false,
"type": "barchart"
}
],
"repeat": null,
"repeatIteration": null,
"repeatRowId": null,
"showTitle": true,
"title": "Rollout progress",
"titleSize": "h6"
},
{
"collapse": false,
"height": "700px",
"panels": [
{
"cachedPluginOptions": {},
"datasource": "$datasource",
"description": "### Aggregator lag\nShows the consumption lag of each aggregator pod.\n\nThis panel may show no data if aggregators are not deployed to this cell.\n\nThe rollout will fail if any pod's consumption lag is both:\n* greater than 30s (red area on graph), and\n* trending upwards compared to 1 minute earlier\n\n",
"fieldConfig": {
"defaults": {
"custom": {
"drawStyle": "line",
"fillOpacity": 0,
"lineWidth": 1,
"pointSize": 5,
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "area"
}
},
"min": 0,
"noValue": "No data (are aggregators deployed in this cell?)",
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 30
}
]
},
"unit": "s"
},
"overrides": []
},
"gridPos": {
"h": 3,
"w": 6,
"x": 0,
"y": 0
},
"id": 4,
"links": [],
"options": {
"legend": {
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"span": 4,
"targets": [
{
"expr": "max by (pod) (up{job=\"mimir-aggregator\"})",
"format": "time_series",
"legendFormat": "__auto",
"legendLink": null,
"refId": "A"
}
],
"title": "Aggregator lag",
"transparent": false,
"type": "timeseries"
},
{
"cachedPluginOptions": {},
"datasource": "$datasource",
"description": "### Unhealthy Deployment replicas\nShows the number of unavailable pods for each `Deployment`.\n\nThe rollout will fail if any `Deployment` has an unavailable pod.\n\nBoth this panel and the rollout check ignore any `Deployment`s that require spot nodes, as these are expected to be unavailable from time to time.\n\n`Deployment`s shown in green do not have any unavailable pods, while `Deployment`s shown in orange have one or more unavailable pods.\n\n",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"axisSoftMax": 10,
"fillOpacity": 80,
"gradientMode": "scheme",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineWidth": 1,
"scaleDistribution": {
"type": "linear"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"max": null,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "orange",
"value": 1
}
]
},
"unit": ""
},
"overrides": []
},
"gridPos": {
"h": 3,
"w": 6,
"x": 0,
"y": 0
},
"id": 5,
"links": [],
"options": {
"barRadius": 0,
"barWidth": 0.97,
"fullHighlight": false,
"groupWidth": 0.7,
"legend": {
"showLegend": false
},
"orientation": "horizontal",
"showValue": "auto",
"stacking": "none",
"tooltip": {
"mode": "single",
"sort": "none"
},
"xTickLabelRotation": 0,
"xTickLabelSpacing": 0
},
"span": 4,
"targets": [
{
"expr": "sum by (deployment) (up{job=\"kube-state-metrics\"})",
"format": "table",
"instant": true,
"intervalFactor": null,
"legendFormat": "__auto",
"legendLink": null,
"refId": "A",
"step": null
}
],
"title": "Unhealthy Deployment replicas",
"transformations": [
{
"id": "sortBy",
"options": {
"fields": {},
"sort": [
{
"field": "deployment"
}
]
}
}
],
"transparent": false,
"type": "barchart"
},
{
"cachedPluginOptions": {},
"datasource": "$datasource",
"description": "### Unhealthy StatefulSet replicas\nShows the number of pods for each `StatefulSet` that are not ready.\n\nThe rollout will fail if any `StatefulSet` has fewer ready pods than requested.\n\nBoth this panel and the rollout check ignore any `StatefulSets`s that require spot nodes, as these are expected to be unavailable from time to time.\n\n`StatefulSets`s shown in green do not have any pods that are not ready, while `StatefulSet`s shown in orange have one or more pods that are not ready.\n\n",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"axisSoftMax": 10,
"fillOpacity": 80,
"gradientMode": "scheme",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineWidth": 1,
"scaleDistribution": {
"type": "linear"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"max": null,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "orange",
"value": 1
}
]
},
"unit": ""
},
"overrides": []
},
"gridPos": {
"h": 3,
"w": 6,
"x": 0,
"y": 0
},
"id": 6,
"links": [],
"options": {
"barRadius": 0,
"barWidth": 0.97,
"fullHighlight": false,
"groupWidth": 0.7,
"legend": {
"showLegend": false
},
"orientation": "horizontal",
"showValue": "auto",
"stacking": "none",
"tooltip": {
"mode": "single",
"sort": "none"
},
"xTickLabelRotation": 0,
"xTickLabelSpacing": 0
},
"span": 4,
"targets": [
{
"expr": "sum by (statefulset) (up{job=\"kube-state-metrics\"})",
"format": "table",
"instant": true,
"intervalFactor": null,
"legendFormat": "__auto",
"legendLink": null,
"refId": "A",
"step": null
}
],
"title": "Unhealthy StatefulSet replicas",
"transformations": [
{
"id": "sortBy",
"options": {
"fields": {},
"sort": [
{
"field": "statefulset"
}
]
}
}
],
"transparent": false,
"type": "barchart"
}
],
"repeat": null,
"repeatIteration": null,
"repeatRowId": null,
"showTitle": true,
"title": "Rollout health",
"titleSize": "h6"
}
],
"schemaVersion": 15,
"tags": [
"mimir",
"betterops-mimir",
"show-in-mimir-links-dropdown",
"as-code"
],
"templating": {
"list": [
{
"current": {
"value": "grafanacloud-prom"
},
"hide": 0,
"label": "Data source",
"name": "datasource",
"options": [],
"query": "prometheus",
"refresh": 1,
"regex": "",
"type": "datasource"
},
{
"allValue": ".*",
"current": {
"text": "prod",
"value": "prod"
},
"datasource": "$datasource",
"hide": 0,
"includeAll": true,
"label": "cluster",
"multi": false,
"name": "cluster",
"options": [],
"query": "label_values(up, job)",
"refresh": 1,
"regex": "",
"sort": 1,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"current": {
"text": "prod",
"value": "prod"
},
"datasource": "$datasource",
"hide": 0,
"includeAll": false,
"label": "namespace",
"multi": false,
"name": "namespace",
"options": [],
"query": "label_values(up{job=~\"$cluster\"}, instance)",
"refresh": 1,
"regex": "",
"sort": 1,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
}
]
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "utc",
"title": "Mimir / Rollout debugging",
"weekStart": ""
}

View File

@@ -1,93 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
},
{
"datasource": {
"type": "grafana",
"uid": "grafana"
},
"enable": true,
"name": "Annotations \u0026 Alerts"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"id": 1,
"title": "CPU Usage",
"type": "timeseries",
"yAxes": [
{
"show": true
}
]
},
{
"autoMigrateFrom": "singlestat",
"id": 2,
"title": "Memory Usage",
"type": "stat",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
]
}
],
"schemaVersion": 15,
"tags": [],
"templating": {
"list": [
{
"datasource": {
"type": "prometheus"
},
"name": "server",
"options": [],
"query": "label_values(server)",
"refresh": 1,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V15 No-Op Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,228 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 0
},
"id": 13,
"panels": [],
"type": "row"
},
{
"autoMigrateFrom": "graph",
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 1
},
"id": 1,
"title": "CPU Usage",
"type": "timeseries"
},
{
"autoMigrateFrom": "singlestat",
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 1
},
"id": 2,
"title": "Memory Usage",
"type": "stat"
},
{
"collapsed": true,
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 8
},
"id": 14,
"panels": [
{
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 9
},
"id": 3,
"title": "Process List",
"type": "table"
},
{
"autoMigrateFrom": "graph",
"gridPos": {
"h": 6,
"w": 12,
"x": 0,
"y": 17
},
"height": 200,
"id": 4,
"title": "Network I/O",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"gridPos": {
"h": 6,
"w": 12,
"x": 12,
"y": 17
},
"height": 200,
"id": 5,
"title": "Disk I/O",
"type": "timeseries"
}
],
"title": "Collapsed Row",
"type": "row"
},
{
"gridPos": {
"h": 6,
"w": 24,
"x": 0,
"y": 17
},
"id": 15,
"panels": [],
"title": "Visible Row Title",
"type": "row"
},
{
"gridPos": {
"h": 6,
"w": 8,
"x": 0,
"y": 18
},
"id": 6,
"minSpan": 4,
"title": "Temperature",
"type": "gauge"
},
{
"gridPos": {
"h": 6,
"w": 8,
"x": 8,
"y": 18
},
"id": 7,
"title": "Uptime",
"type": "stat"
},
{
"gridPos": {
"h": 6,
"w": 8,
"x": 16,
"y": 18
},
"id": 8,
"title": "Load Average",
"type": "bargauge"
},
{
"gridPos": {
"h": 4,
"w": 24,
"x": 0,
"y": 24
},
"id": 16,
"panels": [],
"type": "row"
},
{
"gridPos": {
"h": 4,
"w": 16,
"x": 0,
"y": 25
},
"id": 9,
"title": "Description Panel",
"type": "text"
},
{
"gridPos": {
"h": 3,
"w": 8,
"x": 16,
"y": 25
},
"height": 100,
"id": 10,
"title": "System Logs",
"type": "logs"
},
{
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 29
},
"id": 17,
"panels": [],
"repeat": "server",
"type": "row"
},
{
"autoMigrateFrom": "graph",
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 30
},
"id": 11,
"title": "Server Metrics",
"type": "timeseries"
}
],
"schemaVersion": 16,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V16 Grid Layout Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,694 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": false,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [
{
"icon": "external link",
"targetBlank": true,
"title": "External Documentation",
"type": "link",
"url": "https://example.com/docs"
}
],
"panels": [
{
"gridPos": {
"h": 3,
"w": 24,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"content": "This dashboard demonstrates various monitoring components for application observability and performance metrics.\n",
"mode": "markdown"
},
"title": "Application Monitoring",
"type": "text"
},
{
"collapsed": false,
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 0
},
"id": 23,
"panels": [],
"title": "Application Service",
"type": "row"
},
{
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 1
},
"id": 6,
"options": {
"content": "This service handles background processing tasks for the application system. It manages various types of operations including data synchronization, resource management, and batch processing.\n\nSupported operation types:\n1. Sync: Synchronizes data between different systems\n2. Process: Handles batch data processing tasks\n3. Cleanup: Removes outdated or temporary resources\n4. Update: Applies configuration changes across services\n\nService dependencies:\n- Data API: For reading and writing application data\n- Configuration Service: For managing system settings\n- Queue Service: For handling task scheduling\n- Storage Service: For persistent data management\n- Auth Service: For authentication and authorization\n- Metrics Service: For collecting operational statistics\n",
"mode": "markdown"
},
"title": "Service Overview",
"type": "text"
},
{
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 1
},
"id": 7,
"options": {
"content": "Error monitoring helps identify issues in the system. This section displays error logs and success rates for operations.",
"mode": "markdown"
},
"title": "Error Monitoring",
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"fieldConfig": {
"defaults": {
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"value": 0
},
{
"color": "yellow",
"value": 0.95
},
{
"color": "green",
"value": 1
}
]
},
"unit": "percentunit"
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 1
},
"id": 8,
"targets": [
{
"expr": "sum by (action) (app_jobs_processed_total{outcome=\"success\", cluster=\"$cluster\", namespace=\"default\"})\n/\nsum by (action) (app_jobs_processed_total{cluster=\"$cluster\", namespace=\"default\"})\n",
"legendFormat": "{{action}}",
"refId": "A"
}
],
"title": "Job Success Rate",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "${loki}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 8
},
"id": 9,
"options": {
"enableLogDetails": true,
"showTime": false,
"sortOrder": "Descending",
"wrapLogMessage": true
},
"targets": [
{
"expr": "{namespace=\"default\", cluster=\"$cluster\", job=\"app-service\"} | logfmt | level=\"error\"",
"refId": "A"
}
],
"title": "Errors",
"type": "logs"
},
{
"datasource": {
"type": "loki",
"uid": "${loki}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 8
},
"id": 10,
"options": {
"enableLogDetails": true,
"showTime": false,
"sortOrder": "Descending",
"wrapLogMessage": true
},
"targets": [
{
"expr": "{namespace=\"default\", cluster=\"$cluster\", job=\"app-service\"} | logfmt",
"refId": "A"
}
],
"title": "All",
"type": "logs"
},
{
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 8
},
"id": 11,
"options": {
"content": "Performance monitoring examines factors that affect system response times, including operation duration, queue lengths, and processing delays. This section provides metrics and traces for performance analysis.\n",
"mode": "markdown"
},
"title": "Performance Analysis",
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Number of concurrent processing threads available for handling operations",
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 15
},
"id": 12,
"targets": [
{
"expr": "max(app_worker_threads_active{cluster=\"$cluster\", namespace=\"default\"})",
"instant": true,
"refId": "A"
}
],
"title": "Concurrent Job Drivers",
"type": "stat"
},
{
"datasource": {
"type": "tempo",
"uid": "${tempo}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 15
},
"id": 13,
"targets": [
{
"filters": [
{
"id": "span-name",
"operator": "=",
"scope": "span",
"tag": "name",
"value": [
"provisioning.sync.process"
]
},
{
"id": "k8s-cluster-name",
"operator": "=",
"scope": "resource",
"tag": "k8s.cluster.name",
"value": [
"$cluster"
]
}
],
"query": "{name=\"app.operation.process\"}",
"queryType": "traceqlSearch",
"refId": "A"
}
],
"title": "Recent Operation Traces",
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Histogram showing p99, p95, p50, and p10 percentiles for job processing duration based on number of resources changed",
"fieldConfig": {
"defaults": {
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "yellow",
"value": 2
},
{
"color": "red",
"value": 5
}
]
},
"unit": "s"
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 15
},
"id": 14,
"targets": [
{
"expr": "histogram_quantile(0.99, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (le, resources_changed_bucket, action)) and on(resources_changed_bucket, action) sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (resources_changed_bucket, action) \u003e 0",
"legendFormat": "{{action}} q0.99 - size {{resources_changed_bucket}}",
"refId": "B"
},
{
"expr": "histogram_quantile(0.9, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (le, resources_changed_bucket, action)) and on(resources_changed_bucket, action) sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (resources_changed_bucket, action) \u003e 0",
"legendFormat": "{{action}} q0.95 - size {{resources_changed_bucket}}",
"refId": "C"
},
{
"expr": "histogram_quantile(0.5, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (le, resources_changed_bucket, action)) and on(resources_changed_bucket, action) sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (resources_changed_bucket, action) \u003e 0",
"legendFormat": "{{action}} q0.5 - size {{resources_changed_bucket}}",
"refId": "D"
},
{
"expr": "histogram_quantile(0.1, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (le, resources_changed_bucket, action)) and on(resources_changed_bucket, action) sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (resources_changed_bucket, action) \u003e 0",
"legendFormat": "{{action}} q0.1 - size {{resources_changed_bucket}}",
"refId": "E"
}
],
"timeFrom": "7d",
"title": "7d avg of job durations",
"transformations": [
{
"id": "reduce",
"options": {
"mode": "seriesToRows",
"reducers": [
"mean"
]
}
},
{
"id": "seriesToRows"
},
{
"id": "organize",
"options": {
"renameByName": {
"Field": "Type",
"Mean": "Avg Duration",
"Metric": "Legend",
"Value": "Duration"
}
}
}
],
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Histogram showing p99, p95, p50, and p10 percentiles for job processing duration based on number of resources changed",
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 22
},
"id": 15,
"targets": [
{
"expr": "histogram_quantile(0.99, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[5m])) by (le, resources_changed_bucket, action))",
"legendFormat": "{{action}} q0.99 - size {{resources_changed_bucket}}",
"refId": "B"
},
{
"expr": "histogram_quantile(0.95, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[5m])) by (le, resources_changed_bucket, action))",
"legendFormat": "{{action}} q0.95 - size {{resources_changed_bucket}}",
"refId": "C"
},
{
"expr": "histogram_quantile(0.5, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[5m])) by (le, resources_changed_bucket, action))",
"legendFormat": "{{action}} q0.5 - size {{resources_changed_bucket}}",
"refId": "D"
},
{
"expr": "histogram_quantile(0.1, sum(rate(app_operation_duration_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[5m])) by (le, resources_changed_bucket, action))",
"legendFormat": "{{action}} q0.1 - size {{resources_changed_bucket}}",
"refId": "E"
}
],
"title": "Job Duration",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Total number of jobs waiting to be processed",
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 22
},
"id": 16,
"targets": [
{
"expr": "clamp_min(sum(app_operation_queue_size{cluster=\"$cluster\", namespace=\"default\"}), 0)",
"legendFormat": "Queue size",
"refId": "A"
}
],
"title": "Queue Size",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"fieldConfig": {
"defaults": {
"unit": "s"
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 22
},
"id": 17,
"targets": [
{
"expr": "avg(histogram_quantile(0.5, sum(rate(app_operation_queue_wait_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[7d])) by (le)))",
"legendFormat": "Queue size",
"refId": "A"
}
],
"timeFrom": "7d",
"title": "7d avg Queue Wait Time",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "How long a job is in the queue before being picked up",
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 29
},
"id": 18,
"targets": [
{
"expr": "histogram_quantile(0.99, sum(rate(app_operation_queue_wait_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[$__rate_interval])) by (le))",
"legendFormat": "q0.99",
"refId": "B"
},
{
"expr": "histogram_quantile(0.95, sum(rate(app_operation_queue_wait_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[$__rate_interval])) by (le))",
"legendFormat": "q0.95",
"refId": "C"
},
{
"expr": "histogram_quantile(0.5, sum(rate(app_operation_queue_wait_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[$__rate_interval])) by (le))",
"legendFormat": "q0.5",
"refId": "D"
},
{
"expr": "histogram_quantile(0.1, sum(rate(app_operation_queue_wait_seconds_bucket{cluster=\"$cluster\", namespace=\"default\"}[$__rate_interval])) by (le))",
"legendFormat": "q0.1",
"refId": "E"
}
],
"title": "Queue Wait Time",
"type": "timeseries"
},
{
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 29
},
"id": 19,
"options": {
"content": "Resource utilization monitoring for application containers",
"mode": "markdown"
},
"title": "Resource Monitoring",
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 29
},
"id": 20,
"targets": [
{
"expr": "count by (cluster, channel)(label_replace(label_replace(kube_pod_container_info{namespace=\"default\", container=\"app-worker\", pod=~\"app-worker.*\", cluster=~\"$cluster\"}, \"version\", \"$1\", \"image\", \".+:(.+)\"), \"channel\", \"$1\", \"container\", \".+-(.+)\"))",
"legendFormat": "{{cluster}}",
"refId": "A"
}
],
"title": "Running Pod(s)",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 36
},
"id": 21,
"targets": [
{
"expr": "max(kube_pod_container_resource_requests{namespace=\"default\", resource=\"memory\", cluster=~\"$cluster\", container=\"app-worker\", pod=~\"app-worker.*\"})",
"legendFormat": "Memory Request",
"refId": "A"
},
{
"expr": "max(kube_pod_container_resource_limits{namespace=\"default\", resource=\"memory\", cluster=~\"$cluster\", container=\"app-worker\", pod=~\"app-worker.*\"})",
"legendFormat": "Memory Limit",
"refId": "B"
},
{
"expr": "max(container_memory_usage_bytes{namespace=\"default\",cluster=~\"$cluster\", container=\"app-worker\", pod=~\"app-worker.*\"}) by (pod)",
"legendFormat": "Container usage {{pod}}",
"refId": "C"
}
],
"title": "Memory Utilization",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 36
},
"id": 22,
"targets": [
{
"expr": "sum(irate(container_cpu_usage_seconds_total{namespace=\"default\", cluster=~\"$cluster\", container=\"app-worker\", pod=~\"app-worker-.*\"}[$__rate_interval])) by (pod, container, cpu)",
"legendFormat": "Usage {{pod}}",
"refId": "A"
},
{
"expr": "sum(irate(container_cpu_cfs_throttled_seconds_total{namespace=\"default\", cluster=~\"$cluster\", container=\"app-worker\", pod=~\"app-worker-.*\"}[$__rate_interval])) by (pod, container)",
"legendFormat": "Throttling {{pod}}",
"refId": "B"
},
{
"expr": "max(kube_pod_container_resource_limits{namespace=\"default\", cluster=~\"$cluster\", container=\"app-worker\", pod=~\"app-worker-.*\", resource=\"cpu\"})",
"legendFormat": "CPU limit",
"refId": "C"
},
{
"expr": "max(kube_pod_container_resource_requests{namespace=\"default\", cluster=~\"$cluster\", container=\"app-worker\", pod=~\"app-worker-.*\", resource=\"cpu\"})",
"legendFormat": "CPU request",
"refId": "D"
}
],
"title": "CPU Utilization",
"type": "timeseries"
}
],
"refresh": "10s",
"schemaVersion": 16,
"tags": [
"as-code"
],
"templating": {
"list": [
{
"current": {
"value": "prometheus-datasource"
},
"hide": 0,
"label": "Data source",
"name": "datasource",
"options": [],
"query": "prometheus",
"refresh": 1,
"regex": "",
"type": "datasource"
},
{
"current": {
"value": "prometheus-datasource"
},
"name": "prom",
"options": [],
"query": "prometheus",
"refresh": 1,
"regex": "",
"type": "datasource"
},
{
"current": {
"value": "loki-datasource"
},
"name": "loki",
"options": [],
"query": "loki",
"refresh": 1,
"regex": "",
"type": "datasource"
},
{
"current": {
"text": "tempo-datasource",
"value": "tempo-datasource"
},
"name": "tempo",
"options": [],
"query": "tempo",
"refresh": 1,
"regex": ".*tempo.*",
"type": "datasource"
},
{
"current": {
"text": "demo-cluster",
"value": "demo-cluster"
},
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"name": "cluster",
"options": [],
"query": "label_values(app_worker_threads_active,cluster)",
"refresh": 1,
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "utc",
"title": "Span Zero Demo Dashboard",
"uid": "span-zero-demo-dashboard",
"weekStart": ""
}

View File

@@ -1,158 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"maxPerRow": 3,
"title": "Panel with minSpan 8",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 4,
"maxPerRow": 2,
"title": "Panel with minSpan 12",
"type": "timeseries"
},
{
"autoMigrateFrom": "singlestat",
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 2,
"maxPerRow": 6,
"title": "Panel with minSpan 4",
"type": "stat"
},
{
"gridPos": {
"h": 3,
"w": 4,
"x": 6,
"y": 8
},
"id": 6,
"title": "Panel with minSpan 1",
"type": "stat"
},
{
"autoMigrateFrom": "graph",
"gridPos": {
"h": 6,
"w": 8,
"x": 12,
"y": 8
},
"id": 7,
"title": "Panel without minSpan",
"type": "timeseries"
},
{
"gridPos": {
"h": 4,
"w": 6,
"x": 18,
"y": 8
},
"id": 8,
"title": "Panel with invalid minSpan",
"type": "text"
},
{
"gridPos": {
"h": 6,
"w": 24,
"x": 0,
"y": 12
},
"id": 3,
"maxPerRow": 12,
"title": "Panel with minSpan 2",
"type": "table"
},
{
"gridPos": {
"h": 4,
"w": 24,
"x": 0,
"y": 18
},
"id": 5,
"maxPerRow": 1,
"title": "Panel with minSpan 24",
"type": "gauge"
},
{
"autoMigrateFrom": "graph",
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 22
},
"id": 9,
"title": "Panel with zero minSpan",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"gridPos": {
"h": 4,
"w": 6,
"x": 6,
"y": 22
},
"id": 10,
"title": "Panel with negative minSpan",
"type": "timeseries"
}
],
"schemaVersion": 17,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V17 MinSpan to MaxPerRow Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,117 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"id": 1,
"options": {
"thresholds": [
{
"color": "red",
"value": 100
},
{
"color": "yellow",
"value": 50
},
{
"color": "green",
"value": 0
}
],
"valueOptions": {
"decimals": 2,
"prefix": "Value: ",
"stat": "last",
"suffix": " ms",
"unit": "ms"
}
},
"title": "Complete Gauge Panel",
"type": "gauge"
},
{
"id": 2,
"options": {
"valueOptions": {
"decimals": 1,
"unit": "percent"
}
},
"title": "Partial Gauge Panel",
"type": "gauge"
},
{
"id": 3,
"options": {
"valueOptions": {
"decimals": 0,
"stat": "avg",
"unit": "bytes"
}
},
"title": "Buggy Gauge Panel",
"type": "gauge"
},
{
"id": 4,
"options": {
"anotherProp": 42,
"customProperty": "customValue",
"thresholds": [
{
"color": "blue",
"value": 10
}
],
"valueOptions": {
"unit": "short"
}
},
"title": "Custom Properties Gauge Panel",
"type": "gauge"
},
{
"autoMigrateFrom": "graph",
"id": 5,
"options": {
"legend": {
"show": true
}
},
"title": "Non-Gauge Panel",
"type": "timeseries"
}
],
"schemaVersion": 18,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V18 Gauge Options Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,100 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"id": 1,
"links": [
{
"title": "Dashboard Link",
"url": "dashboard/db/my-dashboard?$__url_time_range"
}
],
"title": "Panel with legacy dashboard link",
"type": "timeseries"
},
{
"id": 2,
"links": [
{
"title": "DashUri Link",
"url": "dashboard/my-dashboard-uid?$__all_variables"
}
],
"title": "Panel with dashUri link",
"type": "stat"
},
{
"id": 3,
"links": [
{
"title": "Custom Params Link",
"url": "http://example.com?customParam=value"
}
],
"title": "Panel with custom params",
"type": "table"
},
{
"id": 4,
"links": [
{
"targetBlank": true,
"title": "Complex Link",
"url": "dashboard/db/complex-dashboard?$__url_time_range\u0026$__all_variables\u0026param1=value1\u0026param2=value2"
}
],
"title": "Panel with complex link",
"type": "timeseries"
},
{
"id": 5,
"links": [
{
"title": "Existing URL Link",
"url": "http://existing-url.com"
}
],
"title": "Panel with existing URL",
"type": "gauge"
},
{
"autoMigrateFrom": "singlestat",
"id": 6,
"title": "Panel with no links",
"type": "stat"
}
],
"schemaVersion": 19,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V19 Panel Links Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,121 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graphite",
"grid": {
"max": 100,
"min": 0
},
"id": 1,
"legend": true,
"targets": [
{
"refId": "A",
"target": "cpu.usage"
}
],
"title": "CPU Usage",
"type": "timeseries",
"y2_format": "short",
"y_format": "percent"
},
{
"autoMigrateFrom": "graph",
"grid": {
"min": 0
},
"id": 2,
"legend": false,
"targets": [
{
"refId": "A",
"target": "memory.usage"
}
],
"title": "Memory Usage",
"type": "timeseries",
"y_format": "bytes"
},
{
"grid": {
"max": 100,
"min": 0
},
"id": 3,
"legend": true,
"title": "Server Stats",
"type": "table",
"y2_format": "bytes",
"y_format": "short"
},
{
"autoMigrateFrom": "graphite",
"id": 4,
"legend": true,
"targets": [
{
"refId": "A",
"target": "disk.io"
}
],
"title": "Disk I/O",
"type": "timeseries",
"y2_format": "Bps"
}
],
"schemaVersion": 2,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "server",
"options": [],
"query": "label_values(server)",
"type": "query"
},
{
"name": "env",
"options": [
{
"text": "Production",
"value": "prod"
},
{
"text": "Staging",
"value": "stage"
}
],
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V2 Comprehensive Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,174 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"dataLinks": [
{
"targetBlank": true,
"title": "Link with series name",
"url": "http://example.com?series=${__series.name}\u0026timestamp=__value.time"
},
{
"targetBlank": false,
"title": "Link with field name",
"url": "http://grafana.com/dashboard?field=__field.name\u0026series=${__series.name}"
}
]
},
"title": "Panel with data links using legacy variable syntax",
"type": "timeseries"
},
{
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"fieldOptions": {
"defaults": {
"links": [
{
"targetBlank": true,
"title": "Field link",
"url": "http://monitoring.com?field=${__field.name}\u0026series=__series.name"
},
{
"targetBlank": false,
"title": "Time-based link",
"url": "http://logs.com?time=__value.time\u0026field=__field.name"
}
],
"title": "Series: __series.name, Field: ${__field.name}, Time: __value.time"
}
}
},
"title": "Panel with field options using legacy variable syntax",
"type": "stat"
},
{
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"dataLinks": [
{
"targetBlank": true,
"title": "Combined link",
"url": "http://combined.com?series=${__series.name}\u0026field=${__field.name}\u0026time=__value.time"
}
],
"fieldOptions": {
"defaults": {
"links": [
{
"targetBlank": false,
"title": "Comprehensive link",
"url": "http://comprehensive.com?s=${__series.name}\u0026f=__field.name\u0026t=__value.time"
}
],
"title": "Complete: __series.name / __field.name / __value.time"
}
}
},
"title": "Panel with both data links and field options",
"type": "gauge"
},
{
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 16
},
"id": 4,
"options": {
"dataLinks": [
{
"targetBlank": true,
"title": "Modern link",
"url": "http://modern.com?series=${__series.name}\u0026field=${__field.name}\u0026time=${__value.time}"
}
],
"fieldOptions": {
"defaults": {
"links": [
{
"targetBlank": false,
"title": "Modern field link",
"url": "http://modern-field.com?s=${__series.name}\u0026f=${__field.name}"
}
],
"title": "Modern: ${__series.name} / ${__field.name} / ${__value.time}"
}
}
},
"title": "Panel with no legacy variables (should remain unchanged)",
"type": "table"
},
{
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 16
},
"id": 5,
"options": {
"content": "This panel has no data links or field options to migrate."
},
"title": "Panel with no data links or field options",
"type": "text"
}
],
"refresh": "5s",
"schemaVersion": 20,
"tags": [
"migration-test"
],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V20 Variable Syntax Migration Test Dashboard",
"uid": "v20-migration-test",
"weekStart": ""
}

View File

@@ -1,117 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"id": 1,
"options": {
"dataLinks": [
{
"title": "Data Link 1",
"url": "http://mylink.com?series=${__field.labels}\u0026${__field.labels.a}"
},
{
"title": "Data Link 2",
"url": "http://anotherlink.com?param=${__field.labels}"
}
]
},
"title": "Panel with data links",
"type": "timeseries"
},
{
"id": 2,
"options": {
"fieldOptions": {
"defaults": {
"links": [
{
"title": "Field Link 1",
"url": "http://mylink.com?series=${__field.labels}\u0026${__field.labels.x}"
},
{
"title": "Field Link 2",
"url": "http://fieldlink.com?field=${__field.labels}"
}
]
}
}
},
"title": "Panel with field options links",
"type": "stat"
},
{
"autoMigrateFrom": "graph",
"id": 3,
"options": {
"dataLinks": [
{
"title": "Graph Data Link",
"url": "http://mylink.com?series=${__field.labels}"
}
],
"fieldOptions": {
"defaults": {
"links": [
{
"title": "Graph Field Link",
"url": "http://mylink.com?field=${__field.labels}"
}
]
}
}
},
"title": "Panel with both link types",
"type": "timeseries"
},
{
"id": 4,
"options": {
"dataLinks": [
{
"title": "No Series Labels Link",
"url": "http://mylink.com?other=${__field.labels}"
}
]
},
"title": "Panel without series labels",
"type": "timeseries"
},
{
"id": 5,
"title": "Panel without options",
"type": "timeseries"
}
],
"schemaVersion": 21,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V21 Data Links Series to Field Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,53 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"id": 1,
"styles": [
{
"align": "auto",
"pattern": "Time",
"type": "number"
},
{
"align": "auto",
"pattern": "Value",
"type": "string"
}
],
"type": "table"
}
],
"schemaVersion": 22,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V22 Table Panel Styles Test",
"weekStart": ""
}

View File

@@ -1,184 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"id": 1,
"targets": [
{
"expr": "up",
"refId": "A"
}
],
"title": "Test Panel",
"type": "stat"
}
],
"schemaVersion": 23,
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": [
"A"
],
"value": [
"A"
]
},
"datasource": "prometheus",
"multi": true,
"name": "multi_single_value",
"options": [],
"type": "query"
},
{
"current": {
"selected": true,
"text": [
"B",
"C"
],
"value": [
"B",
"C"
]
},
"datasource": "prometheus",
"multi": true,
"name": "multi_array_value",
"options": [],
"type": "query"
},
{
"current": {
"selected": true,
"text": "D",
"value": "D"
},
"datasource": "prometheus",
"multi": false,
"name": "non_multi_array_value",
"options": [],
"type": "query"
},
{
"current": {
"selected": true,
"text": "E",
"value": "E"
},
"datasource": "prometheus",
"multi": false,
"name": "non_multi_single_value",
"options": [],
"type": "query"
},
{
"current": {
"selected": true,
"text": "F",
"value": "F"
},
"datasource": "prometheus",
"name": "no_multi_property",
"options": [],
"type": "query"
},
{
"current": {},
"datasource": "prometheus",
"multi": true,
"name": "empty_current",
"options": [],
"type": "query"
},
{
"datasource": "prometheus",
"multi": true,
"name": "nil_current",
"options": [],
"type": "query"
},
{
"current": {
"selected": true,
"text": [
"G"
],
"value": [
"G"
]
},
"multi": true,
"name": "custom_variable",
"type": "custom"
},
{
"current": {
"selected": true,
"text": "H",
"value": "H"
},
"multi": false,
"name": "textbox_variable",
"type": "textbox"
},
{
"current": {
"selected": true,
"text": [
"Prometheus",
"InfluxDB"
],
"value": [
"prometheus",
"influxdb"
]
},
"multi": true,
"name": "datasource_variable",
"options": [],
"type": "datasource"
},
{
"current": {
"selected": true,
"text": "1m",
"value": "1m"
},
"multi": false,
"name": "interval_variable",
"type": "interval"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V23 Multi Variables Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,435 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "table-old",
"description": "Tests basic migration with default style pattern (/.*/) containing thresholds and colors. Should convert styles to fieldConfig.defaults with threshold steps.",
"id": 1,
"legend": true,
"styles": [
{
"colors": [
"red",
"yellow",
"green"
],
"pattern": "/.*/",
"thresholds": [
"10",
"20",
"30"
]
}
],
"targets": [
{
"refId": "A"
},
{
"refId": "B"
}
],
"title": "Basic Angular Table with Defaults",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"description": "Tests comprehensive migration including: default style with thresholds/colors/unit/decimals/align/colorMode, column overrides with exact name and regex patterns, date formatting, hidden columns, and links with tooltips.",
"id": 2,
"styles": [
{
"align": "center",
"colorMode": "cell",
"colors": [
"green",
"yellow",
"red"
],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [
"100",
"500"
],
"unit": "bytes"
},
{
"alias": "Current Status",
"align": "left",
"colorMode": "value",
"decimals": 0,
"pattern": "Status",
"unit": "short"
},
{
"colorMode": "row",
"link": true,
"linkTargetBlank": true,
"linkTooltip": "View error details",
"linkUrl": "http://example.com/errors",
"pattern": "/Error.*/"
},
{
"alias": "Timestamp",
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "Time",
"type": "date"
},
{
"pattern": "Hidden",
"type": "hidden"
}
],
"title": "Complex Table with All Style Features",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"columns": [
{
"text": "Average",
"value": "avg"
},
{
"text": "Maximum",
"value": "max"
},
{
"text": "Minimum",
"value": "min"
},
{
"text": "Total",
"value": "total"
},
{
"text": "Current",
"value": "current"
},
{
"text": "Count",
"value": "count"
}
],
"description": "Tests migration of timeseries_aggregations transform to reduce transformation with column mappings (avg-\u003emean, max-\u003emax, min-\u003emin, total-\u003esum, current-\u003elastNotNull, count-\u003ecount).",
"id": 3,
"styles": [
{
"decimals": 1,
"pattern": "/.*/",
"unit": "percent"
}
],
"title": "Table with Timeseries Aggregations Transform",
"transform": "timeseries_aggregations",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"description": "Tests migration of timeseries_to_rows transform to seriesToRows transformation.",
"id": 4,
"styles": [
{
"pattern": "/.*/",
"unit": "short"
}
],
"title": "Table with Timeseries to Rows Transform",
"transform": "timeseries_to_rows",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"description": "Tests migration of timeseries_to_columns transform to seriesToColumns transformation.",
"id": 5,
"styles": [
{
"pattern": "/.*/",
"unit": "bytes"
}
],
"title": "Table with Timeseries to Columns Transform",
"transform": "timeseries_to_columns",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"description": "Tests migration of table transform to merge transformation. Also tests auto alignment conversion to empty string.",
"id": 6,
"styles": [
{
"align": "auto",
"pattern": "/.*/"
}
],
"title": "Table with Merge Transform",
"transform": "table",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"description": "Tests that existing transformations are preserved and new transformation from old format is appended to the list.",
"id": 7,
"styles": [
{
"pattern": "/.*/",
"unit": "short"
}
],
"title": "Table with Existing Transformations",
"transform": "timeseries_to_rows",
"transformations": [
{
"id": "filterFieldsByName",
"options": {
"include": {
"names": [
"field1",
"field2"
]
}
}
}
],
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"description": "Tests handling of mixed numeric and string threshold values (int, string, float) with proper type conversion.",
"id": 8,
"styles": [
{
"colors": [
"green",
"yellow",
"orange",
"red"
],
"pattern": "/.*/",
"thresholds": [
10,
"20",
30.5
]
}
],
"title": "Mixed Threshold Types",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"description": "Tests all color mode mappings: cell-\u003ecolor-background, row-\u003ecolor-background, value-\u003ecolor-text.",
"id": 9,
"styles": [
{
"colorMode": "cell",
"pattern": "/.*/"
},
{
"colorMode": "cell",
"pattern": "CellColumn"
},
{
"colorMode": "row",
"pattern": "RowColumn"
},
{
"colorMode": "value",
"pattern": "ValueColumn"
}
],
"title": "All Color Modes Test",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"description": "Tests all alignment options: left, center, right, and auto (should convert to empty string).",
"id": 10,
"styles": [
{
"align": "center",
"pattern": "/.*/"
},
{
"align": "left",
"pattern": "LeftColumn"
},
{
"align": "right",
"pattern": "RightColumn"
},
{
"align": "auto",
"pattern": "AutoColumn"
}
],
"title": "All Alignment Options",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"description": "Tests both field matcher types: byName for exact matches and byRegexp for regex patterns.",
"id": 11,
"styles": [
{
"pattern": "/.*/",
"unit": "short"
},
{
"alias": "Exact Match",
"pattern": "ExactColumnName"
},
{
"alias": "Regex Match",
"pattern": "/Regex.*Pattern/"
},
{
"alias": "Start Pattern",
"pattern": "/^Start/"
},
{
"alias": "End Pattern",
"pattern": "/End$/"
}
],
"title": "Field Matcher Types Test",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"description": "Tests various link configurations: with and without tooltip, with and without target blank.",
"id": 12,
"styles": [
{
"pattern": "/.*/",
"unit": "short"
},
{
"link": true,
"linkTargetBlank": true,
"linkTooltip": "Click to view details",
"linkUrl": "http://example.com/with-tooltip",
"pattern": "LinkWithTooltip"
},
{
"link": true,
"linkTargetBlank": false,
"linkUrl": "http://example.com/no-tooltip",
"pattern": "LinkWithoutTooltip"
},
{
"link": true,
"linkUrl": "http://example.com/minimal",
"pattern": "LinkMinimal"
}
],
"title": "Link Configuration Test",
"type": "table"
},
{
"autoMigrateFrom": "table-old",
"description": "Tests various date format patterns and aliases.",
"id": 13,
"styles": [
{
"pattern": "/.*/",
"unit": "short"
},
{
"alias": "ISO Date",
"dateFormat": "YYYY-MM-DD",
"pattern": "DateISO",
"type": "date"
},
{
"alias": "Full DateTime",
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "DateTime",
"type": "date"
},
{
"alias": "Time Only",
"dateFormat": "HH:mm:ss",
"pattern": "TimeOnly",
"type": "date"
}
],
"title": "Date Format Variations",
"type": "table"
},
{
"description": "React table (table2) should not be migrated. Properties should remain unchanged.",
"id": 14,
"styles": [
{
"colors": [
"red",
"yellow",
"green"
],
"pattern": "/.*/",
"thresholds": [
"10",
"20"
],
"unit": "short"
}
],
"table": "table2",
"title": "React Table - Should NOT Migrate",
"type": "table"
},
{
"description": "Angular table without styles property should not be migrated.",
"id": 15,
"title": "Angular Table without Styles - Should NOT Migrate",
"type": "table"
},
{
"autoMigrateFrom": "graph",
"description": "Non-table panels should remain completely unchanged.",
"id": 16,
"title": "Non-Table Panel - Should NOT Migrate",
"type": "timeseries"
},
{
"autoMigrateFrom": "singlestat",
"description": "Other panel types should not be affected by table migration.",
"id": 17,
"title": "Singlestat Panel - Should NOT Migrate",
"type": "stat"
}
],
"schemaVersion": 24,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "No Title",
"weekStart": ""
}

View File

@@ -1,84 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
},
{
"datasource": "grafana",
"enable": true,
"name": "Deployments"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"id": 1,
"title": "Panel with transformations remains unchanged",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"id": 2,
"title": "Graph",
"type": "timeseries",
"yAxes": [
{
"show": true
}
]
}
],
"schemaVersion": 25,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "tags should not be removed",
"options": [],
"tagValuesQuery": "tag should not be removed",
"tags": [
"tags should not be removed"
],
"tagsQuery": "tag should not be removed",
"type": "query",
"useTags": true
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V25 No-Op Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,58 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"id": 1,
"title": "Text2 Panel",
"type": "text"
},
{
"content": "# Angular Text Panel\n# $constant\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)\n\n## $text\n\n",
"id": 2,
"mode": "markdown",
"title": "Angular Text Panel",
"type": "text"
},
{
"id": 3,
"options": {
"content": "# React Text Panel from Angular Panel\n# $constant\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)\n\n## $text\n\n",
"mode": "markdown"
},
"title": "React Text Panel from Angular Panel",
"type": "text"
}
],
"schemaVersion": 26,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "No Title",
"weekStart": ""
}

View File

@@ -1,75 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "graph",
"id": 2,
"title": "Normal Panel",
"type": "timeseries"
},
{
"id": 4,
"panels": [
{
"autoMigrateFrom": "graph",
"id": 6,
"title": "Normal nested panel",
"type": "timeseries"
}
],
"title": "Row with repeated panels",
"type": "row"
}
],
"schemaVersion": 27,
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": true,
"text": "default_value",
"value": "default_value"
},
"hide": 0,
"name": "constant_var",
"options": [
{
"selected": true,
"text": "default_value",
"value": "default_value"
}
],
"query": "default_value",
"type": "textbox"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V27 Repeated Panels and Constant Variable Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,83 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [],
"schemaVersion": 28,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "query_variable_with_tags",
"options": [],
"query": "label_values(up, instance)",
"refresh": 1,
"type": "query"
},
{
"name": "custom_variable_with_tags",
"options": [
{
"text": "Option 1",
"value": "opt1"
},
{
"text": "Option 2",
"value": "opt2"
}
],
"type": "custom",
"useTags": false
},
{
"name": "clean_variable",
"options": [
{
"text": "Hello",
"value": "World"
}
],
"type": "textbox"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V28 Singlestat and Variable Properties Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,185 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "singlestat",
"colors": [
"#FF0000",
"green",
"orange"
],
"grid": {
"max": 10,
"min": 1
},
"id": 1,
"legend": true,
"targets": [
{
"refId": "A"
},
{
"refId": "B"
}
],
"thresholds": "10,20,30",
"type": "stat"
},
{
"autoMigrateFrom": "singlestat",
"colors": [
"#FF0000",
"green",
"orange"
],
"gauge": {
"show": true,
"thresholdLabels": false,
"thresholdMarkers": true
},
"grid": {
"max": 10,
"min": 1
},
"id": 2,
"thresholds": "10,20,30",
"type": "stat"
},
{
"autoMigrateFrom": "singlestat",
"colors": [
"#FF0000",
"green",
"orange"
],
"grid": {
"max": 10,
"min": 1
},
"id": 3,
"legend": true,
"mappingTypes": [
{
"name": "value to text",
"value": 1
}
],
"targets": [
{
"refId": "A"
},
{
"refId": "B"
}
],
"thresholds": "10,20,30",
"type": "stat",
"valueMaps": [
{
"op": "=",
"text": "test",
"value": "20"
},
{
"op": "=",
"text": "test1",
"value": "30"
},
{
"op": "=",
"text": "50",
"value": "40"
}
]
},
{
"id": 4,
"targets": [
{
"expr": "rate(http_requests_total[5m])",
"refId": "A"
}
],
"type": "timeseries"
}
],
"schemaVersion": 28,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "query_variable_with_tags",
"options": [],
"query": "label_values(up, instance)",
"refresh": 1,
"type": "query"
},
{
"name": "custom_variable_with_tags",
"options": [
{
"text": "Option 1",
"value": "opt1"
},
{
"text": "Option 2",
"value": "opt2"
}
],
"type": "custom",
"useTags": false
},
{
"name": "clean_variable",
"options": [
{
"text": "Hello",
"value": "World"
}
],
"type": "textbox"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V28 Singlestat and Variable Properties Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,358 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "singlestat",
"colors": [
"#FF0000",
"green",
"orange"
],
"grid": {
"max": 10,
"min": 1
},
"id": 1,
"legend": true,
"targets": [
{
"refId": "A"
},
{
"refId": "B"
}
],
"thresholds": "10,20,30",
"type": "stat"
},
{
"autoMigrateFrom": "singlestat",
"colors": [
"#FF0000",
"green",
"orange"
],
"grid": {
"max": 10,
"min": 1
},
"id": 2,
"legend": true,
"targets": [
{
"refId": "A"
},
{
"refId": "B"
}
],
"thresholds": "",
"type": "stat"
},
{
"autoMigrateFrom": "singlestat",
"colors": [
"#FF0000",
"green",
"orange"
],
"gauge": {
"show": true,
"thresholdLabels": false,
"thresholdMarkers": true
},
"grid": {
"max": 10,
"min": 1
},
"id": 3,
"thresholds": "10,20,30",
"type": "stat"
},
{
"autoMigrateFrom": "singlestat",
"colors": [
"#FF0000",
"green",
"orange"
],
"grid": {
"max": 10,
"min": 1
},
"id": 4,
"legend": true,
"mappingTypes": [
{
"name": "value to text",
"value": 1
}
],
"targets": [
{
"refId": "A"
},
{
"refId": "B"
}
],
"thresholds": "10,20,30",
"type": "stat",
"valueMaps": [
{
"op": "=",
"text": "test",
"value": "20"
},
{
"op": "=",
"text": "test1",
"value": "30"
},
{
"op": "=",
"text": "50",
"value": "40"
}
]
},
{
"id": 8,
"targets": [
{
"expr": "rate(http_requests_total[5m])",
"refId": "A"
}
],
"type": "timeseries"
},
{
"autoMigrateFrom": "grafana-singlestat-panel",
"colorBackground": false,
"colorValue": true,
"colors": [
"#299c46",
"rgba(237, 129, 40, 0.89)",
"#d44a3a"
],
"datasource": {
"type": "prometheus"
},
"format": "areaF2",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 43
},
"id": 5,
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"postfix": "b",
"postfixFontSize": "50%",
"prefix": "a",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "rgb(31, 120, 193)",
"show": true
},
"tableColumn": "",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "PD8C576611E62080A"
},
"refId": "A"
}
],
"thresholds": "",
"title": "grafana-singlestat-panel",
"type": "stat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "avg"
},
{
"datasource": {
"type": "prometheus"
},
"fieldConfig": {
"defaults": {
"mappings": [
{
"options": {
"match": "null",
"result": {
"text": "N/A"
}
},
"type": "special"
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
},
"unit": "ms"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 8,
"y": 43
},
"id": 6,
"maxDataPoints": 100,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "horizontal",
"reduceOptions": {
"calcs": [
"mean"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "1.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "PD8C576611E62080A"
},
"refId": "A"
}
],
"title": "singlestat (old, internal. Migrated if schema \u003c 28)",
"type": "stat"
},
{
"datasource": {
"type": "prometheus"
},
"gridPos": {
"h": 8,
"w": 8,
"x": 16,
"y": 43
},
"id": 7,
"options": {
"code": {
"language": "plaintext",
"showLineNumbers": false,
"showMiniMap": false
},
"content": "# Singlestat \u003e\u003e Stat\n\nKnown issues:\n* limited options",
"mode": "markdown"
},
"pluginVersion": "1.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "PD8C576611E62080A"
},
"refId": "A"
}
],
"title": "Status + Notes",
"type": "text"
}
],
"schemaVersion": 28,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V28 Singlestat and Variable Properties Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,168 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": "prometheus",
"id": 1,
"targets": [
{
"expr": "up",
"refId": "A"
}
],
"title": "Test Panel",
"type": "timeseries"
}
],
"schemaVersion": 29,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "never_refresh_with_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"name": "never_refresh_without_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"name": "dashboard_refresh_with_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"name": "dashboard_refresh_without_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"name": "timerange_refresh_with_options",
"options": [],
"refresh": 2,
"type": "query"
},
{
"datasource": "prometheus",
"name": "timerange_refresh_without_options",
"options": [],
"refresh": 2,
"type": "query"
},
{
"datasource": "prometheus",
"name": "no_refresh_with_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"name": "no_refresh_without_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"name": "unknown_refresh_with_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"datasource": "prometheus",
"name": "unknown_refresh_without_options",
"options": [],
"refresh": 1,
"type": "query"
},
{
"name": "custom_variable",
"options": [
{
"text": "custom",
"value": "custom"
}
],
"type": "custom"
},
{
"name": "textbox_variable",
"options": [
{
"text": "Hello",
"value": "World"
}
],
"type": "textbox"
},
{
"name": "datasource_variable",
"options": [],
"type": "datasource"
},
{
"name": "interval_variable",
"options": [
{
"text": "1m",
"value": "1m"
}
],
"type": "interval"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V29 Query Variables Refresh and Options Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,53 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"id": 1,
"type": "timeseries"
},
{
"id": 2,
"type": "timeseries"
},
{
"id": 3,
"type": "barchart"
},
{
"id": 4,
"type": "barchart"
}
],
"schemaVersion": 3,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V3 No-Op Migration - but tests ensuring panel IDs are unique",
"weekStart": ""
}

View File

@@ -1,265 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"fieldConfig": {
"defaults": {
"mappings": [
{
"options": {
"0": {
"text": "Down"
},
"1": {
"text": "Up"
}
},
"type": "value"
},
{
"options": {
"from": 10,
"result": {
"text": "Medium"
},
"to": 20
},
"type": "range"
},
{
"options": {
"match": "null",
"result": {
"text": "Null Value"
}
},
"type": "special"
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "test-field"
},
"properties": [
{
"id": "mappings",
"value": [
{
"options": {
"1": {
"text": "Override Up"
}
},
"type": "value"
}
]
}
]
}
]
},
"id": 1,
"options": {
"tooltip": {
"mode": "multi"
}
},
"title": "Panel with legacy value mappings and tooltip options",
"type": "timeseries"
},
{
"id": 2,
"options": {
"tooltip": {
"mode": "single"
}
},
"title": "XY Chart with tooltip options only",
"type": "xychart"
},
{
"id": 3,
"options": {
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"title": "XY Chart2 with tooltip options",
"type": "xychart2"
},
{
"autoMigrateFrom": "graph",
"id": 4,
"options": {
"tooltip": {
"mode": "single"
}
},
"title": "Graph panel gets migrated to timeseries and tooltip",
"type": "timeseries"
},
{
"fieldConfig": {
"defaults": {
"mappings": [
{
"options": {
"100": {
"text": "Critical"
}
},
"type": "value"
},
{
"options": {
"from": 50,
"result": {
"text": "Warning"
},
"to": 99
},
"type": "range"
},
{
"options": {
"from": 0,
"result": {
"text": "OK"
},
"to": 49
},
"type": "range"
}
]
},
"overrides": []
},
"id": 5,
"title": "Panel with complex value mappings",
"type": "stat"
},
{
"collapsed": true,
"id": 6,
"panels": [
{
"fieldConfig": {
"defaults": {
"mappings": [
{
"options": {
"0": {
"text": "Off"
},
"1": {
"text": "On"
}
},
"type": "value"
}
]
}
},
"id": 7,
"options": {
"tooltip": {
"mode": "multi"
}
},
"title": "Nested panel with both migrations",
"type": "timeseries"
}
],
"title": "Collapsed Row with nested panels",
"type": "row"
},
{
"fieldConfig": {
"defaults": {
"unit": "bytes"
},
"overrides": []
},
"id": 8,
"options": {
"legend": {
"displayMode": "list"
}
},
"title": "Panel with no relevant configurations",
"type": "timeseries"
},
{
"fieldConfig": {
"defaults": {
"mappings": []
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "empty-field"
},
"properties": [
{
"id": "mappings",
"value": []
}
]
}
]
},
"id": 9,
"title": "Panel with empty mappings array - should return null",
"type": "stat"
}
],
"schemaVersion": 30,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V30 Value Mappings and Tooltip Options Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,185 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"id": 1,
"title": "Panel with basic labelsToFields transformation",
"transformations": [
{
"id": "labelsToFields",
"options": {}
},
{
"id": "merge",
"options": {}
}
],
"type": "timeseries"
},
{
"id": 9,
"title": "Panel with labelsToFields options preserved",
"transformations": [
{
"id": "labelsToFields",
"options": {
"keepLabels": [
"job",
"instance",
"region"
],
"mode": "rows",
"valueLabel": "value"
}
},
{
"id": "merge",
"options": {}
}
],
"type": "timeseries"
},
{
"id": 2,
"title": "Panel with multiple labelsToFields transformations",
"transformations": [
{
"id": "organize",
"options": {}
},
{
"id": "labelsToFields",
"options": {}
},
{
"id": "merge",
"options": {}
},
{
"id": "calculateField",
"options": {}
},
{
"id": "labelsToFields",
"options": {
"mode": "rows"
}
},
{
"id": "merge",
"options": {}
}
],
"type": "timeseries"
},
{
"id": 3,
"title": "Panel with no transformations",
"type": "timeseries"
},
{
"id": 4,
"title": "Panel with other transformations only",
"transformations": [
{
"id": "organize",
"options": {}
},
{
"id": "reduce",
"options": {}
}
],
"type": "timeseries"
},
{
"collapsed": false,
"id": 5,
"panels": [
{
"id": 6,
"title": "Nested panel with labelsToFields",
"transformations": [
{
"id": "labelsToFields",
"options": {}
},
{
"id": "merge",
"options": {}
}
],
"type": "timeseries"
},
{
"id": 7,
"title": "Nested panel without labelsToFields",
"transformations": [
{
"id": "organize",
"options": {}
}
],
"type": "timeseries"
}
],
"title": "Row with nested panels",
"type": "row"
},
{
"id": 8,
"title": "Panel with labelsToFields and existing merge",
"transformations": [
{
"id": "labelsToFields",
"options": {}
},
{
"id": "merge",
"options": {}
},
{
"id": "merge",
"options": {}
},
{
"id": "reduce",
"options": {}
}
],
"type": "timeseries"
}
],
"schemaVersion": 31,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V31 LabelsToFields Merge Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,112 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
},
{
"datasource": "grafana",
"enable": true,
"name": "Deployments"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"id": 1,
"title": "Panel with transformations remains unchanged",
"transformations": [
{
"id": "labelsToFields",
"options": {
"keepLabels": [
"job",
"instance"
],
"mode": "rows"
}
},
{
"id": "merge",
"options": {}
}
],
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"id": 2,
"title": "Graph panel remains unchanged",
"type": "timeseries",
"yAxes": [
{
"show": true
}
]
},
{
"collapsed": false,
"id": 3,
"panels": [
{
"fieldConfig": {
"defaults": {
"unit": "bytes"
}
},
"id": 4,
"title": "Nested stat panel",
"type": "stat"
}
],
"title": "Row with nested panels",
"type": "row"
}
],
"schemaVersion": 32,
"tags": [],
"templating": {
"list": [
{
"datasource": "prometheus",
"name": "environment",
"options": [],
"type": "query"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "V32 No-Op Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,236 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"description": "Tests v33 migration behavior when panel datasource is explicitly null. Should remain null after migration (returnDefaultAsNull: true).",
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Target with UID reference should migrate to full object",
"refId": "A"
}
],
"title": "Panel Datasource: null → should stay null",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "existing-ref-uid"
},
"description": "Tests v33 migration behavior when panel datasource is already a proper object reference. Should remain unchanged.",
"id": 2,
"targets": [
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Target with existing object should remain unchanged",
"refId": "A"
}
],
"title": "Panel Datasource: existing object → should stay unchanged",
"type": "stat"
},
{
"datasource": {
"apiVersion": "v1",
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Tests v33 migration when panel datasource is a string name. Should convert to proper object with uid, type, apiVersion.",
"id": 3,
"title": "Panel Datasource: string name → should migrate to object",
"type": "table"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests v33 migration when panel has datasource string but empty targets array. Panel datasource should still migrate.",
"id": 4,
"title": "Panel Datasource: string name with empty targets → should migrate",
"type": "table"
},
{
"autoMigrateFrom": "graph",
"datasource": {
"apiVersion": "v1",
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Tests v33 target migration with various edge cases: null target (unchanged), valid string (migrated), non-existing string (preserved), missing datasource field (unchanged).",
"id": 5,
"targets": [
{
"description": "Null target datasource should remain null",
"refId": "A"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Valid string should migrate to object",
"refId": "B"
},
{
"datasource": {
"uid": "non-existing-ds"
},
"description": "Non-existing datasource should be preserved as-is (migration returns nil)",
"refId": "C"
},
{
"description": "Target without datasource field should remain unchanged",
"refId": "D"
}
],
"title": "Target Datasources: mixed null/string/non-existing scenarios",
"type": "timeseries"
},
{
"description": "Tests v33 migration when panel datasource is null but targets have mixed reference types (object, string). Panel should stay null, targets should migrate appropriately.",
"id": 6,
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "existing-ref"
},
"description": "Existing object target should remain unchanged",
"refId": "A"
},
{
"datasource": {
"apiVersion": "v1",
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "String target should migrate to object",
"refId": "B"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Default datasource string should migrate to object",
"refId": "C"
}
],
"title": "Panel: null datasource with mixed target types",
"type": "timeseries"
},
{
"datasource": {},
"description": "Tests v33 migration behavior with empty string datasource. Should migrate to empty object {} based on MigrateDatasourceNameToRef logic.",
"id": 7,
"targets": [
{
"datasource": {},
"description": "Empty string target should also migrate to empty object {}",
"refId": "A"
}
],
"title": "Empty string datasource → should return empty object {}",
"type": "stat"
},
{
"datasource": {
"uid": "completely-missing-ds"
},
"description": "Tests v33 migration with completely unknown datasource names. Since migration returns nil for unknown datasources, they should be preserved unchanged.",
"id": 8,
"targets": [
{
"datasource": {
"uid": "also-missing-ds"
},
"description": "Unknown target datasource should remain unchanged (migration returns nil)",
"refId": "A"
},
{
"datasource": {},
"description": "Empty string target should migrate to {}",
"refId": "B"
}
],
"title": "Non-existing datasources → should be preserved as-is",
"type": "table"
},
{
"collapsed": true,
"description": "Tests v33 migration handles nested panels within collapsed rows. Nested panel datasources should migrate same as top-level panels.",
"id": 9,
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Nested panel with string datasource should migrate to proper object reference, proving row panel recursion works.",
"id": 10,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Nested target should also migrate from string to object",
"refId": "A"
}
],
"title": "Nested Panel: string datasource → should migrate to object",
"type": "timeseries"
}
],
"title": "Row Panel: nested panels should also migrate",
"type": "row"
}
],
"schemaVersion": 33,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V33 Panel Datasource Name to Ref Test",
"weekStart": ""
}

View File

@@ -1,174 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"fieldConfig": {
"defaults": {
"custom": {
"axisPlacement": "hidden"
}
},
"overrides": [
{
"matcher": {
"id": "byType",
"options": "time"
},
"properties": [
{
"id": "custom.axisPlacement",
"value": "auto"
}
]
}
]
},
"id": 6,
"title": "Timeseries with Hidden Axis",
"type": "timeseries"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"axisPlacement": "hidden"
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Series A"
},
"properties": [
{
"id": "color.mode",
"value": "palette-classic"
}
]
},
{
"matcher": {
"id": "byType",
"options": "time"
},
"properties": [
{
"id": "custom.axisPlacement",
"value": "auto"
}
]
}
]
},
"id": 7,
"title": "Timeseries with Hidden Axis and Existing Overrides",
"type": "timeseries"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"axisPlacement": "auto"
}
},
"overrides": []
},
"id": 8,
"title": "Timeseries with Auto Axis (No Change Expected)",
"type": "timeseries"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"axisPlacement": "hidden"
}
},
"overrides": []
},
"id": 9,
"title": "Stat Panel with Hidden Axis (No Change Expected)",
"type": "stat"
},
{
"id": 5,
"title": "Timeseries with Missing FieldConfig",
"type": "timeseries"
},
{
"id": 10,
"title": "Timeseries with Missing Defaults",
"type": "timeseries"
},
{
"fieldConfig": {
"defaults": {
"unit": "bytes"
},
"overrides": []
},
"id": 11,
"title": "Timeseries with Missing Custom Config",
"type": "timeseries"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"axisPlacement": "hidden"
}
},
"overrides": [
{
"matcher": {
"id": "byType",
"options": "time"
},
"properties": [
{
"id": "custom.axisPlacement",
"value": "auto"
}
]
}
]
},
"id": 12,
"title": "Timeseries with Missing Overrides Array",
"type": "timeseries"
}
],
"schemaVersion": 35,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "X-Axis Visibility Test Dashboard",
"weekStart": ""
}

View File

@@ -1,413 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"name": "Default Annotation - Tests default datasource migration"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"name": "Named Datasource Annotation - Tests migration by datasource name"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"name": "UID Datasource Annotation - Tests migration by datasource UID"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"name": "Null Datasource Annotation - Tests null datasource fallback to default"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "unknown-datasource-name"
},
"name": "Unknown Datasource Annotation - Tests unknown datasource preserved as UID"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests null panel datasource migration with targets - should fallback to default",
"id": 1,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with Null Datasource and Targets"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests null panel datasource with empty targets array - should create default target",
"id": 2,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with Null Datasource and Empty Targets"
},
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests null panel datasource with missing targets - should create default target array",
"id": 3,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Panel with No Targets Array"
},
{
"datasource": {
"uid": "-- Mixed --"
},
"description": "Tests mixed datasource panel - targets should migrate independently",
"id": 4,
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "B"
}
],
"title": "Panel with Mixed Datasources"
},
{
"datasource": {
"type": "prometheus",
"uid": "existing-ref-uid"
},
"description": "Tests panel with already migrated datasource object - should preserve existing refs",
"id": 5,
"targets": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "A"
}
],
"title": "Panel with Existing Object Datasource"
},
{
"datasource": {
"uid": "unknown-panel-datasource"
},
"description": "Tests panel with unknown datasource - should preserve as UID-only reference",
"id": 6,
"targets": [
{
"datasource": {
"uid": "unknown-target-datasource"
},
"refId": "A"
}
],
"title": "Panel with Unknown Datasource Name"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel with expression query - should not inherit expression as panel datasource",
"id": 7,
"targets": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "A"
},
{
"datasource": {
"type": "__expr__",
"uid": "__expr__"
},
"refId": "B"
}
],
"title": "Panel with Expression Query"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel inheriting datasource from target when panel datasource was default",
"id": 8,
"targets": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "A"
}
],
"title": "Panel Inheriting from Target"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel with datasource referenced by name - should migrate to full object",
"id": 9,
"targets": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "A"
}
],
"title": "Panel with Named Datasource"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel with datasource referenced by UID - should migrate to full object",
"id": 10,
"targets": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "A"
}
],
"title": "Panel with UID Datasource"
},
{
"collapsed": false,
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests row panel - it gets datasource or targets fields added even it is not needed, but this is how it works in frontend",
"id": 11,
"panels": [],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Simple Row Panel",
"type": "row"
},
{
"collapsed": true,
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests collapsed row with nested panels - nested panels should migrate",
"id": 12,
"panels": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Nested panel in collapsed row with default datasource",
"id": 13,
"targets": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "A"
}
],
"title": "Nested Panel with Default Datasource"
},
{
"datasource": {
"uid": "unknown-nested-datasource"
},
"description": "Nested panel in collapsed row with unknown datasource",
"id": 14,
"targets": [
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"refId": "A"
}
],
"title": "Nested Panel with Unknown Datasource"
}
],
"targets": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"refId": "A"
}
],
"title": "Collapsed Row with Nested Panels",
"type": "row"
}
],
"schemaVersion": 36,
"tags": [],
"templating": {
"list": [
{
"datasource": {
"apiVersion": "v1",
"type": "prometheus",
"uid": "default-ds-uid"
},
"name": "query_var_null",
"options": [],
"type": "query"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"name": "query_var_named",
"options": [],
"type": "query"
},
{
"datasource": {
"apiVersion": "v2",
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"name": "query_var_uid",
"options": [],
"type": "query"
},
{
"datasource": {
"uid": "unknown-datasource"
},
"name": "query_var_unknown",
"options": [],
"type": "query"
},
{
"name": "non_query_var",
"type": "constant"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Datasource Reference Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,160 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"id": 1,
"options": {
"legend": true
},
"title": "Panel with Boolean Legend True",
"type": "timeseries"
},
{
"id": 2,
"options": {
"legend": false
},
"title": "Panel with Boolean Legend False",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"id": 3,
"options": {
"legend": {
"displayMode": "list",
"showLegend": false
}
},
"title": "Panel with Hidden DisplayMode",
"type": "timeseries"
},
{
"id": 4,
"options": {
"legend": {
"displayMode": "list",
"showLegend": false
}
},
"title": "Panel with ShowLegend False",
"type": "stat"
},
{
"id": 5,
"options": {
"legend": {
"displayMode": "table",
"placement": "bottom",
"showLegend": true
}
},
"title": "Panel with Table Legend",
"type": "barchart"
},
{
"id": 6,
"options": {
"legend": {
"displayMode": "list",
"placement": "right",
"showLegend": true
}
},
"title": "Panel with List Legend",
"type": "histogram"
},
{
"id": 7,
"title": "Panel with No Options",
"type": "text"
},
{
"id": 8,
"options": {
"reduceOptions": {
"fields": "/.*temperature.*/"
}
},
"title": "Panel with No Legend Config",
"type": "gauge"
},
{
"id": 9,
"options": {},
"title": "Panel with Null Legend",
"type": "piechart"
},
{
"collapsed": false,
"id": 10,
"panels": [
{
"id": 11,
"options": {
"legend": true
},
"title": "Nested Panel with Boolean Legend",
"type": "timeseries"
},
{
"autoMigrateFrom": "graph",
"id": 12,
"options": {
"legend": {
"displayMode": "list",
"showLegend": false
}
},
"title": "Nested Panel with Hidden DisplayMode",
"type": "timeseries"
},
{
"id": 13,
"options": {
"legend": {
"displayMode": "list",
"showLegend": false
}
},
"title": "Nested Panel with Conflicting Properties",
"type": "stat"
}
],
"title": "Row with Nested Panels Having Various Legend Configs",
"type": "row"
}
],
"schemaVersion": 37,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V37 Legend Normalization Test Dashboard",
"weekStart": ""
}

View File

@@ -1,254 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 1,
"title": "Table with Basic Gauge",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "gradient",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 2,
"title": "Table with Gradient Gauge",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "lcd",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 3,
"title": "Table with LCD Gauge",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "gradient",
"type": "color-background"
}
}
},
"overrides": []
},
"id": 4,
"title": "Table with Color Background",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "color-background"
}
}
},
"overrides": []
},
"id": 5,
"title": "Table with Color Background Solid",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"type": "some-other-mode"
}
}
},
"overrides": []
},
"id": 6,
"title": "Table with Unknown Mode",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"width": 100
}
},
"overrides": []
},
"id": 7,
"title": "Table with No Display Mode",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "gauge"
}
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Field1"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"mode": "gradient",
"type": "gauge"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "Field2"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"mode": "gradient",
"type": "color-background"
}
}
]
}
]
},
"id": 8,
"title": "Table with Overrides",
"type": "table"
},
{
"autoMigrateFrom": "graph",
"id": 9,
"title": "Non-table Panel (Should Remain Unchanged)",
"type": "timeseries"
},
{
"collapsed": false,
"id": 10,
"panels": [
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 11,
"title": "Nested Table with Basic Mode",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "gradient",
"type": "gauge"
}
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "NestedField"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"mode": "lcd",
"type": "gauge"
}
}
]
}
]
},
"id": 12,
"title": "Nested Table with Gradient Gauge",
"type": "table"
}
],
"title": "Row with Nested Table Panels",
"type": "row"
}
],
"schemaVersion": 38,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V38 Table Migration Comprehensive Test Dashboard",
"weekStart": ""
}

View File

@@ -1,254 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 1,
"title": "Table with Basic Gauge",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "gradient",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 2,
"title": "Table with Gradient Gauge",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "lcd",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 3,
"title": "Table with LCD Gauge",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "gradient",
"type": "color-background"
}
}
},
"overrides": []
},
"id": 4,
"title": "Table with Color Background",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "color-background"
}
}
},
"overrides": []
},
"id": 5,
"title": "Table with Color Background Solid",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"type": "some-other-mode"
}
}
},
"overrides": []
},
"id": 6,
"title": "Table with Unknown Mode",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"width": 100
}
},
"overrides": []
},
"id": 7,
"title": "Table with No Display Mode",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "gauge"
}
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Field1"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"mode": "gradient",
"type": "gauge"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "Field2"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"mode": "gradient",
"type": "color-background"
}
}
]
}
]
},
"id": 8,
"title": "Table with Overrides",
"type": "table"
},
{
"autoMigrateFrom": "graph",
"id": 9,
"title": "Non-table Panel (Should Remain Unchanged)",
"type": "timeseries"
},
{
"collapsed": false,
"id": 10,
"panels": [
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "basic",
"type": "gauge"
}
}
},
"overrides": []
},
"id": 11,
"title": "Nested Table with Basic Mode",
"type": "table"
},
{
"fieldConfig": {
"defaults": {
"custom": {
"cellOptions": {
"mode": "gradient",
"type": "gauge"
}
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "NestedField"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"mode": "lcd",
"type": "gauge"
}
}
]
}
]
},
"id": 12,
"title": "Nested Table with Gradient Gauge",
"type": "table"
}
],
"title": "Row with Nested Table Panels",
"type": "row"
}
],
"schemaVersion": 38,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V38 Table Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,191 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"id": 1,
"title": "Panel with TimeSeriesTable Transformation - Single Stat",
"transformations": [
{
"id": "timeSeriesTable",
"options": {
"A": {
"stat": "mean"
}
}
}
],
"type": "table"
},
{
"id": 2,
"title": "Panel with TimeSeriesTable Transformation - Multiple Stats",
"transformations": [
{
"id": "timeSeriesTable",
"options": {
"A": {
"stat": "mean"
},
"B": {
"stat": "max"
},
"C": {
"stat": "min"
},
"D": {
"stat": "sum"
}
}
}
],
"type": "table"
},
{
"autoMigrateFrom": "graph",
"id": 3,
"title": "Panel with TimeSeriesTable Transformation - Mixed with Other Transforms",
"transformations": [
{
"id": "reduce",
"options": {
"reducers": [
"mean"
]
}
},
{
"id": "timeSeriesTable",
"options": {
"A": {
"stat": "last"
},
"B": {
"stat": "first"
}
}
},
{
"id": "organize",
"options": {
"excludeByName": {}
}
}
],
"type": "timeseries"
},
{
"id": 4,
"title": "Panel with Non-TimeSeriesTable Transformation (Should Remain Unchanged)",
"transformations": [
{
"id": "reduce",
"options": {
"reducers": [
"mean",
"max"
]
}
}
],
"type": "stat"
},
{
"id": 5,
"title": "Panel with TimeSeriesTable - Empty RefIdToStat",
"transformations": [
{
"id": "timeSeriesTable",
"options": {}
}
],
"type": "table"
},
{
"id": 6,
"title": "Panel with TimeSeriesTable - No Options (Should Skip)",
"transformations": [
{
"id": "timeSeriesTable"
}
],
"type": "table"
},
{
"id": 7,
"title": "Panel with TimeSeriesTable - Invalid Options (Should Skip)",
"transformations": [
{
"id": "timeSeriesTable",
"options": {
"someOtherOption": "value"
}
}
],
"type": "table"
},
{
"autoMigrateFrom": "graph",
"id": 8,
"title": "Panel with No Transformations (Should Remain Unchanged)",
"type": "timeseries"
},
{
"collapsed": false,
"id": 9,
"panels": [
{
"id": 10,
"title": "Nested Panel with TimeSeriesTable",
"transformations": [
{
"id": "timeSeriesTable",
"options": {
"NestedA": {
"stat": "median"
},
"NestedB": {
"stat": "stdDev"
}
}
}
],
"type": "table"
}
],
"title": "Row with Nested Panels Having TimeSeriesTable Transformations",
"type": "row"
}
],
"schemaVersion": 39,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V39 TimeSeriesTable Transformation Migration Test Dashboard",
"weekStart": ""
}

View File

@@ -1,52 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"autoMigrateFrom": "singlestat",
"id": 1,
"type": "stat"
},
{
"autoMigrateFrom": "singlestat",
"id": 2,
"type": "stat"
},
{
"autoMigrateFrom": "graph",
"id": 3,
"type": "timeseries"
}
],
"schemaVersion": 4,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "V4 No-Op Migration Test",
"weekStart": ""
}

Some files were not shown because too many files have changed in this diff Show More