open-digger
open-digger copied to clipboard
[Metrics] Issue Response Time
Description
- This metric is an indication of how much time passes between the opening of an issue and a response from other contributors.
- This metric is a specific case of the Time to First Response metric in the Common working group.
Filters
- response from role in project (e.g., first maintainer response)
- bot versus human (e.g., filter out automated “welcome first contributor messages”)
- opened by role in project (e.g., responsiveness to new contributors versus long-timers)
- date issue was opened
- status of issue (e.g., only look at currently open issues)
Implementation
- Average. Average response time in days.
- Median. Median response time in days.
Resource CHAOSS: Evolution -> Issue Resolution https://chaoss.community/metric-issue-response-time/
This issue has not been replied for 24 hours, please pay attention to this issue: @sunshinemingo @wengzhenjie
Hi, @frank-zsy . Here is the logic to implement this metric.
we use issue_comments = 0
to avoid computing those transferred issues that already have comments. Is there anything that needs to be modified in this logic?
issue_comments = 0 this can be interpreted as follows:
- If a issue create with
issue_comments
field not NULL, this issue must be a transferred issue otherwise it should be 0(If reopened, it should be reopened action) - And if a Issue transferred from other repo and it has IssueComment already. We don't need to calculate this issue again because it has been responsed.
- If a Issue transferred from other repo and
IssueComments==0
. It means this Issue has not been response now so we calculate in current repo.
@longyanz There are several things I would like to know:
- When an issue is transferred from a repository to another, will there be a new
opened
action in event log? - There is an implementation detail can be discussed, when an issue transferred to a new repository, should we calculate the response time again for the new repository? Since a transferred issue is a new issue for the new repository, why should the response in old repository be counted?
- For
responsed_at
, you usecreated
action which is an action for comment related events, but I thinkclosed
is also a response right? Even label should be counted as a response but we have no label events in log. - And you use
responsed_at != toDate('1970-1-1')
to filter out the issues without any response, this do not make sense to me. To calculate the response time for an issue to a certain end time, I think the response time should be the time range from open to end time. In you implementation, issue without any response for a long time will have 0 response time, so response time for a dead repository will always be 0 which does not reflect the real state of the repository.
Further more, I think you should open a pull request first and we can discuss the details on the pull request but not in this issue with an implementation screenshot.