This is an automated email from the ASF dual-hosted git repository.
klesh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/main by this push:
new fa88f21e feat: a dev_eq dashboard (#1971)
fa88f21e is described below
commit fa88f21e4b99f5f99d97782b191a0dcf5f326f2d
Author: abeizn <[email protected]>
AuthorDate: Mon May 23 15:54:33 2022 +0800
feat: a dev_eq dashboard (#1971)
* fix: some panels of grafana can not work
* feat: grafana add some severity distribution and adapt muti-repos mode
* feat: a dev_eq dashboard
---
...itHubReleaseQualityAndContributionAnalysis.json | 2764 ++++++++++++++++++++
1 file changed, 2764 insertions(+)
diff --git
a/grafana/_archive/EeGitHubReleaseQualityAndContributionAnalysis.json
b/grafana/_archive/EeGitHubReleaseQualityAndContributionAnalysis.json
new file mode 100644
index 00000000..4f0f45be
--- /dev/null
+++ b/grafana/_archive/EeGitHubReleaseQualityAndContributionAnalysis.json
@@ -0,0 +1,2764 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "id": 14,
+ "iteration": 1653041707624,
+ "links": [],
+ "panels": [
+ {
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 49,
+ "title": "Row title",
+ "type": "row"
+ },
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 45,
+ "panels": [],
+ "title": "Quality",
+ "type": "row"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [],
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 7,
+ "x": 0,
+ "y": 2
+ },
+ "id": 15,
+ "options": {
+ "displayLabels": [
+ "name",
+ "percent"
+ ],
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "values": [
+ "percent",
+ "value"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the bug distribution in major versions\nwith
bugs_in_each_tag as(\n\tselect
\n\t\tSUBSTRING_INDEX(rid.new_ref_id,'refs/tags/', -1) as tag_name,
\n\t\tSUBSTRING_INDEX(rid.new_ref_id,':', 3) as repo_id,\n\t\ti.number, i.type,
i.title, i.description\n\tfrom\n\t\trefs_issues_diffs rid\n\t\tleft join issues
i on rid.issue_id = i.id\n\twhere\n\t\tSUBSTRING_INDEX(rid.new_ref_id,':', 3)
in ($repo_id)\n\t\tand i.type = 'BUG'\n)\n\n\nSELECT
\n\tconcat(SUBSTRING_INDEX(bi [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "1. Bug Distribution [Minor Versions]",
+ "type": "piechart"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "Bug Count",
+ "axisPlacement": "left",
+ "axisSoftMin": 0,
+ "fillOpacity": 80,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 2
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "cost_percentage(bugfixing commits/total commits)"
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ {
+ "id": "custom.axisLabel",
+ "value": "Cost Percentage(%)"
+ },
+ {
+ "id": "custom.axisPlacement",
+ "value": "right"
+ },
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 17,
+ "x": 7,
+ "y": 2
+ },
+ "id": 29,
+ "options": {
+ "barWidth": 0.7,
+ "groupWidth": 0.3,
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "orientation": "auto",
+ "showValue": "auto",
+ "text": {
+ "valueSize": 12
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the number of fixed bugs in the last 5 tags\nwith
_last_5_tags as(\n SELECT \n distinct SUBSTRING_INDEX(new_ref_id,':', -1)
as new_ref_id, SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n --
distinct new_ref_id, old_ref_id\n FROM \n refs_commits_diffs\n
WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in ($repo_id)\n\tORDER BY 1
desc\n\tLIMIT 5\n),\n\n_bugs_of_tags as(\n\tselect
\n\t\tSUBSTRING_INDEX(rid.new_ref_id,'tags/', -1) as tag_name, \n\t\t- [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "2.1 Ratio of Bug Fix Commits [Last 5 Tags]",
+ "type": "barchart"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": []
+ },
+ "overrides": [
+ {
+ "__systemRef": "hideSeriesFrom",
+ "matcher": {
+ "id": "byNames",
+ "options": {
+ "mode": "exclude",
+ "names": [
+ "dev_eq"
+ ],
+ "prefix": "All except:",
+ "readOnly": true
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "v22.3.2.2-lts UNKNOWN"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "v22.3.2.2-lts REQUIREMENT"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "v22.3.2.2-lts BUG"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 9
+ },
+ "id": 55,
+ "options": {
+ "displayLabels": [
+ "percent"
+ ],
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "values": [
+ "percent",
+ "value"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "hide": false,
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the severity distribution in bugs\n-- Get the
work-type distribution in the last n tags\nwith _last_n_tags as(\n SELECT \n
-- distinct new_ref_id, old_ref_id\n distinct
SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 1\n),\n\nbugs_in_each_tag as(\n\tselect
\n\t\tSUBSTRING_INDEX( [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "2.2 Severity Distribution [Last Tag]",
+ "type": "piechart"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": []
+ },
+ "overrides": [
+ {
+ "__systemRef": "hideSeriesFrom",
+ "matcher": {
+ "id": "byNames",
+ "options": {
+ "mode": "exclude",
+ "names": [
+ "dev_eq"
+ ],
+ "prefix": "All except:",
+ "readOnly": true
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "v22.3.2.2-lts UNKNOWN"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "v22.3.2.2-lts REQUIREMENT"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "v22.3.2.2-lts BUG"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 9
+ },
+ "id": 53,
+ "options": {
+ "displayLabels": [
+ "percent"
+ ],
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "values": [
+ "percent",
+ "value"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "hide": false,
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the severity distribution in bugs\n-- Get the
work-type distribution in the last n tags\nwith _last_n_tags as(\n SELECT \n
-- distinct new_ref_id, old_ref_id\n distinct
SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 1,1\n),\n\nbugs_in_each_tag
as(\n\tselect \n\t\tSUBSTRING_INDE [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "2.3 Severity Distribution [The Tag before Last]",
+ "type": "piechart"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": []
+ },
+ "overrides": [
+ {
+ "__systemRef": "hideSeriesFrom",
+ "matcher": {
+ "id": "byNames",
+ "options": {
+ "mode": "exclude",
+ "names": [
+ "dev_eq"
+ ],
+ "prefix": "All except:",
+ "readOnly": true
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "v22.3.2.2-lts UNKNOWN"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "v22.3.2.2-lts REQUIREMENT"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "v22.3.2.2-lts BUG"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 9
+ },
+ "id": 51,
+ "options": {
+ "displayLabels": [
+ "percent"
+ ],
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "values": [
+ "percent",
+ "value"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "hide": false,
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the severity distribution in bugs\n-- Get the
work-type distribution in the last n tags\nwith _last_n_tags as(\n SELECT \n
-- distinct new_ref_id, old_ref_id\n distinct
SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 2,1\n),\n\nbugs_in_each_tag
as(\n\tselect \n\t\tSUBSTRING_INDE [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "2.4 Severity Distribution [The 2nd Tag before Last]",
+ "type": "piechart"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "cost_percentage(bugfixing commits/total commits)"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "issue_key"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 89
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "title"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 457
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "assignee_name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 131
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "lead_time_in_days"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 147
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "tag_name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 147
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "repo_name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 180
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 43,
+ "options": {
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "8.0.6",
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the number of fixed bugs in the last 5 tags\nwith
_last_5_tags as(\n SELECT \n -- distinct new_ref_id, old_ref_id\n
distinct SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 5\n)\n\t\nselect distinct\n\tb.name as
repo_name,\n\tSUBSTRING_INDEX(rid.new_ref_id,'tags/', -1) as tag_nam [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "2.5 List of Fixed Bugs [Last 5 Tags]",
+ "type": "table"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [],
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 11,
+ "x": 0,
+ "y": 23
+ },
+ "id": 30,
+ "options": {
+ "displayLabels": [
+ "percent",
+ "name"
+ ],
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "values": [
+ "percent",
+ "value"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Component distribution of bugs fixed in the last 5
tags\nwith _last_5_tags as(\n SELECT \n -- distinct new_ref_id,
old_ref_id\n distinct SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 5\n),\n\nbugs_in_each_tag as(\n\tselect
\n\t\tSUBSTRING_INDEX(rid.new_ref_id,'refs/', -1) as tag_na [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "3.1 Ratio of Issues with 'Component' Label [Last 5 Tags]",
+ "type": "piechart"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [],
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 13,
+ "x": 11,
+ "y": 23
+ },
+ "id": 31,
+ "options": {
+ "displayLabels": [
+ "percent",
+ "name"
+ ],
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "values": [
+ "percent",
+ "value"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Component distribution of bugs fixed in the last 5
tags\nwith _last_5_tags as(\n SELECT \n -- distinct new_ref_id,
old_ref_id\n distinct SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 5\n),\n\nbugs_in_each_tag as(\n\tselect
\n\t\tSUBSTRING_INDEX(rid.new_ref_id,'refs/', -1) as tag_na [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "3.2 Source of Bugs by Component [Last 5 Tags]",
+ "type": "piechart"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "yellow",
+ "value": 0.25
+ },
+ {
+ "color": "green",
+ "value": 0.4
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 0,
+ "y": 30
+ },
+ "id": 23,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.6",
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the % of contributors who fixed 80% of bugs in the
last 5 tags\nwith _last_5_tags as(\n SELECT \n -- distinct new_ref_id,
old_ref_id\n distinct SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 5\n),\n\n_bugs as(\n\tselect
\n\t\ti.number, i.type, i.severity, i.title, i.description, [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "4.1 Contributor Fixing 80%+ Bugs [Last 5 Tags]",
+ "type": "stat"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "Bug Fixed Count",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "fillOpacity": 80,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 2
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 18,
+ "x": 6,
+ "y": 30
+ },
+ "id": 18,
+ "options": {
+ "barWidth": 0.5,
+ "groupWidth": 0.7,
+ "legend": {
+ "calcs": [],
+ "displayMode": "hidden",
+ "placement": "bottom"
+ },
+ "orientation": "auto",
+ "showValue": "auto",
+ "text": {
+ "valueSize": 12
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the bug fixer distribution in the last 5
tags\nwith _last_5_tags as(\n SELECT \n -- distinct new_ref_id,
old_ref_id\n distinct SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 5\n),\n\n_bugs as(\n\tselect
\n\t\ti.number, i.type, i.severity, i.title, i.description,\n\t\tpr.id, pr.a
[...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "4.2 Top Bug Fixers [Last 5 Tags]",
+ "type": "barchart"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 37
+ },
+ "id": 33,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.6",
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the avg bug age in history\nselect \n
avg(lead_time_minutes)/1440 as average_bug_age\nfrom issues\nleft join
board_issues bi on issues.id = bi.issue_id\nwhere \n type = 'BUG'\n and
status = 'DONE'\n and bi.board_id in ($repo_id)",
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "5.1 Mean Bug Age in Days [All History]",
+ "type": "stat"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "Bug Fixed Count",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "fillOpacity": 80,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 2
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 20,
+ "x": 4,
+ "y": 37
+ },
+ "id": 32,
+ "options": {
+ "barWidth": 0.7,
+ "groupWidth": 0.3,
+ "legend": {
+ "calcs": [],
+ "displayMode": "hidden",
+ "placement": "bottom"
+ },
+ "orientation": "auto",
+ "showValue": "auto",
+ "text": {
+ "valueSize": 12
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the bug age in the last 5 tags\nwith _last_5_tags
as(\n SELECT \n distinct SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 5\n),\n\n_bugs as(\n\tselect
distinct\n\t\tSUBSTRING_INDEX(rid.new_ref_id,'tags/', -1) as
tag_name,\n\t\ti.id,\n\t\ti.lead_time_minutes\n\tfrom\n\t\trefs_issues [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "5.2 Mean + Median Bug Age Days [Last 5 Tags]",
+ "type": "barchart"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 43
+ },
+ "id": 34,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.6",
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the 80th perccentile bug age in history\nwith
_bugs_percentile as(\n select \n id,\n lead_time_minutes,\n
percent_rank() over (order by lead_time_minutes) as percentile\n from issues\n
where \n type = 'BUG'\n and status = 'DONE'\n)\n\nselect \n
min(lead_time_minutes)/1440 as \"80th_bug_age\"\nfrom \n
_bugs_percentile\nwhere \n percentile >= 0.5\n",
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "5.3 Median Bug Age in Days [All History]",
+ "type": "stat"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "key"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 109
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "title"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 725
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 182
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "lead_time_in_days"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 136
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "issue_key"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 79
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "url"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 784
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "tag_name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 150
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 20,
+ "x": 4,
+ "y": 43
+ },
+ "id": 38,
+ "options": {
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "8.0.6",
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the bug fixer distribution in the last 5
tags\nwith _last_5_tags as(\n SELECT \n -- distinct new_ref_id,
old_ref_id\n distinct SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 5\n),\n\n_bugs as(\n\tselect
distinct\n\t b.name,\n\t\tSUBSTRING_INDEX(rid.new_ref_id,'tags/', -1) as ta
[...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "5.4 List of Long-Lead Bugs [Closed Bugs in Last 5 Tags]",
+ "type": "table"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [],
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "__systemRef": "hideSeriesFrom",
+ "matcher": {
+ "id": "byNames",
+ "options": {
+ "mode": "exclude",
+ "names": [
+ "bug_count"
+ ],
+ "prefix": "All except:",
+ "readOnly": true
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": false,
+ "tooltip": false,
+ "viz": true
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "<avg_bug_age"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": ">=avg_bug_age"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 49
+ },
+ "id": 35,
+ "options": {
+ "displayLabels": [
+ "name",
+ "percent"
+ ],
+ "legend": {
+ "displayMode": "hidden",
+ "placement": "bottom",
+ "values": [
+ "value",
+ "percent"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.0.6",
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the avg bug age in history\nwith _avg_bug_age
as(\n select \n type,\n avg(lead_time_minutes) as average_bug_age\n
from \n issues\n left join board_issues bi on issues.id = bi.issue_id\n
where \n type = 'BUG'\n and status = 'DONE'\n and bi.board_id in
($repo_id)\n group by 1\n),\n\n\n_bug_queue_time as(\n select \n i.id,\n
abg.average_bug_age,\n TIMESTAMPDIFF(MINUTE,created_date,NOW()) as
queue_time,\n case when TIMESTAMPDI [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "5.5 Ratio of Outstanding Bugs [Queue Time > Mean]",
+ "type": "piechart"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "<avg_bug_age"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": ">=avg_bug_age"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "issue_key"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 81
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "title"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 535
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "created_date"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 149
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "queue_time_in_days"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 140
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 18,
+ "x": 6,
+ "y": 49
+ },
+ "id": 39,
+ "options": {
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "8.0.6",
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the queue time of all backlog bugs\nselect \n
b.name as repo_name,\n i.number as issue_key,\n i.title,\n i.created_date,\n
(TIMESTAMPDIFF(MINUTE, i.created_date,NOW()))/3600 as queue_time_in_days,\n
concat(b.url,'/',i.number) as url\nfrom \n issues i\n left join board_issues
bi on i.id = bi.issue_id\n left join boards b on bi.board_id = b.id\nwhere\n
i.type = 'BUG'\n and i.status != 'DONE'\n and b.id in ($repo_id)\norder by
queue_time_in_days desc",
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "5.6 List of Outstanding Bugs [All Open Bugs]",
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 55
+ },
+ "id": 47,
+ "panels": [],
+ "title": "Contribution",
+ "type": "row"
+ },
+ {
+ "datasource": "mysql",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "fillOpacity": 80,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 1
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 0,
+ "y": 56
+ },
+ "id": 41,
+ "options": {
+ "barWidth": 0.3,
+ "groupWidth": 0.7,
+ "legend": {
+ "calcs": [],
+ "displayMode": "hidden",
+ "placement": "bottom"
+ },
+ "orientation": "horizontal",
+ "showValue": "auto",
+ "text": {
+ "valueSize": 12
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "rawQuery": true,
+ "rawSql": "-- Get the bug distribution in last 5 tags\nwith
_last_5_tags as(\n SELECT \n -- distinct new_ref_id, old_ref_id\n
distinct SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 10\n)\n\nselect
\n\tSUBSTRING_INDEX(rcd.new_ref_id,'refs/tags/', -1) as
tag_name,\n\tSUBSTRING_INDEX(rcd.old_ref_id [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "6.1 Number of New Commits Per Tag",
+ "type": "barchart"
+ },
+ {
+ "datasource": "mysql",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "message"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 395
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "additions"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 92
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "deletions"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 86
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 18,
+ "x": 6,
+ "y": 56
+ },
+ "id": 42,
+ "options": {
+ "showHeader": true,
+ "sortBy": []
+ },
+ "pluginVersion": "8.0.6",
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "rawQuery": true,
+ "rawSql": "-- Get the bug distribution in last 5 tags\nwith
_last_5_tags as(\n SELECT \n -- distinct new_ref_id, old_ref_id\n
distinct SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 10\n)\n\nselect
\n\tSUBSTRING_INDEX(rcd.new_ref_id,'refs/tags/', -1) as
new_tag_name,\n\tSUBSTRING_INDEX(rcd.old_re [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "6.2 Commit List for Drill-Down [Last 5 Tags]",
+ "type": "table"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": []
+ },
+ "overrides": [
+ {
+ "__systemRef": "hideSeriesFrom",
+ "matcher": {
+ "id": "byNames",
+ "options": {
+ "mode": "exclude",
+ "names": [
+ "dev_eq"
+ ],
+ "prefix": "All except:",
+ "readOnly": true
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "v22.3.2.2-lts UNKNOWN"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "v22.3.2.2-lts REQUIREMENT"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "v22.3.2.2-lts BUG"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 63
+ },
+ "id": 26,
+ "options": {
+ "displayLabels": [
+ "percent"
+ ],
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "values": [
+ "percent",
+ "value"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "hide": false,
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the work-type distribution in the last 5
tags\nwith _last_5_tags as(\n SELECT \n -- distinct new_ref_id,
old_ref_id\n distinct SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 1\n),\n\n_combine_pr as (\n select
pull_request_id as id, commit_sha, p.`key` as `key` from pull_request [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "7.1 Work-Type Distribution [Last Tag]",
+ "type": "piechart"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": []
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 63
+ },
+ "id": 36,
+ "options": {
+ "displayLabels": [
+ "percent"
+ ],
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "values": [
+ "percent",
+ "value"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "hide": false,
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the work-type distribution in the last 5
tags\nwith _last_5_tags as(\n SELECT \n -- distinct new_ref_id,
old_ref_id\n distinct SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 1,1\n),\n\n\n_combine_pr as (\n select
pull_request_id as id, commit_sha, p.`key` as `key` from pull_req [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "script_version"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "_devlake_migration_history",
+ "timeColumn": "created_at",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "7.2 Work-Type Distribution [The Tag before Last]",
+ "type": "piechart"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": []
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "v22.1.4.30-stable BUG"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "v22.1.4.30-stable REQUIREMENT"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 63
+ },
+ "id": 37,
+ "options": {
+ "displayLabels": [
+ "percent"
+ ],
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "values": [
+ "percent",
+ "value"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "hide": false,
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get the work-type distribution in the last 5
tags\nwith _last_5_tags as(\n SELECT \n -- distinct new_ref_id,
old_ref_id\n distinct SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 2,1\n),\n\n\n_combine_pr as (\n select
pull_request_id as id, commit_sha, p.`key` as `key` from pull_req [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "7.3 Work-Type Distribution [The 2nd Tag before Last]",
+ "type": "piechart"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.25
+ },
+ {
+ "color": "green",
+ "value": 0.4
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 0,
+ "y": 70
+ },
+ "id": 27,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {},
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.6",
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "-- Get each contributor's work in bugfixing in the last 5
tags\nwith _last_5_tags as(\n SELECT \n -- distinct new_ref_id,
old_ref_id\n distinct SUBSTRING_INDEX(new_ref_id,':', -1) as new_ref_id,
SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 5\n),\n\n_author_commits as(\n SELECT
\n \tc.author_name,\n -- count(c.sha) as commit_coun [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "8.1 Committers Contributing 80%+ Commits [Last 5 Tags]",
+ "type": "stat"
+ },
+ {
+ "datasource": "mysql",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "Dev Equivalent",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "fillOpacity": 80,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 1
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 18,
+ "x": 6,
+ "y": 70
+ },
+ "id": 3,
+ "options": {
+ "barWidth": 0.3,
+ "groupWidth": 0.7,
+ "legend": {
+ "calcs": [],
+ "displayMode": "hidden",
+ "placement": "bottom"
+ },
+ "orientation": "auto",
+ "showValue": "auto",
+ "text": {},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "format": "table",
+ "group": [],
+ "metricColumn": "none",
+ "queryType": "randomWalk",
+ "rawQuery": true,
+ "rawSql": "with _last_5_tags as(\n SELECT \n -- distinct
new_ref_id, old_ref_id\n distinct SUBSTRING_INDEX(new_ref_id,':', -1) as
new_ref_id, SUBSTRING_INDEX(old_ref_id,':', -1) as old_ref_id\n FROM \n
refs_commits_diffs\n WHERE\n\t\tSUBSTRING_INDEX(new_ref_id,':', 3) in
($repo_id)\n\tORDER BY 1 desc\n\tLIMIT 5\n)\n\n\nSELECT \n\tc.author_name,\n
-- count(c.sha) total_dev_eq\n sum(c.dev_eq) total_dev_eq\nFROM \n
refs_commits_diffs rcf\n -- left join commits c on [...]
+ "refId": "A",
+ "select": [
+ [
+ {
+ "params": [
+ "id"
+ ],
+ "type": "column"
+ }
+ ]
+ ],
+ "table": "ae_projects",
+ "timeColumn": "ae_create_time",
+ "timeColumnType": "timestamp",
+ "where": [
+ {
+ "name": "$__timeFilter",
+ "params": [],
+ "type": "macro"
+ }
+ ]
+ }
+ ],
+ "title": "8.2 Top Contributors [Last 5 Tags]",
+ "type": "barchart"
+ }
+ ],
+ "refresh": "",
+ "schemaVersion": 30,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": [
+ {
+ "allValue": null,
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "mysql",
+ "definition": "select concat(name, '--', id) as text from repos",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": true,
+ "label": "Repo",
+ "multi": true,
+ "name": "repo_id",
+ "options": [],
+ "query": "select concat(name, '--', id) as text from repos",
+ "refresh": 1,
+ "regex": "/^(?<text>.*)--(?<value>.*)$/",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6M",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "title": "EE_GitHub_Release_Quality_and_Contribution_Analysis",
+ "uid": "2xuOaQUnk4",
+ "version": 8
+}
\ No newline at end of file