You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: grafana/dashboards/ContributorExperience.json
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -15,8 +15,8 @@
15
15
"editable": true,
16
16
"gnetId": null,
17
17
"graphTooltip": 0,
18
-
"id": 21,
19
-
"iteration": 1677590412757,
18
+
"id": 24,
19
+
"iteration": 1682062826895,
20
20
"links": [],
21
21
"panels": [
22
22
{
@@ -508,7 +508,7 @@
508
508
"metricColumn": "none",
509
509
"queryType": "randomWalk",
510
510
"rawQuery": true,
511
-
"rawSql": "select\n\tavg(TIMESTAMPDIFF(Minute,created_date,closed_date)/1440) as time_to_close\nfrom \n\tpull_requests pr\nwhere \n date(created_date) BETWEEN\n curdate() - INTERVAL DAYOFMONTH(curdate())-1 DAY - INTERVAL 1 month and\n curdate() - INTERVAL DAYOFMONTH(curdate()) DAY\n\tand status in ('closed', 'merged', 'declined')\n\tand pr.base_repo_id in ($repo_id)\n\n\n",
511
+
"rawSql": "select\n\tavg(TIMESTAMPDIFF(Minute,created_date,closed_date)/1440) as time_to_close\nfrom \n\tpull_requests pr\nwhere \n date(created_date) BETWEEN\n curdate() - INTERVAL DAYOFMONTH(curdate())-1 DAY - INTERVAL 1 month and\n curdate() - INTERVAL DAYOFMONTH(curdate()) DAY\n\tand status in ('CLOSED', 'MERGED', 'DECLINED')\n\tand pr.base_repo_id in ($repo_id)\n\n\n",
512
512
"refId": "A",
513
513
"select": [
514
514
[
@@ -590,7 +590,7 @@
590
590
"metricColumn": "none",
591
591
"queryType": "randomWalk",
592
592
"rawQuery": true,
593
-
"rawSql": "select\n 100 * sum(case when TIMESTAMPDIFF(Minute, created_date, closed_date) / 1440 < $prrt_sla then 1 else null end) / count(*)\nfrom \n\tpull_requests pr\nwhere \n date(created_date) BETWEEN\n curdate() - INTERVAL DAYOFMONTH(curdate())-1 DAY - INTERVAL 1 month and\n curdate() - INTERVAL DAYOFMONTH(curdate()) DAY\n\tand status in ('closed', 'merged', 'declined')\n\tand pr.base_repo_id in ($repo_id)\n\n\n",
593
+
"rawSql": "select\n 100 * sum(case when TIMESTAMPDIFF(Minute, created_date, closed_date) / 1440 < $prrt_sla then 1 else null end) / count(*)\nfrom \n\tpull_requests pr\nwhere \n date(created_date) BETWEEN\n curdate() - INTERVAL DAYOFMONTH(curdate())-1 DAY - INTERVAL 1 month and\n curdate() - INTERVAL DAYOFMONTH(curdate()) DAY\n\tand status in ('CLOSED', 'MERGED', 'DECLINED')\n\tand pr.base_repo_id in ($repo_id)\n\n\n",
594
594
"refId": "A",
595
595
"select": [
596
596
[
@@ -672,7 +672,7 @@
672
672
"metricColumn": "none",
673
673
"queryType": "randomWalk",
674
674
"rawQuery": true,
675
-
"rawSql": "select\n 100 * count(distinct case when status in ('closed', 'merged', 'declined') and merged_date is null then id else null end)/count(distinct case when status in ('closed', 'merged', 'declined') then id else null end) as ratio\nfrom \n\tpull_requests pr\nwhere\n date(created_date) BETWEEN\n curdate() - INTERVAL DAYOFMONTH(curdate())-1 DAY - INTERVAL 1 month and\n curdate() - INTERVAL DAYOFMONTH(curdate()) DAY\n and pr.base_repo_id in ($repo_id)",
675
+
"rawSql": "select\n 100 * count(distinct case when status in ('CLOSED', 'MERGED', 'DECLINED') and merged_date is null then id else null end)/count(distinct case when status in ('CLOSED', 'MERGED', 'DECLINED') then id else null end) as ratio\nfrom \n\tpull_requests pr\nwhere\n date(created_date) BETWEEN\n curdate() - INTERVAL DAYOFMONTH(curdate())-1 DAY - INTERVAL 1 month and\n curdate() - INTERVAL DAYOFMONTH(curdate()) DAY\n and pr.base_repo_id in ($repo_id)",
Copy file name to clipboardExpand all lines: grafana/dashboards/DemoAverageRequirementLeadTimeByAssignee.json
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@
15
15
"editable": true,
16
16
"gnetId": null,
17
17
"graphTooltip": 0,
18
-
"id": 3,
18
+
"id": 1,
19
19
"links": [
20
20
{
21
21
"asDropdown": false,
@@ -111,7 +111,7 @@
111
111
"metricColumn": "none",
112
112
"queryType": "randomWalk",
113
113
"rawQuery": true,
114
-
"rawSql": "with _requirements as(\n select \n DATE_ADD(date(resolution_date), INTERVAL -DAY(date(resolution_date))+1 DAY) as time,\n assignee_name as assignee,\n avg(lead_time_minutes)/1440 as lead_time\n from issues i\n where \n type = 'Requirement'\n and assignee_id != ''\n and $__timeFilter(resolution_date)\n group by 1,2\n),\n\n\nthis_month as(\n\tselect \n\t\tDATE_ADD(date(CURDATE()), INTERVAL -DAY(date(CURDATE()))+1 DAY) as this_month\n),\n\nlast_month as(\n\tSELECT \n\t\tDATE_ADD(DATE_ADD(date(CURDATE()), INTERVAL -DAY(date(CURDATE()))+1 DAY), INTERVAL -1 MONTH) as last_month\n),\n\nthe_month_before_last as(\n\tSELECT \n\t\tDATE_ADD(DATE_ADD(date(CURDATE()), INTERVAL -DAY(date(CURDATE()))+1 DAY), INTERVAL -2 MONTH) as the_month_before_last\n),\n\nthis_month_record as(\n\tSELECT\n\t\tassignee,\n\t\tlead_time as this_month_count,\n\t\ttime as this_month\n\tfrom _requirements\n\tWHERE \n\t\ttime in (SELECT this_month from this_month)\n),\n\nlast_month_record as(\n\tSELECT\n\t\tassignee,\n\t\tlead_time as last_month_count,\n\t\ttime as last_month\n\tfrom _requirements\n\tWHERE \n\t\ttime in (SELECT last_month from last_month)\n),\n\nthe_month_before_last_record as(\n\tSELECT\n\t\tassignee,\n\t\tlead_time as the_month_before_last_count,\n\t\ttime as the_month_before_last\n\tfrom _requirements\n\tWHERE \n\t\ttime in (SELECT the_month_before_last from the_month_before_last)\n)\n\nSELECT\n COALESCE(NULLIF(tmr.assignee,''), NULLIF(lmr.assignee,''), tmblr.assignee) AS 'Assignee',\n\tCOALESCE(tmblr.the_month_before_last_count,0) AS \"The Month before Last\",\n\tCOALESCE(lmr.last_month_count,0) AS \"Last Month\",\n\tCOALESCE(tmr.this_month_count,0) AS \"This Month\",\n\tcase \n\t when lmr.last_month_count is null or tmr.this_month_count is null then '-'\n\t else concat(FORMAT(100 * (tmr.this_month_count - lmr.last_month_count)/lmr.last_month_count,1),'%') end as \"Changes in last 2 month\"\nFrom the_month_before_last_record tmblr \n left join last_month_record lmr on tmblr.assignee = lmr.assignee\n left join this_month_record tmr on tmblr.assignee = tmr.assignee\norder by 2",
114
+
"rawSql": "with _requirements as(\n select \n DATE_ADD(date(resolution_date), INTERVAL -DAY(date(resolution_date))+1 DAY) as time,\n assignee_name as assignee,\n avg(lead_time_minutes)/1440 as lead_time\n from issues i\n where \n type = 'REQUIREMENT'\n and assignee_id != ''\n and $__timeFilter(resolution_date)\n group by 1,2\n),\n\n\nthis_month as(\n\tselect \n\t\tDATE_ADD(date(CURDATE()), INTERVAL -DAY(date(CURDATE()))+1 DAY) as this_month\n),\n\nlast_month as(\n\tSELECT \n\t\tDATE_ADD(DATE_ADD(date(CURDATE()), INTERVAL -DAY(date(CURDATE()))+1 DAY), INTERVAL -1 MONTH) as last_month\n),\n\nthe_month_before_last as(\n\tSELECT \n\t\tDATE_ADD(DATE_ADD(date(CURDATE()), INTERVAL -DAY(date(CURDATE()))+1 DAY), INTERVAL -2 MONTH) as the_month_before_last\n),\n\nthis_month_record as(\n\tSELECT\n\t\tassignee,\n\t\tlead_time as this_month_count,\n\t\ttime as this_month\n\tfrom _requirements\n\tWHERE \n\t\ttime in (SELECT this_month from this_month)\n),\n\nlast_month_record as(\n\tSELECT\n\t\tassignee,\n\t\tlead_time as last_month_count,\n\t\ttime as last_month\n\tfrom _requirements\n\tWHERE \n\t\ttime in (SELECT last_month from last_month)\n),\n\nthe_month_before_last_record as(\n\tSELECT\n\t\tassignee,\n\t\tlead_time as the_month_before_last_count,\n\t\ttime as the_month_before_last\n\tfrom _requirements\n\tWHERE \n\t\ttime in (SELECT the_month_before_last from the_month_before_last)\n)\n\nSELECT\n COALESCE(NULLIF(tmr.assignee,''), NULLIF(lmr.assignee,''), tmblr.assignee) AS 'Assignee',\n\tCOALESCE(tmblr.the_month_before_last_count,0) AS \"The Month before Last\",\n\tCOALESCE(lmr.last_month_count,0) AS \"Last Month\",\n\tCOALESCE(tmr.this_month_count,0) AS \"This Month\",\n\tcase \n\t when lmr.last_month_count is null or tmr.this_month_count is null then '-'\n\t else concat(FORMAT(100 * (tmr.this_month_count - lmr.last_month_count)/lmr.last_month_count,1),'%') end as \"Changes in last 2 month\"\nFrom the_month_before_last_record tmblr \n left join last_month_record lmr on tmblr.assignee = lmr.assignee\n left join this_month_record tmr on tmblr.assignee = tmr.assignee\norder by 2",
115
115
"refId": "A",
116
116
"select": [
117
117
[
@@ -182,7 +182,7 @@
182
182
"metricColumn": "none",
183
183
"queryType": "randomWalk",
184
184
"rawQuery": true,
185
-
"rawSql": "with _requirements as(\n select \n DATE_ADD(date(resolution_date), INTERVAL -DAY(date(resolution_date))+1 DAY) as time,\n assignee_name as assignee,\n avg(lead_time_minutes)/1440 as lead_time\n from issues i\n where \n type = 'Requirement'\n and assignee_id != ''\n and $__timeFilter(resolution_date)\n group by 1,2\n),\n\n\nthis_month as(\n\tselect \n\t\tDATE_ADD(date(CURDATE()), INTERVAL -DAY(date(CURDATE()))+1 DAY) as this_month\n),\n\nlast_month as(\n\tSELECT \n\t\tDATE_ADD(DATE_ADD(date(CURDATE()), INTERVAL -DAY(date(CURDATE()))+1 DAY), INTERVAL -1 MONTH) as last_month\n),\n\nthe_month_before_last as(\n\tSELECT \n\t\tDATE_ADD(DATE_ADD(date(CURDATE()), INTERVAL -DAY(date(CURDATE()))+1 DAY), INTERVAL -2 MONTH) as the_month_before_last\n),\n\nthis_month_record as(\n\tSELECT\n\t\tassignee,\n\t\tlead_time as this_month_count,\n\t\ttime as this_month\n\tfrom _requirements\n\tWHERE \n\t\ttime in (SELECT this_month from this_month)\n),\n\nlast_month_record as(\n\tSELECT\n\t\tassignee,\n\t\tlead_time as last_month_count,\n\t\ttime as last_month\n\tfrom _requirements\n\tWHERE \n\t\ttime in (SELECT last_month from last_month)\n),\n\nthe_month_before_last_record as(\n\tSELECT\n\t\tassignee,\n\t\tlead_time as the_month_before_last_count,\n\t\ttime as the_month_before_last\n\tfrom _requirements\n\tWHERE \n\t\ttime in (SELECT the_month_before_last from the_month_before_last)\n)\n\nSELECT\n COALESCE(NULLIF(tmr.assignee,''), NULLIF(lmr.assignee,''), tmblr.assignee) AS 'Assignee',\n\tCOALESCE(tmblr.the_month_before_last_count,0) AS \"The Month before Last\",\n\tCOALESCE(lmr.last_month_count,0) AS \"Last Month\",\n\tCOALESCE(tmr.this_month_count,0) AS \"This Month\",\n\tcase \n\t when lmr.last_month_count is null or tmr.this_month_count is null then '-'\n\t else concat(FORMAT(100 * (tmr.this_month_count - lmr.last_month_count)/lmr.last_month_count,1),'%') end as \"Changes in last 2 month\"\nFrom the_month_before_last_record tmblr \n left join last_month_record lmr on tmblr.assignee = lmr.assignee\n left join this_month_record tmr on tmblr.assignee = tmr.assignee\norder by 2",
185
+
"rawSql": "with _requirements as(\n select \n DATE_ADD(date(resolution_date), INTERVAL -DAY(date(resolution_date))+1 DAY) as time,\n assignee_name as assignee,\n avg(lead_time_minutes)/1440 as lead_time\n from issues i\n where \n type = 'REQUIREMENT'\n and assignee_id != ''\n and $__timeFilter(resolution_date)\n group by 1,2\n),\n\n\nthis_month as(\n\tselect \n\t\tDATE_ADD(date(CURDATE()), INTERVAL -DAY(date(CURDATE()))+1 DAY) as this_month\n),\n\nlast_month as(\n\tSELECT \n\t\tDATE_ADD(DATE_ADD(date(CURDATE()), INTERVAL -DAY(date(CURDATE()))+1 DAY), INTERVAL -1 MONTH) as last_month\n),\n\nthe_month_before_last as(\n\tSELECT \n\t\tDATE_ADD(DATE_ADD(date(CURDATE()), INTERVAL -DAY(date(CURDATE()))+1 DAY), INTERVAL -2 MONTH) as the_month_before_last\n),\n\nthis_month_record as(\n\tSELECT\n\t\tassignee,\n\t\tlead_time as this_month_count,\n\t\ttime as this_month\n\tfrom _requirements\n\tWHERE \n\t\ttime in (SELECT this_month from this_month)\n),\n\nlast_month_record as(\n\tSELECT\n\t\tassignee,\n\t\tlead_time as last_month_count,\n\t\ttime as last_month\n\tfrom _requirements\n\tWHERE \n\t\ttime in (SELECT last_month from last_month)\n),\n\nthe_month_before_last_record as(\n\tSELECT\n\t\tassignee,\n\t\tlead_time as the_month_before_last_count,\n\t\ttime as the_month_before_last\n\tfrom _requirements\n\tWHERE \n\t\ttime in (SELECT the_month_before_last from the_month_before_last)\n)\n\nSELECT\n COALESCE(NULLIF(tmr.assignee,''), NULLIF(lmr.assignee,''), tmblr.assignee) AS 'Assignee',\n\tCOALESCE(tmblr.the_month_before_last_count,0) AS \"The Month before Last\",\n\tCOALESCE(lmr.last_month_count,0) AS \"Last Month\",\n\tCOALESCE(tmr.this_month_count,0) AS \"This Month\",\n\tcase \n\t when lmr.last_month_count is null or tmr.this_month_count is null then '-'\n\t else concat(FORMAT(100 * (tmr.this_month_count - lmr.last_month_count)/lmr.last_month_count,1),'%') end as \"Changes in last 2 month\"\nFrom the_month_before_last_record tmblr \n left join last_month_record lmr on tmblr.assignee = lmr.assignee\n left join this_month_record tmr on tmblr.assignee = tmr.assignee\norder by 2",
186
186
"refId": "A",
187
187
"select": [
188
188
[
@@ -246,5 +246,5 @@
246
246
"timezone": "",
247
247
"title": "Demo-Average Requirement Lead Time By Assignee",
Copy file name to clipboardExpand all lines: grafana/dashboards/DemoDetailedBugInfo.json
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@
15
15
"editable": true,
16
16
"gnetId": null,
17
17
"graphTooltip": 0,
18
-
"id": 10,
18
+
"id": 2,
19
19
"links": [
20
20
{
21
21
"asDropdown": false,
@@ -114,7 +114,7 @@
114
114
"metricColumn": "none",
115
115
"queryType": "randomWalk",
116
116
"rawQuery": true,
117
-
"rawSql": "with bugs as(\n select \n DATE_ADD(date(created_date), INTERVAL -DAY(date(created_date))+1 DAY) as time,\n count(*) as bug_count\n from issues i\n where \n type = 'Bug'\n and $__timeFilter(created_date)\n group by 1\n order by 1 desc\n)\n\nselect\n date_format(time,'%M %Y') as month,\n bug_count as 'Bug Count over Month'\nfrom bugs\norder by time asc",
117
+
"rawSql": "with bugs as(\n select \n DATE_ADD(date(created_date), INTERVAL -DAY(date(created_date))+1 DAY) as time,\n count(*) as bug_count\n from issues i\n where \n type = 'BUG'\n and $__timeFilter(created_date)\n group by 1\n order by 1 desc\n)\n\nselect\n date_format(time,'%M %Y') as month,\n bug_count as 'Bug Count over Month'\nfrom bugs\norder by time asc",
118
118
"refId": "A",
119
119
"select": [
120
120
[
@@ -249,7 +249,7 @@
249
249
"metricColumn": "none",
250
250
"queryType": "randomWalk",
251
251
"rawQuery": true,
252
-
"rawSql": "select \n title,\n description,\n case when assignee_id = '' then '-' else assignee_name end as assignee,\n status,\n created_date,\n url\n from issues i\n where \n type = 'Bug'\n and $__timeFilter(created_date)\n order by created_date desc",
252
+
"rawSql": "select \n title,\n description,\n case when assignee_id = '' then '-' else assignee_name end as assignee,\n status,\n created_date,\n url\n from issues i\n where \n type = 'BUG'\n and $__timeFilter(created_date)\n order by created_date desc",
Copy file name to clipboardExpand all lines: grafana/dashboards/DemoHowFastDoWeRespondToCustomerRequirements.json
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -108,7 +108,7 @@
108
108
"group": [],
109
109
"metricColumn": "none",
110
110
"rawQuery": true,
111
-
"rawSql": "with _requirements as(\n select \n DATE_ADD(date(resolution_date), INTERVAL -DAY(date(resolution_date))+1 DAY) as time,\n avg(lead_time_minutes)/1440 as lead_time_days\n from issues i\n where \n type = 'Requirement'\n and $__timeFilter(resolution_date)\n group by time\n)\n\nselect\n date_format(time,'%M %Y') as month,\n lead_time_days as 'Average Requirement Lead Time (day)'\nfrom _requirements\norder by time asc",
111
+
"rawSql": "with _requirements as(\n select \n DATE_ADD(date(resolution_date), INTERVAL -DAY(date(resolution_date))+1 DAY) as time,\n avg(lead_time_minutes)/1440 as lead_time_days\n from issues i\n where \n type = 'REQUIREMENT'\n and $__timeFilter(resolution_date)\n group by time\n)\n\nselect\n date_format(time,'%M %Y') as month,\n lead_time_days as 'Average Requirement Lead Time (day)'\nfrom _requirements\norder by time asc",
112
112
"refId": "A",
113
113
"select": [
114
114
[
@@ -219,5 +219,5 @@
219
219
"timezone": "",
220
220
"title": "Demo-How fast do we respond to customer requirements?",
Copy file name to clipboardExpand all lines: grafana/dashboards/DemoWasOurQualityImprovedOrNot.json
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -109,7 +109,7 @@
109
109
"metricColumn": "none",
110
110
"queryType": "randomWalk",
111
111
"rawQuery": true,
112
-
"rawSql": "with line_of_code as (\n\tselect \n\t DATE_ADD(date(authored_date), INTERVAL -DAY(date(authored_date))+1 DAY) as time,\n\t sum(additions + deletions) as line_count\n\tfrom \n\t commits\n\twhere \n\t message not like 'Merge%'\n\t and $__timeFilter(authored_date)\n\tgroup by 1\n),\n\n\nbug_count as(\n select \n DATE_ADD(date(created_date), INTERVAL -DAY(date(created_date))+1 DAY) as time,\n count(*) as bug_count\n from issues i\n where \n type = 'Bug'\n and $__timeFilter(created_date)\n group by 1\n),\n\n\nbug_count_per_1k_loc as(\n select \n loc.time,\n 1.0 * bc.bug_count / loc.line_count * 1000 as bug_count_per_1k_loc\n from \n line_of_code loc\n left join bug_count bc on bc.time = loc.time\n where\n bc.bug_count is not null \n and loc.line_count is not null \n and loc.line_count != 0\n)\n\nselect \n date_format(time,'%M %Y') as month,\n bug_count_per_1k_loc as 'Bug Count per 1000 Lines of Code'\nfrom bug_count_per_1k_loc \norder by time;",
112
+
"rawSql": "with line_of_code as (\n\tselect \n\t DATE_ADD(date(authored_date), INTERVAL -DAY(date(authored_date))+1 DAY) as time,\n\t sum(additions + deletions) as line_count\n\tfrom \n\t commits\n\twhere \n\t message not like 'Merge%'\n\t and $__timeFilter(authored_date)\n\tgroup by 1\n),\n\n\nbug_count as(\n select \n DATE_ADD(date(created_date), INTERVAL -DAY(date(created_date))+1 DAY) as time,\n count(*) as bug_count\n from issues i\n where \n type = 'BUG'\n and $__timeFilter(created_date)\n group by 1\n),\n\n\nbug_count_per_1k_loc as(\n select \n loc.time,\n 1.0 * bc.bug_count / loc.line_count * 1000 as bug_count_per_1k_loc\n from \n line_of_code loc\n left join bug_count bc on bc.time = loc.time\n where\n bc.bug_count is not null \n and loc.line_count is not null \n and loc.line_count != 0\n)\n\nselect \n date_format(time,'%M %Y') as month,\n bug_count_per_1k_loc as 'Bug Count per 1000 Lines of Code'\nfrom bug_count_per_1k_loc \norder by time;",
0 commit comments