Value Stream Analytics Cycle Time shows hyphen when value is below 72 minutes
Summary
If the cycle time is less than 72 minutes, the response from the Projects::Analytics::CycleAnalytics::SummaryController#time_summary
controller action returns a hyphen (-
) for the cycle_time
, and the UI shows the hyphen as the value.
If the cycle time is 72 minutes or higher, the value shows correctly.
We've been able to manually update the duration_in_milliseconds
for records in the analytics_cycle_analytics_issue_stage_events
database tables to pinpoint the cutoff point, which is any median value less than 4320000
. See the Relevant logs and/or screenshots section of this issue for more details.
Steps to reproduce
- Create a new group
- Create a Value Stream Analytics dashboard based on the default options
- Create a new project in the group
- Create a new issue in the project
- Create a new branch in the project
- Create a commit in the new branch with a reference to the issue in the commit message
- Create an MR for the branch
- Merge the MR
- Close the issue
- Observe the Value Stream Analytics dashboard's value for cycle time
- Query the
analytics_cycle_analytics_issue_stage_events
table for theduration_in_milliseconds
value for the events
Example Project
What is the current bug behavior?
Step 7: The cycle time shows a hyphen (-
)
Step 8: The duration_in_milliseconds
is less than 4320000
, or 72 minutes
What is the expected correct behavior?
Step 7: The cycle time should show a decimal value of a day
Relevant logs and/or screenshots
Output of checks
Results of GitLab environment info
Expand for output related to GitLab environment info
(For installations with omnibus-gitlab package run and paste the output of: `sudo gitlab-rake gitlab:env:info`) (For installations from source run and paste the output of: `sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production`)
Results of GitLab application Check
Expand for output related to the GitLab application check
(For installations with omnibus-gitlab package run and paste the output of:
sudo gitlab-rake gitlab:check SANITIZE=true
)(For installations from source run and paste the output of:
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true
)(we will only investigate if the tests are passing)
Possible fixes
This fix would be increasing the rounding precision in https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/gitlab/analytics/cycle_analytics/summary/base_time.rb#L21