1632 lines
42 KiB
JSON
1632 lines
42 KiB
JSON
{
|
|
"__inputs": [
|
|
{
|
|
"name": "DS_PROMETHEUS",
|
|
"label": "prometheus",
|
|
"description": "",
|
|
"type": "datasource",
|
|
"pluginId": "prometheus",
|
|
"pluginName": "Prometheus"
|
|
},
|
|
{
|
|
"name": "VAR_GITLAB_HOST",
|
|
"type": "constant",
|
|
"label": "GITLAB_HOST",
|
|
"value": "gitlab.com",
|
|
"description": ""
|
|
}
|
|
],
|
|
"__requires": [
|
|
{
|
|
"type": "grafana",
|
|
"id": "grafana",
|
|
"name": "Grafana",
|
|
"version": "7.3.1"
|
|
},
|
|
{
|
|
"type": "panel",
|
|
"id": "grafana-polystat-panel",
|
|
"name": "Polystat",
|
|
"version": "1.2.2"
|
|
},
|
|
{
|
|
"type": "panel",
|
|
"id": "graph",
|
|
"name": "Graph",
|
|
"version": ""
|
|
},
|
|
{
|
|
"type": "datasource",
|
|
"id": "prometheus",
|
|
"name": "Prometheus",
|
|
"version": "1.0.0"
|
|
},
|
|
{
|
|
"type": "panel",
|
|
"id": "stat",
|
|
"name": "Stat",
|
|
"version": ""
|
|
},
|
|
{
|
|
"type": "panel",
|
|
"id": "table",
|
|
"name": "Table",
|
|
"version": ""
|
|
},
|
|
{
|
|
"type": "panel",
|
|
"id": "text",
|
|
"name": "Text",
|
|
"version": ""
|
|
}
|
|
],
|
|
"annotations": {
|
|
"list": [
|
|
{
|
|
"builtIn": 1,
|
|
"datasource": "-- Grafana --",
|
|
"enable": true,
|
|
"hide": true,
|
|
"iconColor": "rgba(0, 211, 255, 1)",
|
|
"name": "Annotations & Alerts",
|
|
"type": "dashboard"
|
|
}
|
|
]
|
|
},
|
|
"description": "This dashboard leverages the Prometheus exporter I wrote to fetch information about GitLab CI pipelines statuses. More information here: https://github.com/mvisonneau/gitlab-ci-pipelines-exporter",
|
|
"editable": true,
|
|
"gnetId": 10620,
|
|
"graphTooltip": 0,
|
|
"id": null,
|
|
"iteration": 1604494964195,
|
|
"links": [],
|
|
"panels": [
|
|
{
|
|
"datasource": "${DS_PROMETHEUS}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 3,
|
|
"w": 2,
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"id": 116,
|
|
"options": {
|
|
"content": "<p style=\"text-align:center;\"><img src=\"https://www.cloudfoundry.org/wp-content/uploads/2017/10/icon_gitlab_cf@2x.png\" width=80px/></p>",
|
|
"mode": "html"
|
|
},
|
|
"pluginVersion": "7.3.1",
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "",
|
|
"transparent": true,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"cacheTimeout": null,
|
|
"datasource": "${DS_PROMETHEUS}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {},
|
|
"decimals": 0,
|
|
"mappings": [
|
|
{
|
|
"id": 0,
|
|
"op": "=",
|
|
"text": "N/A",
|
|
"type": 1,
|
|
"value": "null"
|
|
}
|
|
],
|
|
"nullValueMode": "connected",
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "semi-dark-blue",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "#d44a3a"
|
|
}
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 3,
|
|
"w": 2,
|
|
"x": 2,
|
|
"y": 0
|
|
},
|
|
"id": 107,
|
|
"interval": null,
|
|
"links": [],
|
|
"maxDataPoints": 100,
|
|
"options": {
|
|
"colorMode": "background",
|
|
"fieldOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
]
|
|
},
|
|
"graphMode": "area",
|
|
"justifyMode": "auto",
|
|
"orientation": "horizontal",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"last"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "auto"
|
|
},
|
|
"pluginVersion": "7.3.1",
|
|
"targets": [
|
|
{
|
|
"expr": "count(gitlab_ci_pipeline_run_count{project=~\"$PROJECT\", ref=~\"$REF\"})",
|
|
"format": "time_series",
|
|
"instant": false,
|
|
"interval": "",
|
|
"intervalFactor": 1,
|
|
"legendFormat": "",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "PIPELINES #",
|
|
"type": "stat"
|
|
},
|
|
{
|
|
"cacheTimeout": null,
|
|
"datasource": "${DS_PROMETHEUS}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {},
|
|
"decimals": 0,
|
|
"mappings": [
|
|
{
|
|
"id": 0,
|
|
"op": "=",
|
|
"text": "N/A",
|
|
"type": 1,
|
|
"value": "null"
|
|
}
|
|
],
|
|
"nullValueMode": "connected",
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "#299c46",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "#C4162A",
|
|
"value": 1
|
|
},
|
|
{
|
|
"color": "#d44a3a"
|
|
}
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 3,
|
|
"w": 2,
|
|
"x": 4,
|
|
"y": 0
|
|
},
|
|
"id": 117,
|
|
"interval": null,
|
|
"links": [],
|
|
"maxDataPoints": 100,
|
|
"options": {
|
|
"colorMode": "background",
|
|
"fieldOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
]
|
|
},
|
|
"graphMode": "area",
|
|
"justifyMode": "auto",
|
|
"orientation": "horizontal",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"last"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "auto"
|
|
},
|
|
"pluginVersion": "7.3.1",
|
|
"targets": [
|
|
{
|
|
"expr": "count(gitlab_ci_pipeline_status{status=\"failed\", project=~\"$PROJECT\", ref=~\"$REF\"} > 0) or vector(0)",
|
|
"format": "time_series",
|
|
"instant": false,
|
|
"interval": "",
|
|
"intervalFactor": 1,
|
|
"legendFormat": "",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "FAILED PIPELINES #",
|
|
"type": "stat"
|
|
},
|
|
{
|
|
"cacheTimeout": null,
|
|
"datasource": "${DS_PROMETHEUS}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {},
|
|
"decimals": 0,
|
|
"mappings": [
|
|
{
|
|
"id": 0,
|
|
"op": "=",
|
|
"text": "N/A",
|
|
"type": 1,
|
|
"value": "null"
|
|
}
|
|
],
|
|
"nullValueMode": "connected",
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "semi-dark-blue",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "#d44a3a"
|
|
}
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 3,
|
|
"w": 3,
|
|
"x": 6,
|
|
"y": 0
|
|
},
|
|
"id": 118,
|
|
"interval": null,
|
|
"links": [],
|
|
"maxDataPoints": 100,
|
|
"options": {
|
|
"colorMode": "background",
|
|
"fieldOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
]
|
|
},
|
|
"graphMode": "area",
|
|
"justifyMode": "auto",
|
|
"orientation": "horizontal",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"last"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "auto"
|
|
},
|
|
"pluginVersion": "7.3.1",
|
|
"targets": [
|
|
{
|
|
"expr": "sum(increase(gitlab_ci_pipeline_run_count{project=~\"$PROJECT\", ref=~\"$REF\"}[1h]))",
|
|
"format": "time_series",
|
|
"instant": false,
|
|
"interval": "",
|
|
"intervalFactor": 1,
|
|
"legendFormat": "",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "RUNS # (in the last hour)",
|
|
"type": "stat"
|
|
},
|
|
{
|
|
"colors": [
|
|
"#299c46",
|
|
"rgba(237, 129, 40, 0.89)",
|
|
"#d44a3a",
|
|
"#4040a0"
|
|
],
|
|
"datasource": "${DS_PROMETHEUS}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 6,
|
|
"w": 15,
|
|
"x": 9,
|
|
"y": 0
|
|
},
|
|
"id": 110,
|
|
"links": [],
|
|
"mappingType": 1,
|
|
"mappingTypes": [
|
|
{
|
|
"name": "value to text",
|
|
"value": 1
|
|
},
|
|
{
|
|
"name": "range to text",
|
|
"value": 2
|
|
}
|
|
],
|
|
"polystat": {
|
|
"animationSpeed": 2500,
|
|
"columnAutoSize": true,
|
|
"columns": "",
|
|
"defaultClickThrough": "",
|
|
"defaultClickThroughNewTab": false,
|
|
"defaultClickThroughSanitize": false,
|
|
"displayLimit": "",
|
|
"fontAutoColor": true,
|
|
"fontAutoScale": true,
|
|
"fontSize": 4,
|
|
"fontType": "Roboto",
|
|
"globalDecimals": 2,
|
|
"globalDisplayMode": "all",
|
|
"globalDisplayTextTriggeredEmpty": "OK",
|
|
"globalOperatorName": "current",
|
|
"globalThresholds": [
|
|
{
|
|
"$$hashKey": "object:618",
|
|
"color": "#299c46",
|
|
"state": 0,
|
|
"value": 1
|
|
},
|
|
{
|
|
"$$hashKey": "object:625",
|
|
"color": "#3274D9",
|
|
"state": 3,
|
|
"value": 2
|
|
},
|
|
{
|
|
"$$hashKey": "object:628",
|
|
"color": "#d44a3a",
|
|
"state": 2,
|
|
"value": 3
|
|
},
|
|
{
|
|
"$$hashKey": "object:631",
|
|
"color": "#959595",
|
|
"state": 3,
|
|
"value": 4
|
|
}
|
|
],
|
|
"globalUnitFormat": "short",
|
|
"gradientEnabled": true,
|
|
"hexagonSortByDirection": 1,
|
|
"hexagonSortByField": "name",
|
|
"maxMetrics": 0,
|
|
"polygonBorderColor": "#10111c",
|
|
"polygonBorderSize": 1,
|
|
"polygonGlobalFillColor": "#0a50a1",
|
|
"radius": "",
|
|
"radiusAutoSize": true,
|
|
"rowAutoSize": false,
|
|
"rows": 4,
|
|
"shape": "hexagon_pointed_top",
|
|
"tooltipDisplayMode": "all",
|
|
"tooltipDisplayTextTriggeredEmpty": "OK",
|
|
"tooltipFontSize": 12,
|
|
"tooltipFontType": "Roboto",
|
|
"tooltipPrimarySortDirection": 2,
|
|
"tooltipPrimarySortField": "thresholdLevel",
|
|
"tooltipSecondarySortDirection": 2,
|
|
"tooltipSecondarySortField": "value",
|
|
"tooltipTimestampEnabled": false,
|
|
"valueEnabled": false
|
|
},
|
|
"rangeMaps": [
|
|
{
|
|
"from": "null",
|
|
"text": "N/A",
|
|
"to": "null"
|
|
}
|
|
],
|
|
"savedComposites": [],
|
|
"savedOverrides": [
|
|
{
|
|
"$$hashKey": "object:591",
|
|
"clickThrough": "",
|
|
"colors": [
|
|
"#299c46",
|
|
"#e5ac0e",
|
|
"#bf1b00",
|
|
"#ffffff"
|
|
],
|
|
"decimals": "",
|
|
"enabled": true,
|
|
"label": "OVERRIDE 1",
|
|
"metricName": "/.*/",
|
|
"operatorName": "current",
|
|
"prefix": "",
|
|
"sanitizeURLEnabled": true,
|
|
"scaledDecimals": null,
|
|
"suffix": "",
|
|
"unitFormat": "short"
|
|
}
|
|
],
|
|
"targets": [
|
|
{
|
|
"expr": "(gitlab_ci_pipeline_status{status=\"success\", project=~\"$PROJECT\", ref=~\"$REF\"} * 1 > 0) or (gitlab_ci_pipeline_status{status=\"running\", project=~\"$PROJECT\", ref=~\"$REF\"} * 2 > 0) or (gitlab_ci_pipeline_status{status=~\"failed|canceled\", project=~\"$PROJECT\", ref=~\"$REF\"} * 3 > 0) or (gitlab_ci_pipeline_status{status!~\"success|running|failed|canceled\", project=~\"$PROJECT\", ref=~\"$REF\"} * 4 > 0)",
|
|
"format": "time_series",
|
|
"hide": false,
|
|
"instant": true,
|
|
"interval": "",
|
|
"intervalFactor": 1,
|
|
"legendFormat": " {{project}} - {{ref}}",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "",
|
|
"transparent": true,
|
|
"type": "grafana-polystat-panel",
|
|
"valueMaps": [
|
|
{
|
|
"op": "=",
|
|
"text": "N/A",
|
|
"value": "null"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"cacheTimeout": null,
|
|
"datasource": "${DS_PROMETHEUS}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {},
|
|
"decimals": 0,
|
|
"mappings": [
|
|
{
|
|
"id": 0,
|
|
"op": "=",
|
|
"text": "N/A",
|
|
"type": 1,
|
|
"value": "null"
|
|
}
|
|
],
|
|
"nullValueMode": "connected",
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "#299c46",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "rgba(237, 129, 40, 0.89)",
|
|
"value": 5184000
|
|
},
|
|
{
|
|
"color": "#C4162A",
|
|
"value": 15552000
|
|
}
|
|
]
|
|
},
|
|
"unit": "dtdurations"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 3,
|
|
"w": 5,
|
|
"x": 0,
|
|
"y": 3
|
|
},
|
|
"id": 108,
|
|
"interval": null,
|
|
"links": [],
|
|
"maxDataPoints": 100,
|
|
"options": {
|
|
"colorMode": "background",
|
|
"fieldOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
]
|
|
},
|
|
"graphMode": "area",
|
|
"justifyMode": "center",
|
|
"orientation": "horizontal",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "/^Value$/",
|
|
"values": false
|
|
},
|
|
"textMode": "auto"
|
|
},
|
|
"pluginVersion": "7.3.1",
|
|
"targets": [
|
|
{
|
|
"expr": "avg(time() - gitlab_ci_pipeline_timestamp{project=~\"$PROJECT\", ref=~\"$REF\"})",
|
|
"format": "time_series",
|
|
"interval": "",
|
|
"intervalFactor": 1,
|
|
"legendFormat": "",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "Average Pipeline Run Frequency",
|
|
"type": "stat"
|
|
},
|
|
{
|
|
"cacheTimeout": null,
|
|
"datasource": "${DS_PROMETHEUS}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {},
|
|
"decimals": 0,
|
|
"mappings": [
|
|
{
|
|
"id": 0,
|
|
"op": "=",
|
|
"text": "N/A",
|
|
"type": 1,
|
|
"value": "null"
|
|
}
|
|
],
|
|
"nullValueMode": "connected",
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "#299c46",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "rgba(237, 129, 40, 0.89)",
|
|
"value": 600
|
|
},
|
|
{
|
|
"color": "#d44a3a",
|
|
"value": 900
|
|
}
|
|
]
|
|
},
|
|
"unit": "dtdurations"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 3,
|
|
"w": 4,
|
|
"x": 5,
|
|
"y": 3
|
|
},
|
|
"id": 106,
|
|
"interval": null,
|
|
"links": [],
|
|
"maxDataPoints": 100,
|
|
"options": {
|
|
"colorMode": "background",
|
|
"fieldOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
]
|
|
},
|
|
"graphMode": "area",
|
|
"justifyMode": "auto",
|
|
"orientation": "horizontal",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "auto"
|
|
},
|
|
"pluginVersion": "7.3.1",
|
|
"targets": [
|
|
{
|
|
"expr": "avg(gitlab_ci_pipeline_duration_seconds{project=~\"$PROJECT\", ref=~\"$REF\"})",
|
|
"format": "time_series",
|
|
"interval": "",
|
|
"intervalFactor": 1,
|
|
"legendFormat": "",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "Average Pipeline Duration",
|
|
"type": "stat"
|
|
},
|
|
{
|
|
"aliasColors": {},
|
|
"bars": true,
|
|
"dashLength": 10,
|
|
"dashes": false,
|
|
"datasource": "${DS_PROMETHEUS}",
|
|
"description": "",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 80
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"fill": 1,
|
|
"fillGradient": 0,
|
|
"gridPos": {
|
|
"h": 4,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 6
|
|
},
|
|
"hiddenSeries": false,
|
|
"id": 114,
|
|
"legend": {
|
|
"alignAsTable": true,
|
|
"avg": false,
|
|
"current": false,
|
|
"hideZero": true,
|
|
"max": false,
|
|
"min": false,
|
|
"rightSide": true,
|
|
"show": true,
|
|
"total": false,
|
|
"values": false
|
|
},
|
|
"lines": false,
|
|
"linewidth": 1,
|
|
"nullPointMode": "null as zero",
|
|
"options": {
|
|
"alertThreshold": false
|
|
},
|
|
"percentage": false,
|
|
"pluginVersion": "7.3.1",
|
|
"pointradius": 2,
|
|
"points": false,
|
|
"renderer": "flot",
|
|
"seriesOverrides": [],
|
|
"spaceLength": 10,
|
|
"stack": true,
|
|
"steppedLine": false,
|
|
"targets": [
|
|
{
|
|
"expr": "sum(increase(gitlab_ci_pipeline_run_count{project=~\"$PROJECT\", ref=~\"$REF\"}[1m])) by (project, ref) / sum(increase(gitlab_ci_pipeline_run_count{project=~\"$PROJECT\", ref=~\"$REF\"}[1m])) by (project, ref)",
|
|
"format": "time_series",
|
|
"instant": false,
|
|
"interval": "",
|
|
"legendFormat": "{{ project }} - {{ ref }}",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"thresholds": [],
|
|
"timeFrom": null,
|
|
"timeRegions": [],
|
|
"timeShift": null,
|
|
"title": "PIPELINE RUNS",
|
|
"tooltip": {
|
|
"shared": true,
|
|
"sort": 0,
|
|
"value_type": "individual"
|
|
},
|
|
"type": "graph",
|
|
"xaxis": {
|
|
"buckets": null,
|
|
"mode": "time",
|
|
"name": null,
|
|
"show": true,
|
|
"values": []
|
|
},
|
|
"yaxes": [
|
|
{
|
|
"format": "short",
|
|
"label": null,
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": "0",
|
|
"show": true
|
|
},
|
|
{
|
|
"format": "short",
|
|
"label": null,
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true
|
|
}
|
|
],
|
|
"yaxis": {
|
|
"align": false,
|
|
"alignLevel": null
|
|
}
|
|
},
|
|
{
|
|
"datasource": "${DS_PROMETHEUS}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"custom": {
|
|
"align": "center",
|
|
"displayMode": "auto",
|
|
"filterable": false
|
|
},
|
|
"links": [],
|
|
"mappings": [
|
|
{
|
|
"from": "",
|
|
"id": 1,
|
|
"text": "",
|
|
"to": "",
|
|
"type": 1
|
|
}
|
|
],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "ID"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "links",
|
|
"value": [
|
|
{
|
|
"targetBlank": true,
|
|
"title": "View pipeline #${__value.numeric}",
|
|
"url": "https://${GITLAB_HOST}/${__data.fields.project}/pipelines/${__value.numeric}"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "custom.displayMode",
|
|
"value": "color-background"
|
|
},
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "dark-blue",
|
|
"mode": "fixed"
|
|
}
|
|
},
|
|
{
|
|
"id": "custom.width",
|
|
"value": 85
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Status"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.displayMode",
|
|
"value": "color-background"
|
|
},
|
|
{
|
|
"id": "mappings",
|
|
"value": [
|
|
{
|
|
"from": "",
|
|
"id": 1,
|
|
"text": "SUCCESS",
|
|
"to": "",
|
|
"type": 1,
|
|
"value": "1"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Job"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.align",
|
|
"value": "left"
|
|
},
|
|
{
|
|
"id": "custom.width",
|
|
"value": 230
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Project"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.align",
|
|
"value": "left"
|
|
},
|
|
{
|
|
"id": "custom.width",
|
|
"value": 218
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Ref Kind"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.width",
|
|
"value": 98
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Ref Name"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.width",
|
|
"value": 122
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Duration"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "unit",
|
|
"value": "dtdurations"
|
|
},
|
|
{
|
|
"id": "thresholds",
|
|
"value": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "light-orange",
|
|
"value": 900
|
|
},
|
|
{
|
|
"color": "semi-dark-red",
|
|
"value": 1200
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "custom.displayMode",
|
|
"value": "color-background"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Date"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "unit",
|
|
"value": "dtdurations"
|
|
},
|
|
{
|
|
"id": "custom.displayMode",
|
|
"value": "color-background"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"gridPos": {
|
|
"h": 26,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 6
|
|
},
|
|
"id": 122,
|
|
"links": [],
|
|
"options": {
|
|
"showHeader": true,
|
|
"sortBy": [
|
|
{
|
|
"desc": true,
|
|
"displayName": "Date"
|
|
}
|
|
]
|
|
},
|
|
"pluginVersion": "7.3.1",
|
|
"targets": [
|
|
{
|
|
"expr": "-max(time() - gitlab_ci_pipeline_timestamp{project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) unless max(gitlab_ci_pipeline_status{status!~\"success\", project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) > 0",
|
|
"format": "table",
|
|
"hide": false,
|
|
"instant": true,
|
|
"interval": "",
|
|
"intervalFactor": 1,
|
|
"legendFormat": "",
|
|
"refId": "B"
|
|
},
|
|
{
|
|
"expr": "max(gitlab_ci_pipeline_duration_seconds{project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) unless (max(gitlab_ci_pipeline_status{status!~\"success\", project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) > 0)",
|
|
"format": "table",
|
|
"hide": false,
|
|
"instant": true,
|
|
"interval": "",
|
|
"intervalFactor": 1,
|
|
"legendFormat": "",
|
|
"refId": "C"
|
|
},
|
|
{
|
|
"expr": "max(gitlab_ci_pipeline_id{project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) unless (max(gitlab_ci_pipeline_status{status!~\"success\", project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) > 0)",
|
|
"format": "table",
|
|
"instant": true,
|
|
"interval": "",
|
|
"legendFormat": "",
|
|
"refId": "D"
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "SUCCESSFULLY COMPLETED",
|
|
"transformations": [
|
|
{
|
|
"id": "merge",
|
|
"options": {}
|
|
},
|
|
{
|
|
"id": "organize",
|
|
"options": {
|
|
"excludeByName": {
|
|
"Time": true,
|
|
"Value #A": false,
|
|
"job_name": false
|
|
},
|
|
"indexByName": {
|
|
"Time": 0,
|
|
"Value #A": 9,
|
|
"Value #B": 6,
|
|
"Value #C": 7,
|
|
"Value #D": 1,
|
|
"job_name": 3,
|
|
"kind": 4,
|
|
"project": 2,
|
|
"ref": 5,
|
|
"status": 8
|
|
},
|
|
"renameByName": {
|
|
"Value #A": "Status",
|
|
"Value #B": "Date",
|
|
"Value #C": "Duration",
|
|
"Value #D": "ID",
|
|
"job_name": "Job",
|
|
"kind": "Ref Kind",
|
|
"project": "Project",
|
|
"ref": "Ref Name",
|
|
"status": "Status"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "calculateField",
|
|
"options": {
|
|
"alias": "Status",
|
|
"mode": "reduceRow",
|
|
"reduce": {
|
|
"include": [
|
|
"ID"
|
|
],
|
|
"reducer": "count"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"type": "table"
|
|
},
|
|
{
|
|
"datasource": "${DS_PROMETHEUS}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"custom": {
|
|
"align": "center",
|
|
"displayMode": "auto",
|
|
"filterable": false
|
|
},
|
|
"links": [],
|
|
"mappings": [
|
|
{
|
|
"from": "",
|
|
"id": 1,
|
|
"text": "",
|
|
"to": "",
|
|
"type": 1
|
|
}
|
|
],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "ID"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "links",
|
|
"value": [
|
|
{
|
|
"targetBlank": true,
|
|
"title": "View pipeline #${__value.numeric}",
|
|
"url": "https://${GITLAB_HOST}/${__data.fields.project}/pipelines/${__value.numeric}"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "custom.displayMode",
|
|
"value": "color-background"
|
|
},
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"fixedColor": "dark-blue",
|
|
"mode": "fixed"
|
|
}
|
|
},
|
|
{
|
|
"id": "custom.width",
|
|
"value": 85
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Status"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.displayMode",
|
|
"value": "color-background"
|
|
},
|
|
{
|
|
"id": "color",
|
|
"value": {
|
|
"mode": "thresholds"
|
|
}
|
|
},
|
|
{
|
|
"id": "mappings",
|
|
"value": [
|
|
{
|
|
"from": "",
|
|
"id": 1,
|
|
"text": "RUNNING",
|
|
"to": "",
|
|
"type": 1,
|
|
"value": "2"
|
|
},
|
|
{
|
|
"from": "",
|
|
"id": 2,
|
|
"text": "FAILED",
|
|
"to": "",
|
|
"type": 1,
|
|
"value": "3"
|
|
},
|
|
{
|
|
"from": "",
|
|
"id": 3,
|
|
"text": "CANCELED",
|
|
"to": "",
|
|
"type": 1,
|
|
"value": "4"
|
|
},
|
|
{
|
|
"from": "",
|
|
"id": 4,
|
|
"text": "CREATED",
|
|
"to": "",
|
|
"type": 1,
|
|
"value": "5"
|
|
},
|
|
{
|
|
"from": "",
|
|
"id": 5,
|
|
"text": "WAITING FOR RESOURCE",
|
|
"to": "",
|
|
"type": 1,
|
|
"value": "6"
|
|
},
|
|
{
|
|
"from": "",
|
|
"id": 6,
|
|
"text": "PREPARING",
|
|
"to": "",
|
|
"type": 1,
|
|
"value": "7"
|
|
},
|
|
{
|
|
"from": "",
|
|
"id": 7,
|
|
"text": "PENDING",
|
|
"to": "",
|
|
"type": 1,
|
|
"value": "8"
|
|
},
|
|
{
|
|
"from": "",
|
|
"id": 8,
|
|
"text": "SKIPPED",
|
|
"to": "",
|
|
"type": 1,
|
|
"value": "9"
|
|
},
|
|
{
|
|
"from": "",
|
|
"id": 9,
|
|
"text": "MANUAL",
|
|
"to": "",
|
|
"type": 1,
|
|
"value": "10"
|
|
},
|
|
{
|
|
"from": "",
|
|
"id": 10,
|
|
"text": "SCHEDULED",
|
|
"to": "",
|
|
"type": 1,
|
|
"value": "11"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "thresholds",
|
|
"value": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "light-blue",
|
|
"value": 1
|
|
},
|
|
{
|
|
"color": "semi-dark-red",
|
|
"value": 3
|
|
},
|
|
{
|
|
"color": "light-orange",
|
|
"value": 5
|
|
},
|
|
{
|
|
"color": "rgb(135, 135, 134)",
|
|
"value": 9
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Job"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.align",
|
|
"value": "left"
|
|
},
|
|
{
|
|
"id": "custom.width",
|
|
"value": 230
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Project"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.align",
|
|
"value": "left"
|
|
},
|
|
{
|
|
"id": "custom.width",
|
|
"value": 218
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Ref Kind"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.width",
|
|
"value": 98
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Ref Name"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.width",
|
|
"value": 122
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Duration"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "unit",
|
|
"value": "dtdurations"
|
|
},
|
|
{
|
|
"id": "thresholds",
|
|
"value": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "light-orange",
|
|
"value": 900
|
|
},
|
|
{
|
|
"color": "semi-dark-red",
|
|
"value": 1200
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "custom.displayMode",
|
|
"value": "color-background"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Date"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "unit",
|
|
"value": "dtdurations"
|
|
},
|
|
{
|
|
"id": "custom.displayMode",
|
|
"value": "color-background"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"gridPos": {
|
|
"h": 22,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 10
|
|
},
|
|
"id": 120,
|
|
"links": [],
|
|
"options": {
|
|
"showHeader": true,
|
|
"sortBy": [
|
|
{
|
|
"desc": true,
|
|
"displayName": "Date"
|
|
}
|
|
]
|
|
},
|
|
"pluginVersion": "7.3.1",
|
|
"targets": [
|
|
{
|
|
"expr": "-max(time() - gitlab_ci_pipeline_timestamp{project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) unless max(gitlab_ci_pipeline_status{status=~\"success\", project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) > 0",
|
|
"format": "table",
|
|
"hide": false,
|
|
"instant": true,
|
|
"interval": "",
|
|
"intervalFactor": 1,
|
|
"legendFormat": "",
|
|
"refId": "B"
|
|
},
|
|
{
|
|
"expr": "max(gitlab_ci_pipeline_duration_seconds{project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) unless (max(gitlab_ci_pipeline_status{status=~\"success\", project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind) > 0)",
|
|
"format": "table",
|
|
"hide": false,
|
|
"instant": true,
|
|
"interval": "",
|
|
"intervalFactor": 1,
|
|
"legendFormat": "",
|
|
"refId": "C"
|
|
},
|
|
{
|
|
"expr": "(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"running\"}) by (project, ref, kind) * 2) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"failed\"}) by (project, ref, kind) * 3) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"canceled\"}) by (project, ref, kind) * 4) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"created\"}) by (project, ref, kind) * 5) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"waiting_for_resource\"}) by (project, ref, kind) * 6) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"preparing\"}) by (project, ref, kind) * 7) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"pending\"}) by (project, ref, kind) * 8) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"skipped\"}) by (project, ref, kind) * 9) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"manual\"}) by (project, ref, kind) * 10) > 0 or\n(max(gitlab_ci_pipeline_status{project=~\"$PROJECT\", ref=~\"$REF\", status=~\"scheduled\"}) by (project, ref, kind) * 11) > 0",
|
|
"format": "table",
|
|
"hide": false,
|
|
"instant": true,
|
|
"interval": "",
|
|
"intervalFactor": 1,
|
|
"legendFormat": "",
|
|
"refId": "A"
|
|
},
|
|
{
|
|
"expr": "max(gitlab_ci_pipeline_id{project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind, job_name) unless (max(gitlab_ci_pipeline_status{status=~\"success\", project=~\"$PROJECT\", ref=~\"$REF\"}) by (project, ref, kind, job_name) > 0)",
|
|
"format": "table",
|
|
"instant": true,
|
|
"interval": "",
|
|
"legendFormat": "",
|
|
"refId": "D"
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "RUNNING, FAILED OR NOT COMPLETED",
|
|
"transformations": [
|
|
{
|
|
"id": "merge",
|
|
"options": {}
|
|
},
|
|
{
|
|
"id": "organize",
|
|
"options": {
|
|
"excludeByName": {
|
|
"Time": true,
|
|
"Value #A": false,
|
|
"job_name": false
|
|
},
|
|
"indexByName": {
|
|
"Time": 0,
|
|
"Value #A": 9,
|
|
"Value #B": 6,
|
|
"Value #C": 7,
|
|
"Value #D": 1,
|
|
"job_name": 3,
|
|
"kind": 4,
|
|
"project": 2,
|
|
"ref": 5,
|
|
"status": 8
|
|
},
|
|
"renameByName": {
|
|
"Value #A": "Status",
|
|
"Value #B": "Date",
|
|
"Value #C": "Duration",
|
|
"Value #D": "ID",
|
|
"job_name": "Job",
|
|
"kind": "Ref Kind",
|
|
"project": "Project",
|
|
"ref": "Ref Name",
|
|
"status": "Status"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"type": "table"
|
|
}
|
|
],
|
|
"refresh": "10s",
|
|
"schemaVersion": 26,
|
|
"style": "dark",
|
|
"tags": [],
|
|
"templating": {
|
|
"list": [
|
|
{
|
|
"current": {
|
|
"value": "${VAR_GITLAB_HOST}",
|
|
"text": "${VAR_GITLAB_HOST}",
|
|
"selected": false
|
|
},
|
|
"error": null,
|
|
"hide": 2,
|
|
"label": null,
|
|
"name": "GITLAB_HOST",
|
|
"options": [
|
|
{
|
|
"value": "${VAR_GITLAB_HOST}",
|
|
"text": "${VAR_GITLAB_HOST}",
|
|
"selected": false
|
|
}
|
|
],
|
|
"query": "${VAR_GITLAB_HOST}",
|
|
"skipUrlSync": false,
|
|
"type": "constant"
|
|
},
|
|
{
|
|
"allValue": ".*",
|
|
"current": {},
|
|
"datasource": "${DS_PROMETHEUS}",
|
|
"definition": "label_values(gitlab_ci_pipeline_id, project)",
|
|
"error": null,
|
|
"hide": 0,
|
|
"includeAll": true,
|
|
"label": "owner",
|
|
"multi": true,
|
|
"name": "OWNER",
|
|
"options": [],
|
|
"query": "label_values(gitlab_ci_pipeline_id, project)",
|
|
"refresh": 2,
|
|
"regex": "/(.*)\\/.*$/",
|
|
"skipUrlSync": false,
|
|
"sort": 0,
|
|
"tagValuesQuery": "",
|
|
"tags": [],
|
|
"tagsQuery": "",
|
|
"type": "query",
|
|
"useTags": false
|
|
},
|
|
{
|
|
"allValue": ".*",
|
|
"current": {},
|
|
"datasource": "${DS_PROMETHEUS}",
|
|
"definition": "label_values(gitlab_ci_pipeline_id{project=~\"$OWNER.*\"}, project)",
|
|
"error": null,
|
|
"hide": 0,
|
|
"includeAll": true,
|
|
"label": "project",
|
|
"multi": true,
|
|
"name": "PROJECT",
|
|
"options": [],
|
|
"query": "label_values(gitlab_ci_pipeline_id{project=~\"$OWNER.*\"}, project)",
|
|
"refresh": 2,
|
|
"regex": "",
|
|
"skipUrlSync": false,
|
|
"sort": 1,
|
|
"tagValuesQuery": "",
|
|
"tags": [],
|
|
"tagsQuery": "",
|
|
"type": "query",
|
|
"useTags": false
|
|
},
|
|
{
|
|
"allValue": ".*",
|
|
"current": {},
|
|
"datasource": "${DS_PROMETHEUS}",
|
|
"definition": "label_values(gitlab_ci_pipeline_id{project=~\"$PROJECT\"}, ref)",
|
|
"error": null,
|
|
"hide": 0,
|
|
"includeAll": true,
|
|
"label": "ref",
|
|
"multi": true,
|
|
"name": "REF",
|
|
"options": [],
|
|
"query": "label_values(gitlab_ci_pipeline_id{project=~\"$PROJECT\"}, ref)",
|
|
"refresh": 2,
|
|
"regex": "",
|
|
"skipUrlSync": false,
|
|
"sort": 1,
|
|
"tagValuesQuery": "",
|
|
"tags": [],
|
|
"tagsQuery": "",
|
|
"type": "query",
|
|
"useTags": false
|
|
}
|
|
]
|
|
},
|
|
"time": {
|
|
"from": "now-1h",
|
|
"to": "now"
|
|
},
|
|
"timepicker": {
|
|
"refresh_intervals": [
|
|
"10s",
|
|
"30s",
|
|
"1m",
|
|
"5m",
|
|
"15m",
|
|
"30m",
|
|
"1h",
|
|
"2h",
|
|
"1d"
|
|
],
|
|
"time_options": [
|
|
"5m",
|
|
"15m",
|
|
"1h",
|
|
"6h",
|
|
"12h",
|
|
"24h",
|
|
"2d",
|
|
"7d",
|
|
"30d"
|
|
]
|
|
},
|
|
"timezone": "",
|
|
"title": "GitLab CI pipelines",
|
|
"uid": "gitlab_ci_pipelines",
|
|
"version": 1
|
|
} |