The amount of time it takes a bug to fix.
Similar to requirement lead time, this metric equals resolution_date - created_date
of issues in type “BUG”.
Data Sources Required
This metric relies on issues
collected from Jira, GitHub, or TAPD.
Data Transformation Required
This metric relies on the ‘type-bug’ configuration in Jira, GitHub or TAPD's transformation rules while adding/editing a blueprint. This configuration tells DevLake what issues are bugs
.
SQL Queries
The following SQL shows how to find the bug age of a specific bug
.
-- lead_time_minutes is a pre-calculated field whose value equals 'resolution_date - created_date' SELECT lead_time_minutes/1440 as bug_age_in_days FROM issues WHERE type = 'BUG'
If you want to measure the mean bug age
in the screenshot below, please run the following SQL in Grafana.
with _bugs as( SELECT DATE_ADD(date(i.resolution_date), INTERVAL -DAY(date(i.resolution_date))+1 DAY) as time, AVG(i.lead_time_minutes/1440) as issue_lead_time FROM issues i join board_issues bi on i.id = bi.issue_id join boards b on bi.board_id = b.id WHERE -- $board_id is a variable defined in Grafana's dashboard settings to filter out issues by boards b.id in ($board_id) and i.status = "DONE" and i.type = 'BUG' and $__timeFilter(i.resolution_date) -- the following condition will remove the month with incomplete data and i.resolution_date >= DATE_ADD(DATE_ADD($__timeFrom(), INTERVAL -DAY($__timeFrom())+1 DAY), INTERVAL +1 MONTH) group by 1 ) SELECT date_format(time,'%M %Y') as month, issue_lead_time as "Mean Bug Age in Days" FROM _bugs ORDER BY time