| { |
| "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": 6, |
| "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, |
| "links": [ |
| { |
| "targetBlank": true, |
| "title": "Teambition", |
| "url": "https://devlake.apache.org/docs/Plugins/teambition" |
| } |
| ], |
| "options": { |
| "code": { |
| "language": "plaintext", |
| "showLineNumbers": false, |
| "showMiniMap": false |
| }, |
| "content": "- Use Cases: This dashboard shows the basic project management metrics from Teambition.\n- Data Source Required: Teambition", |
| "mode": "markdown" |
| }, |
| "pluginVersion": "9.5.15", |
| "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. Issue Throughput", |
| "type": "row" |
| }, |
| { |
| "datasource": "mysql", |
| "description": "1. Total number of issues 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, |
| "links": [ |
| { |
| "targetBlank": true, |
| "title": "Requirement Count", |
| "url": "https://devlake.apache.org/docs/Metrics/RequirementCount" |
| } |
| ], |
| "options": { |
| "colorMode": "value", |
| "graphMode": "area", |
| "justifyMode": "auto", |
| "orientation": "auto", |
| "reduceOptions": { |
| "calcs": [ |
| "lastNotNull" |
| ], |
| "fields": "", |
| "values": false |
| }, |
| "text": {}, |
| "textMode": "auto" |
| }, |
| "pluginVersion": "9.5.15", |
| "targets": [ |
| { |
| "datasource": "mysql", |
| "editorMode": "code", |
| "format": "table", |
| "group": [], |
| "metricColumn": "none", |
| "queryType": "randomWalk", |
| "rawQuery": true, |
| "rawSql": "select \r\n count(distinct i.id) as value\r\nfrom issues i\r\n join board_issues bi on i.id = bi.issue_id\r\nwhere \r\n i.type in (${type})\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 Issues [Issues Created in Selected Time Range]", |
| "type": "stat" |
| }, |
| { |
| "datasource": "mysql", |
| "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, |
| "links": [ |
| { |
| "targetBlank": true, |
| "title": "Requirement Count", |
| "url": "https://devlake.apache.org/docs/Metrics/RequirementCount" |
| } |
| ], |
| "options": { |
| "colorMode": "value", |
| "graphMode": "area", |
| "justifyMode": "auto", |
| "orientation": "auto", |
| "reduceOptions": { |
| "calcs": [ |
| "lastNotNull" |
| ], |
| "fields": "", |
| "values": false |
| }, |
| "text": {}, |
| "textMode": "auto" |
| }, |
| "pluginVersion": "9.5.15", |
| "targets": [ |
| { |
| "datasource": "mysql", |
| "editorMode": "code", |
| "format": "table", |
| "group": [], |
| "metricColumn": "none", |
| "queryType": "randomWalk", |
| "rawQuery": true, |
| "rawSql": "select \r\n count(distinct i.id) as value\r\nfrom issues i\r\n join board_issues bi on i.id = bi.issue_id\r\nwhere \r\n i.type in (${type})\r\n and i.status = 'DONE'\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 Delivered Issue [Issues Created in Selected Time Range]", |
| "type": "stat" |
| }, |
| { |
| "datasource": "mysql", |
| "description": "", |
| "fieldConfig": { |
| "defaults": { |
| "color": { |
| "mode": "palette-classic" |
| }, |
| "custom": { |
| "axisCenteredZero": false, |
| "axisColorMode": "text", |
| "axisLabel": "", |
| "axisPlacement": "auto", |
| "barAlignment": 1, |
| "drawStyle": "bars", |
| "fillOpacity": 12, |
| "gradientMode": "none", |
| "hideFrom": { |
| "legend": false, |
| "tooltip": false, |
| "viz": false |
| }, |
| "lineInterpolation": "linear", |
| "lineWidth": 1, |
| "pointSize": 5, |
| "scaleDistribution": { |
| "type": "linear" |
| }, |
| "showPoints": "auto", |
| "spanNulls": false, |
| "stacking": { |
| "group": "A", |
| "mode": "normal" |
| }, |
| "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": 4 |
| }, |
| "id": 120, |
| "links": [ |
| { |
| "targetBlank": true, |
| "title": "Requirement Count", |
| "url": "https://devlake.apache.org/docs/Metrics/RequirementCount" |
| } |
| ], |
| "options": { |
| "legend": { |
| "calcs": [ |
| "sum" |
| ], |
| "displayMode": "list", |
| "placement": "bottom", |
| "showLegend": true |
| }, |
| "tooltip": { |
| "mode": "multi", |
| "sort": "none" |
| } |
| }, |
| "pluginVersion": "8.0.6", |
| "targets": [ |
| { |
| "datasource": "mysql", |
| "format": "time_series", |
| "group": [], |
| "metricColumn": "none", |
| "queryType": "randomWalk", |
| "rawQuery": true, |
| "rawSql": "SELECT\r\n DATE_ADD(date(i.created_date), INTERVAL -DAYOFMONTH(date(i.created_date))+1 DAY) as time,\r\n count(distinct case when status != 'DONE' then i.id else null end) as \"Number of Open Issues\",\r\n count(distinct case when status = 'DONE' then i.id else null end) as \"Number of Delivered Issues\"\r\nFROM issues i\r\n\tjoin board_issues bi on i.id = bi.issue_id\r\n\tjoin boards b on bi.board_id = b.id\r\nwhere \r\n i.type in (${type})\r\n and $__timeFilter(i.created_date)\r\n and bi.board_id in (${board_id})\r\ngroup by 1", |
| "refId": "A", |
| "select": [ |
| [ |
| { |
| "params": [ |
| "value" |
| ], |
| "type": "column" |
| } |
| ] |
| ], |
| "timeColumn": "time", |
| "where": [ |
| { |
| "name": "$__timeFilter", |
| "params": [], |
| "type": "macro" |
| } |
| ] |
| } |
| ], |
| "title": "Issue Status Distribution over Month [Issues Created in Selected Time Range]", |
| "type": "timeseries" |
| }, |
| { |
| "datasource": "mysql", |
| "description": "Issue Delivery Rate = count(Delivered Issues)/count(Issues)", |
| "fieldConfig": { |
| "defaults": { |
| "color": { |
| "mode": "thresholds" |
| }, |
| "mappings": [], |
| "thresholds": { |
| "mode": "percentage", |
| "steps": [ |
| { |
| "color": "red", |
| "value": null |
| }, |
| { |
| "color": "green", |
| "value": 50 |
| } |
| ] |
| }, |
| "unit": "percentunit" |
| }, |
| "overrides": [] |
| }, |
| "gridPos": { |
| "h": 6, |
| "w": 8, |
| "x": 0, |
| "y": 10 |
| }, |
| "id": 117, |
| "links": [ |
| { |
| "targetBlank": true, |
| "title": "Requirement Delivery Rate", |
| "url": "https://devlake.apache.org/docs/Metrics/RequirementDeliveryRate" |
| } |
| ], |
| "options": { |
| "colorMode": "value", |
| "graphMode": "area", |
| "justifyMode": "auto", |
| "orientation": "auto", |
| "reduceOptions": { |
| "calcs": [ |
| "lastNotNull" |
| ], |
| "fields": "", |
| "values": false |
| }, |
| "text": {}, |
| "textMode": "auto" |
| }, |
| "pluginVersion": "9.5.15", |
| "targets": [ |
| { |
| "datasource": "mysql", |
| "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.status = 'DONE' then i.id else null end) as delivered_count\r\n from issues i\r\n join board_issues bi on i.id = bi.issue_id\r\n where \r\n i.type in (${type})\r\n and $__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 * delivered_count/total_count as requirement_delivery_rate\r\nfrom _requirements", |
| "refId": "A", |
| "select": [ |
| [ |
| { |
| "params": [ |
| "value" |
| ], |
| "type": "column" |
| } |
| ] |
| ], |
| "timeColumn": "time", |
| "where": [ |
| { |
| "name": "$__timeFilter", |
| "params": [], |
| "type": "macro" |
| } |
| ] |
| } |
| ], |
| "title": "Issue Delivery Rate [Issues Created in Selected Time Range]", |
| "type": "stat" |
| }, |
| { |
| "datasource": "mysql", |
| "description": "Issue Delivery Rate = count(Delivered Issues)/count(Issues)", |
| "fieldConfig": { |
| "defaults": { |
| "color": { |
| "mode": "palette-classic" |
| }, |
| "custom": { |
| "axisCenteredZero": false, |
| "axisColorMode": "text", |
| "axisLabel": "Delivery 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": "green", |
| "value": null |
| }, |
| { |
| "color": "red", |
| "value": 80 |
| } |
| ] |
| }, |
| "unit": "percentunit" |
| }, |
| "overrides": [] |
| }, |
| "gridPos": { |
| "h": 6, |
| "w": 16, |
| "x": 8, |
| "y": 10 |
| }, |
| "id": 121, |
| "links": [ |
| { |
| "targetBlank": true, |
| "title": "Requirement Delivery Rate", |
| "url": "https://devlake.apache.org/docs/Metrics/RequirementDeliveryRate" |
| } |
| ], |
| "options": { |
| "legend": { |
| "calcs": [], |
| "displayMode": "list", |
| "placement": "bottom", |
| "showLegend": true |
| }, |
| "tooltip": { |
| "mode": "single", |
| "sort": "none" |
| } |
| }, |
| "pluginVersion": "8.0.6", |
| "targets": [ |
| { |
| "datasource": "mysql", |
| "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.status = 'DONE' then i.id else null end)/count(distinct i.id) as delivered_rate\r\n from issues i\r\n join board_issues bi on i.id = bi.issue_id\r\n where \r\n i.type in (${type})\r\n and $__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 delivered_rate\r\nfrom _requirements\r\norder by time", |
| "refId": "A", |
| "select": [ |
| [ |
| { |
| "params": [ |
| "value" |
| ], |
| "type": "column" |
| } |
| ] |
| ], |
| "timeColumn": "time", |
| "where": [ |
| { |
| "name": "$__timeFilter", |
| "params": [], |
| "type": "macro" |
| } |
| ] |
| } |
| ], |
| "title": "Issue Delivery Rate over Time [Issues 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. Issue Lead Time", |
| "type": "row" |
| }, |
| { |
| "datasource": "mysql", |
| "description": "", |
| "fieldConfig": { |
| "defaults": { |
| "decimals": 1, |
| "mappings": [], |
| "thresholds": { |
| "mode": "absolute", |
| "steps": [ |
| { |
| "color": "green", |
| "value": null |
| }, |
| { |
| "color": "red", |
| "value": 14 |
| } |
| ] |
| } |
| }, |
| "overrides": [] |
| }, |
| "gridPos": { |
| "h": 6, |
| "w": 4, |
| "x": 0, |
| "y": 17 |
| }, |
| "id": 12, |
| "links": [ |
| { |
| "targetBlank": true, |
| "title": "Requirement Lead Time", |
| "url": "https://devlake.apache.org/docs/Metrics/RequirementLeadTime" |
| } |
| ], |
| "options": { |
| "colorMode": "value", |
| "graphMode": "area", |
| "justifyMode": "auto", |
| "orientation": "auto", |
| "reduceOptions": { |
| "calcs": [ |
| "mean" |
| ], |
| "fields": "/^value$/", |
| "values": false |
| }, |
| "text": {}, |
| "textMode": "auto" |
| }, |
| "pluginVersion": "9.5.15", |
| "targets": [ |
| { |
| "datasource": "mysql", |
| "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.type in (${type})\r\n and i.status = 'DONE'\r\n and $__timeFilter(i.resolution_date)\r\n and bi.board_id in (${board_id})", |
| "refId": "A", |
| "select": [ |
| [ |
| { |
| "params": [ |
| "progress" |
| ], |
| "type": "column" |
| } |
| ] |
| ], |
| "table": "ca_analysis", |
| "timeColumn": "create_time", |
| "timeColumnType": "timestamp", |
| "where": [ |
| { |
| "name": "$__timeFilter", |
| "params": [], |
| "type": "macro" |
| } |
| ] |
| } |
| ], |
| "title": "Mean Issue Lead Time in Days [Issues Resolved in Select Time Range]", |
| "type": "stat" |
| }, |
| { |
| "datasource": "mysql", |
| "description": "", |
| "fieldConfig": { |
| "defaults": { |
| "mappings": [], |
| "thresholds": { |
| "mode": "absolute", |
| "steps": [ |
| { |
| "color": "green", |
| "value": null |
| }, |
| { |
| "color": "red", |
| "value": 21 |
| } |
| ] |
| } |
| }, |
| "overrides": [] |
| }, |
| "gridPos": { |
| "h": 6, |
| "w": 4, |
| "x": 4, |
| "y": 17 |
| }, |
| "id": 13, |
| "links": [ |
| { |
| "targetBlank": true, |
| "title": "Requirement Delivery Rate", |
| "url": "https://devlake.apache.org/docs/Metrics/RequirementDeliveryRate" |
| } |
| ], |
| "options": { |
| "colorMode": "value", |
| "graphMode": "area", |
| "justifyMode": "auto", |
| "orientation": "auto", |
| "reduceOptions": { |
| "calcs": [ |
| "lastNotNull" |
| ], |
| "fields": "", |
| "values": false |
| }, |
| "text": {}, |
| "textMode": "auto" |
| }, |
| "pluginVersion": "9.5.15", |
| "targets": [ |
| { |
| "datasource": "mysql", |
| "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.type in (${type})\r\n and i.status = 'DONE'\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" |
| } |
| ] |
| ], |
| "table": "ca_analysis", |
| "timeColumn": "create_time", |
| "timeColumnType": "timestamp", |
| "where": [ |
| { |
| "name": "$__timeFilter", |
| "params": [], |
| "type": "macro" |
| } |
| ] |
| } |
| ], |
| "title": "80% Issues' Lead Time are less than # days [Issues Resolved in Select Time Range]", |
| "type": "stat" |
| }, |
| { |
| "datasource": "mysql", |
| "description": "", |
| "fieldConfig": { |
| "defaults": { |
| "color": { |
| "mode": "palette-classic" |
| }, |
| "custom": { |
| "axisCenteredZero": false, |
| "axisColorMode": "text", |
| "axisLabel": "Lead Time(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": "", |
| "links": [ |
| { |
| "targetBlank": true, |
| "title": "Requirement Delivery Rate", |
| "url": "https://devlake.apache.org/docs/Metrics/RequirementDeliveryRate" |
| } |
| ], |
| "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": "mysql", |
| "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_lead_time\r\n from issues i\r\n join board_issues bi on i.id = bi.issue_id\r\n where \r\n i.type in (${type})\r\n and i.status = 'DONE'\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,\r\n mean_lead_time\r\nfrom _requirements\r\norder by time asc", |
| "refId": "A", |
| "select": [ |
| [ |
| { |
| "params": [ |
| "progress" |
| ], |
| "type": "column" |
| } |
| ] |
| ], |
| "table": "ca_analysis", |
| "timeColumn": "create_time", |
| "timeColumnType": "timestamp", |
| "where": [ |
| { |
| "name": "$__timeFilter", |
| "params": [], |
| "type": "macro" |
| } |
| ] |
| } |
| ], |
| "title": "Mean Issue Lead Time [Issues Resolved in Select Time Range]", |
| "type": "barchart" |
| }, |
| { |
| "aliasColors": {}, |
| "bars": false, |
| "dashLength": 10, |
| "dashes": false, |
| "datasource": "mysql", |
| "description": "1. The cumulative distribution of requirement lead time. \n2. Each point refers to the percent rank of a lead time.", |
| "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, |
| "links": [ |
| { |
| "targetBlank": true, |
| "title": "Requirement Delivery Rate", |
| "url": "https://devlake.apache.org/docs/Metrics/RequirementDeliveryRate" |
| } |
| ], |
| "nullPointMode": "null", |
| "options": { |
| "alertThreshold": false |
| }, |
| "percentage": false, |
| "pluginVersion": "9.5.15", |
| "pointradius": 0.5, |
| "points": false, |
| "renderer": "flot", |
| "seriesOverrides": [], |
| "spaceLength": 10, |
| "stack": false, |
| "steppedLine": false, |
| "targets": [ |
| { |
| "datasource": "mysql", |
| "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.type in (${type})\r\n and i.status = 'DONE'\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 value\r\nfrom _ranks\r\norder by lead_time_day asc", |
| "refId": "A", |
| "select": [ |
| [ |
| { |
| "params": [ |
| "progress" |
| ], |
| "type": "column" |
| } |
| ] |
| ], |
| "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 Requirement Lead Time [Issues 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.15", |
| "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": "mysql", |
| "definition": "select concat(name, '--', id) from boards where id like 'teambition%'", |
| "hide": 0, |
| "includeAll": true, |
| "label": "Choose Board", |
| "multi": true, |
| "name": "board_id", |
| "options": [], |
| "query": "select concat(name, '--', id) from boards where id like 'teambition%'", |
| "refresh": 1, |
| "regex": "/^(?<text>.*)--(?<value>.*)$/", |
| "skipUrlSync": false, |
| "sort": 0, |
| "type": "query" |
| }, |
| { |
| "current": { |
| "selected": false, |
| "text": "All", |
| "value": "$__all" |
| }, |
| "datasource": "mysql", |
| "definition": "select distinct type from issues", |
| "hide": 0, |
| "includeAll": true, |
| "label": "Issue Type", |
| "multi": false, |
| "name": "type", |
| "options": [], |
| "query": "select distinct type from issues", |
| "refresh": 1, |
| "regex": "", |
| "skipUrlSync": false, |
| "sort": 0, |
| "type": "query" |
| } |
| ] |
| }, |
| "time": { |
| "from": "now-6M", |
| "to": "now" |
| }, |
| "timepicker": {}, |
| "timezone": "", |
| "title": "Teambition", |
| "uid": "hi-908hVk", |
| "version": 2, |
| "weekStart": "" |
| } |