This is an automated email from the ASF dual-hosted git repository.
zky pushed a commit to branch release-v0.18
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/release-v0.18 by this push:
new f8d7224bb feat: add PagerDuty dashboard (#5776) (#5782)
f8d7224bb is described below
commit f8d7224bb384cde61c32edcc6d75ad9cdb788294
Author: Louis.z <[email protected]>
AuthorDate: Tue Aug 1 19:25:04 2023 +0800
feat: add PagerDuty dashboard (#5776) (#5782)
Co-authored-by: Startrekzky <[email protected]>
---
grafana/dashboards/Homepage.json | 508 +++++++++++----
grafana/dashboards/PagerDuty.json | 1282 +++++++++++++++++++++++++++++++++++++
2 files changed, 1673 insertions(+), 117 deletions(-)
diff --git a/grafana/dashboards/Homepage.json b/grafana/dashboards/Homepage.json
index 8e261f263..37cb7624a 100644
--- a/grafana/dashboards/Homepage.json
+++ b/grafana/dashboards/Homepage.json
@@ -3,7 +3,10 @@
"list": [
{
"builtIn": 1,
- "datasource": "-- Grafana --",
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
@@ -13,13 +16,17 @@
]
},
"editable": true,
- "gnetId": null,
+ "fiscalYearStartMonth": 0,
"graphTooltip": 0,
- "id": 23,
+ "id": 19,
"links": [],
+ "liveNow": false,
"panels": [
{
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 7,
"w": 12,
@@ -28,12 +35,21 @@
},
"id": 32,
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "# Welcome to Apache DevLake\n\n - DevLake provides
following dashboards, grouped by use cases and data sources.\n - The data
displayed in these dashboards are queried from DevLake's domain layer data, see
[schema](https://devlake.apache.org/docs/DataModels/DevLakeDomainLayerSchema).\n
- You can also make your own dashboard based on the [domain layer
schema](https://devlake.apache.org/docs/DataModels/DevLakeDomainLayerSchema),
the SQL exmaples of [engineering metric [...]
"mode": "markdown"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"queryType": "randomWalk",
"refId": "A"
}
@@ -41,7 +57,10 @@
"type": "text"
},
{
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 7,
"w": 6,
@@ -59,9 +78,13 @@
"showStarred": true,
"tags": []
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"queryType": "randomWalk",
"refId": "A"
}
@@ -70,7 +93,10 @@
"type": "dashlist"
},
{
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 7,
"w": 6,
@@ -88,9 +114,13 @@
"showStarred": false,
"tags": []
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"queryType": "randomWalk",
"refId": "A"
}
@@ -99,7 +129,10 @@
"type": "dashlist"
},
{
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 1,
"w": 24,
@@ -107,12 +140,23 @@
"y": 7
},
"id": 10,
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "refId": "A"
+ }
+ ],
"title": "For Engineering Leads",
"type": "row"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -120,15 +164,23 @@
"y": 8
},
"id": 6,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a style= 'text-decoration:none'
href=\"/grafana/d/qNo8_0M4z/dora?orgId=1\">\n <div
style=\"vertical-align:center;text-align:center;margin:50px;\">\n <p
style=\"text-align:center;font-size:20px;margin:20px;\"><b>DORA</b></p>\n
</div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -157,13 +209,13 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -171,15 +223,23 @@
"y": 8
},
"id": 20,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a
href=\"/grafana/d/ZF6abXX7z/engineering-overview?orgId=1\">\n <div
style=\"vertical-align:center;text-align:center;margin:50px;\">\n <p
style=\"text-align:center;font-size:20px;margin:20px;\"><b>Engineering
Overview</b></p>\n </div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -208,13 +268,13 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -222,15 +282,23 @@
"y": 8
},
"id": 18,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a
href=\"/grafana/d/Jaaimc67k/engineering-throughput-and-cycle-time?orgId=1\">\n
<div style=\"vertical-align:center;text-align:center;margin:50px;\">\n
<p style=\"text-align:center;font-size:20px;margin:20px;\"><b>Engineering
Throughput and Cycle Time</b></p>\n </div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -259,13 +327,13 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -273,15 +341,23 @@
"y": 8
},
"id": 19,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a
href=\"/grafana/d/nJ1ijje7k/engineering-throughput-and-cycle-time-team-view?orgId=1\">\n
<div style=\"vertical-align:center;text-align:center;margin:30px;\">\n
<p style=\"text-align:center;font-size:20px;margin-top:20px;\"><b>Engineering
Throughput and Cycle Time - Team View</b></p>\n <p
style=\"text-align:center;font-size:14px;color:#AAAAAA\">(Team Configuration
Required)</p>\n </div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -310,13 +386,13 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -324,15 +400,23 @@
"y": 13
},
"id": 17,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a
href=\"/grafana/d/KxUh7IG4z/component-and-file-level-metrics?orgId=1\">\n
<div style=\"vertical-align:center;text-align:center;margin:50px;\">\n
<p style=\"text-align:center;font-size:20px;margin:20px;\"><b>Component and
File-level Metrics</b></p>\n </div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -361,13 +445,14 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
"collapsed": false,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 1,
"w": 24,
@@ -376,12 +461,23 @@
},
"id": 12,
"panels": [],
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "refId": "A"
+ }
+ ],
"title": "For OSS Maintainers",
"type": "row"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -389,15 +485,23 @@
"y": 19
},
"id": 8,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a
href=\"/grafana/d/VTr6Y_q7z/weekly-community-retro?orgId=1\">\n <div
style=\"vertical-align:middle;text-align:center;margin:50px;\">\n <p
style=\"text-align:center;font-size:20px;margin:20px;\"><b>Weekly Community
Retro</b></p>\n </div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -426,13 +530,13 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -440,15 +544,23 @@
"y": 19
},
"id": 21,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a
href=\"/grafana/d/bwsP5Nz4z/contributor-experience?orgId=1\">\n <div
style=\"vertical-align:middle;text-align:center;margin:50px;\">\n <p
style=\"text-align:center;font-size:20px;margin:20px;\"><b>Contributor
Experience</b></p>\n </div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -477,13 +589,13 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -491,15 +603,23 @@
"y": 19
},
"id": 23,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a
href=\"/grafana/d/2xuOaQUnk4/github_release_quality_and_contribution_analysis?orgId=1\">\n
<div style=\"vertical-align:middle;text-align:center;margin:30px;\">\n
<p style=\"text-align:center;font-size:20px;margin:20px;\"><b>GitHub Release
Quality and Contribution Analysis</b></p>\n </div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -528,13 +648,14 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
"collapsed": false,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 1,
"w": 24,
@@ -543,12 +664,23 @@
},
"id": 16,
"panels": [],
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "refId": "A"
+ }
+ ],
"title": "For QA Engineers",
"type": "row"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -556,15 +688,23 @@
"y": 25
},
"id": 24,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a
href=\"/grafana/d/-5EKA5w7k/weekly-bug-retro?orgId=1\">\n <div
style=\"vertical-align:middle;text-align:center;margin:50px;\">\n <p
style=\"text-align:center;font-size:20px;margin:20px;\"><b>Weekly Bug
Retro</b></p>\n </div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -593,13 +733,14 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
"collapsed": false,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 1,
"w": 24,
@@ -608,12 +749,23 @@
},
"id": 14,
"panels": [],
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "refId": "A"
+ }
+ ],
"title": "By Data Sources",
"type": "row"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -621,15 +773,23 @@
"y": 31
},
"id": 25,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a href=\"/grafana/d/F5vqBQl7z/jira?orgId=1\">\n <div
style=\"vertical-align:middle;text-align:center;margin:60px;\">\n <p
style=\"text-align:center;font-size:20px;margin:20px;\"><b>Jira</b></p>\n
</div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -658,13 +818,13 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -672,15 +832,23 @@
"y": 31
},
"id": 28,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a href=\"/grafana/d/KXWvOFQnz/github?orgId=1\">\n <div
style=\"vertical-align:middle;text-align:center;margin:60px;\">\n <p
style=\"text-align:center;font-size:20px;margin:20px;\"><b>GitHub</b></p>\n
</div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -709,13 +877,13 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -723,15 +891,23 @@
"y": 31
},
"id": 29,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a href=\"/grafana/d/msSjEq97z/gitlab?orgId=1\">\n <div
style=\"vertical-align:middle;text-align:center;margin:60px;\">\n <p
style=\"text-align:center;font-size:20px;margin:20px;\"><b>GitLab</b></p>\n
</div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -760,13 +936,13 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -774,15 +950,23 @@
"y": 31
},
"id": 36,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a href=\"/grafana/d/4LzQHZa4k/bitbucket?orgId=1\">\n
<div style=\"vertical-align:middle;text-align:center;margin:60px;\">\n
<p style=\"text-align:center;font-size:20px;margin:20px;\"><b>BitBucket
Cloud</b></p>\n </div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -811,13 +995,13 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -825,15 +1009,23 @@
"y": 36
},
"id": 35,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a href=\"/grafana/d/WA0qbuJ4k/sonarqube?orgId=1\">\n
<div style=\"vertical-align:middle;text-align:center;margin:60px;\">\n
<p
style=\"text-align:center;font-size:20px;margin:20px;\"><b>SonarQube</b></p>\n
</div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -862,13 +1054,13 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -876,15 +1068,23 @@
"y": 36
},
"id": 30,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a href=\"/grafana/d/W8AiDFQnk/jenkins?orgId=1\">\n
<div style=\"vertical-align:middle;text-align:center;margin:60px;\">\n
<p style=\"text-align:center;font-size:20px;margin:20px;\"><b>Jenkins</b></p>\n
</div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -913,13 +1113,13 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -927,15 +1127,23 @@
"y": 36
},
"id": 33,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a href=\"/grafana/d/hi-907hVk/tapd?orgId=1\">\n <div
style=\"vertical-align:middle;text-align:center;margin:60px;\">\n <p
style=\"text-align:center;font-size:20px;margin:20px;\"><b>TAPD</b></p>\n
</div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -964,13 +1172,13 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
},
{
- "cacheTimeout": null,
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"gridPos": {
"h": 5,
"w": 6,
@@ -978,15 +1186,82 @@
"y": 36
},
"id": 34,
- "interval": null,
"links": [],
"options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
"content": "<a href=\"/grafana/d/yMb4MKh4k/zentao?orgId=1\">\n <div
style=\"vertical-align:middle;text-align:center;margin:60px;\">\n <p
style=\"text-align:center;font-size:20px;margin:20px;\"><b>Zentao</b></p>\n
</div>\n</a>",
"mode": "html"
},
- "pluginVersion": "8.0.6",
+ "pluginVersion": "9.5.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "format": "time_series",
+ "group": [],
+ "metricColumn": "none",
+ "rawQuery": false,
+ "rawSql": "SELECT\n create_time AS \"time\",\n progress\nFROM
ca_analysis\nWHERE\n $__timeFilter(create_time)\nORDER BY 1",
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "progress"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ca_analysis",
+ "timeColumn": "create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 0,
+ "y": 41
+ },
+ "id": 37,
+ "links": [],
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "<a
href=\"/grafana/d/abb26d07-3268-4bdf-b871-6e39b37b9e00/pagerduty?orgId=1\">\n
<div style=\"vertical-align:middle;text-align:center;margin:60px;\">\n
<p
style=\"text-align:center;font-size:20px;margin:20px;\"><b>PagerDuty</b></p>\n
</div>\n</a>",
+ "mode": "html"
+ },
+ "pluginVersion": "9.5.2",
"targets": [
{
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"format": "time_series",
"group": [],
"metricColumn": "none",
@@ -1015,13 +1290,11 @@
]
}
],
- "timeFrom": null,
- "timeShift": null,
"type": "text"
}
],
"refresh": "",
- "schemaVersion": 30,
+ "schemaVersion": 38,
"style": "dark",
"tags": [],
"templating": {
@@ -1035,5 +1308,6 @@
"timezone": "",
"title": "Homepage",
"uid": "lCO8w-pVk",
- "version": 8
+ "version": 2,
+ "weekStart": ""
}
\ No newline at end of file
diff --git a/grafana/dashboards/PagerDuty.json
b/grafana/dashboards/PagerDuty.json
new file mode 100644
index 000000000..c571f0f7c
--- /dev/null
+++ b/grafana/dashboards/PagerDuty.json
@@ -0,0 +1,1282 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 29,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "bolt",
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [],
+ "targetBlank": false,
+ "title": "Homepage",
+ "tooltip": "",
+ "type": "link",
+ "url": "/grafana/d/Lv1XbLHnk/data-specific-dashboards-homepage"
+ },
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "Data Source Specific Dashboard"
+ ],
+ "targetBlank": false,
+ "title": "Metric dashboards",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 13,
+ "x": 0,
+ "y": 0
+ },
+ "id": 128,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "- Use Cases: This dashboard shows the incident data from
PagerDuty.\n- Data Source Required: PagerDuty",
+ "mode": "markdown"
+ },
+ "pluginVersion": "9.5.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "queryType": "randomWalk",
+ "refId": "A"
+ }
+ ],
+ "title": "Dashboard Introduction",
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 3
+ },
+ "id": 126,
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "1. Incident Resolution Status",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "description": "1. Total number of incidents created.\n2. The
requirements being calculated are filtered by \"requirement creation time\"
(time filter at the upper-right corner) and \"Jira board\" (\"Choose Board\"
filter at the upper-left corner)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 4
+ },
+ "id": 114,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "editorMode": "code",
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "select \r\n count(*) as value\r\nfrom issues i\r\n join
board_issues bi on i.id = bi.issue_id\r\nwhere \r\n
$__timeFilter(i.created_date)\r\n and bi.board_id in ($board_id)",
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "value"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "sql": {
+ "columns": [
+ {
+ "parameters": [],
+ "type": "function"
+ }
+ ],
+ "groupBy": [
+ {
+ "property": {
+ "type": "string"
+ },
+ "type": "groupBy"
+ }
+ ],
+ "limit": 50
+ },
+ "timeColumn": "time",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "Number of Incidents [Created in Selected Time Range]",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 4,
+ "y": 4
+ },
+ "id": 116,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "editorMode": "code",
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "select \r\n count(*) as value\r\nfrom issues i\r\n join
board_issues bi on i.id = bi.issue_id\r\nwhere \r\n i.original_status =
'resolved'\r\n and $__timeFilter(i.created_date)\r\n and bi.board_id in
($board_id)",
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "value"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "sql": {
+ "columns": [
+ {
+ "parameters": [],
+ "type": "function"
+ }
+ ],
+ "groupBy": [
+ {
+ "property": {
+ "type": "string"
+ },
+ "type": "groupBy"
+ }
+ ],
+ "limit": 50
+ },
+ "timeColumn": "time",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "Number of Resolved Incidents [Created in Selected Time Range]",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "description": "1. Total number of incidents created.\n2. The
requirements being calculated are filtered by \"requirement creation time\"
(time filter at the upper-right corner) and \"Jira board\" (\"Choose Board\"
filter at the upper-left corner)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "A"
+ },
+ "properties": [
+ {
+ "id": "custom.filterable",
+ "value": true
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 8,
+ "y": 4
+ },
+ "id": 131,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "9.5.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "editorMode": "code",
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "select \r\n b.name as service,\r\n i.issue_key,\r\n
i.description,\r\n i.original_status,\r\n i.priority,\r\n
i.created_date,\r\n i.updated_date,\r\n round((i.lead_time_minutes/1440),1)
as lead_time_days,\r\n i.url\r\nfrom issues i\r\n join board_issues bi on
i.id = bi.issue_id\r\n join boards b on bi.board_id = b.id\r\nwhere \r\n
$__timeFilter(i.created_date)\r\n and bi.board_id in ($board_id)",
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "value"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "sql": {
+ "columns": [
+ {
+ "parameters": [],
+ "type": "function"
+ }
+ ],
+ "groupBy": [
+ {
+ "property": {
+ "type": "string"
+ },
+ "type": "groupBy"
+ }
+ ],
+ "limit": 50
+ },
+ "timeColumn": "time",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "List of Incidents [Created in Selected Time Range]",
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "green",
+ "value": 0.8
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 10
+ },
+ "id": 117,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "editorMode": "code",
+ "format": "time_series",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "with _requirements as(\r\n select\r\n count(distinct
i.id) as total_count,\r\n count(distinct case when i.original_status =
'resolved' then i.id else null end) as resolved_count\r\n from issues i\r\n
join board_issues bi on i.id = bi.issue_id\r\n where \r\n
$__timeFilter(i.created_date)\r\n and bi.board_id in
($board_id)\r\n)\r\n\r\nselect \r\n now() as time,\r\n 1.0 *
resolved_count/total_count as requirement_delivery_rate\r\nfrom _requirements",
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "value"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "sql": {
+ "columns": [
+ {
+ "parameters": [],
+ "type": "function"
+ }
+ ],
+ "groupBy": [
+ {
+ "property": {
+ "type": "string"
+ },
+ "type": "groupBy"
+ }
+ ],
+ "limit": 50
+ },
+ "timeColumn": "time",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "Incident Resolution Rate [Incidents created in the selected
time range]",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Resolution Rate(%)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 12,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "green",
+ "value": 0.8
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 8,
+ "y": 10
+ },
+ "id": 121,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.0.6",
+ "targets": [
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "editorMode": "code",
+ "format": "time_series",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "with _requirements as(\r\n select\r\n
DATE_ADD(date(i.created_date), INTERVAL -DAYOFMONTH(date(i.created_date))+1
DAY) as time,\r\n 1.0 * count(distinct case when i.original_status =
'resolved' then i.id else null end)/count(distinct i.id) as resolved_rate\r\n
from issues i\r\n join board_issues bi on i.id = bi.issue_id\r\n where \r\n
$__timeFilter(i.created_date)\r\n and bi.board_id in ($board_id)\r\n
group by 1\r\n)\r\n\r\nselect\r\n time,\r\n [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "value"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "sql": {
+ "columns": [
+ {
+ "parameters": [],
+ "type": "function"
+ }
+ ],
+ "groupBy": [
+ {
+ "property": {
+ "type": "string"
+ },
+ "type": "groupBy"
+ }
+ ],
+ "limit": 50
+ },
+ "timeColumn": "time",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "Incident Resolution Rate over Time [Incidents Created in
Selected Time Range]",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 110,
+ "panels": [],
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "2. Mean Time to Resolve (MTTR)",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 1,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 1
+ },
+ {
+ "color": "red",
+ "value": 3
+ }
+ ]
+ },
+ "unit": "d"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 17
+ },
+ "id": 12,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "/^value$/",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "editorMode": "code",
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "rawQuery": true,
+ "rawSql": "select \r\n avg(lead_time_minutes/1440) as value\r\nfrom
issues i\r\n join board_issues bi on i.id = bi.issue_id\r\nwhere \r\n
i.original_status = 'resolved'\r\n and $__timeFilter(i.resolution_date)\r\n
and bi.board_id in ($board_id)",
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "progress"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "sql": {
+ "columns": [
+ {
+ "parameters": [],
+ "type": "function"
+ }
+ ],
+ "groupBy": [
+ {
+ "property": {
+ "type": "string"
+ },
+ "type": "groupBy"
+ }
+ ],
+ "limit": 50
+ },
+ "table": "ca_analysis",
+ "timeColumn": "create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "MTTR [Incidents Resolved in Select Time Range]",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 1
+ },
+ {
+ "color": "red",
+ "value": 3
+ }
+ ]
+ },
+ "unit": "d"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 4,
+ "y": 17
+ },
+ "id": 13,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "editorMode": "code",
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "rawQuery": true,
+ "rawSql": "with _ranks as(\r\n select \r\n
i.lead_time_minutes,\r\n percent_rank() over (order by lead_time_minutes
asc) as ranks\r\n from issues i\r\n join board_issues bi on i.id =
bi.issue_id\r\n where \r\n i.original_status = 'resolved'\r\n and
$__timeFilter(i.resolution_date)\r\n and bi.board_id in
($board_id)\r\n)\r\n\r\nselect\r\n max(lead_time_minutes/1440) as
value\r\nfrom _ranks\r\nwhere \r\n ranks <= 0.8",
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "progress"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "sql": {
+ "columns": [
+ {
+ "parameters": [],
+ "type": "function"
+ }
+ ],
+ "groupBy": [
+ {
+ "property": {
+ "type": "string"
+ },
+ "type": "groupBy"
+ }
+ ],
+ "limit": 50
+ },
+ "table": "ca_analysis",
+ "timeColumn": "create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "80% Incidents' MTTR are less than # [Incidents Resolved in
Select Time Range]",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Incident Age(days)",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "fillOpacity": 80,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 1,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 8,
+ "y": 17
+ },
+ "id": 17,
+ "interval": "",
+ "options": {
+ "barRadius": 0,
+ "barWidth": 0.5,
+ "fullHighlight": false,
+ "groupWidth": 0.7,
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "orientation": "auto",
+ "showValue": "auto",
+ "stacking": "none",
+ "text": {
+ "valueSize": 12
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ },
+ "xTickLabelRotation": 0,
+ "xTickLabelSpacing": 0
+ },
+ "pluginVersion": "8.0.6",
+ "targets": [
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "editorMode": "code",
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "rawQuery": true,
+ "rawSql": "with _requirements as(\r\n select \r\n
DATE_ADD(date(i.resolution_date), INTERVAL
-DAYOFMONTH(date(i.resolution_date))+1 DAY) as time,\r\n
avg(lead_time_minutes/1440) as mean_incident_age\r\n from issues i\r\n join
board_issues bi on i.id = bi.issue_id\r\n where \r\n i.original_status =
'resolved'\r\n and $__timeFilter(i.resolution_date)\r\n and bi.board_id
in ($board_id)\r\n group by 1\r\n)\r\n\r\nselect \r\n date_format(time,'%M
%Y') as month [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "progress"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "sql": {
+ "columns": [
+ {
+ "parameters": [],
+ "type": "function"
+ }
+ ],
+ "groupBy": [
+ {
+ "property": {
+ "type": "string"
+ },
+ "type": "groupBy"
+ }
+ ],
+ "limit": 50
+ },
+ "table": "ca_analysis",
+ "timeColumn": "create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "Mean MTTR [Incidents Resolved in Select Time Range]",
+ "type": "barchart"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "description": "1. The cumulative distribution of MTTR\n2. Each point
refers to the percent rank of a distinct duration to resolve incidents.",
+ "fill": 0,
+ "fillGradient": 4,
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 23
+ },
+ "hiddenSeries": false,
+ "id": 15,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 8,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": false
+ },
+ "percentage": false,
+ "pluginVersion": "9.5.2",
+ "pointradius": 0.5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "editorMode": "code",
+ "format": "time_series",
+ "group": [],
+ "metricColumn": "none",
+ "rawQuery": true,
+ "rawSql": "with _ranks as(\r\n select \r\n
round(i.lead_time_minutes/1440) as lead_time_day\r\n from issues i\r\n join
board_issues bi on i.id = bi.issue_id\r\n where \r\n i.original_status =
'resolved'\r\n and $__timeFilter(i.resolution_date)\r\n and bi.board_id
in ($board_id)\r\n order by lead_time_day asc\r\n)\r\n\r\nselect \r\n now()
as time,\r\n lpad(concat(lead_time_day,'d'), 4, ' ') as metric,\r\n
percent_rank() over (order by lead_time_day asc) as [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "progress"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "sql": {
+ "columns": [
+ {
+ "parameters": [],
+ "type": "function"
+ }
+ ],
+ "groupBy": [
+ {
+ "property": {
+ "type": "string"
+ },
+ "type": "groupBy"
+ }
+ ],
+ "limit": 50
+ },
+ "table": "ca_analysis",
+ "timeColumn": "create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "thresholds": [
+ {
+ "$$hashKey": "object:469",
+ "colorMode": "ok",
+ "fill": true,
+ "line": true,
+ "op": "lt",
+ "value": 0.8,
+ "yaxis": "right"
+ }
+ ],
+ "timeRegions": [],
+ "title": "Cumulative Distribution of MTTR [Incidents Resolved in Select
Time Range]",
+ "tooltip": {
+ "shared": false,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "transformations": [],
+ "type": "graph",
+ "xaxis": {
+ "mode": "series",
+ "show": true,
+ "values": [
+ "current"
+ ]
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:76",
+ "format": "percentunit",
+ "label": "Percent Rank (%)",
+ "logBase": 1,
+ "max": "1.2",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:77",
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 29
+ },
+ "id": 130,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "<br/>\n\nThis dashboard is created based on this [data
schema](https://devlake.apache.org/docs/DataModels/DevLakeDomainLayerSchema).
Want to add more metrics? Please follow the
[guide](https://devlake.apache.org/docs/Configuration/Dashboards/GrafanaUserGuide).",
+ "mode": "markdown"
+ },
+ "pluginVersion": "9.5.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "queryType": "randomWalk",
+ "refId": "A"
+ }
+ ],
+ "type": "text"
+ }
+ ],
+ "refresh": "",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": [
+ "Data Source Dashboard"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "mysql",
+ "uid": "P430005175C4C7810"
+ },
+ "definition": "select concat(name, '--', id) from boards where id like
'pagerduty%'",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Choose Board",
+ "multi": true,
+ "name": "board_id",
+ "options": [],
+ "query": "select concat(name, '--', id) from boards where id like
'pagerduty%'",
+ "refresh": 1,
+ "regex": "/^(?<text>.*)--(?<value>.*)$/",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6M",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "title": "PagerDuty",
+ "uid": "abb26d07-3268-4bdf-b871-6e39b37b9e00",
+ "version": 15,
+ "weekStart": ""
+}
\ No newline at end of file