{ "__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": "

", "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 }