How to understand the ruby-prof result which the sum of sub-process time occupied more than 100%

Summary

the profiling of a request, the sum percent of the cost time of all children of a function is more than 100%. as following: 屏幕快照_2019-09-20_下午6.10.43

the three children of the red process are: 51.46%, 35.51%, 21.88%

so the sum of them are 108.85%, which is greater then 100%. How to understand it ?

Steps to reproduce

  1. go to Admin area of your project.
  2. go to Monitor->Requests Profiles. record the X-Profile-Token
  3. make a post request to 'http://localhost:3001/root/gitlab-test/-/branches' using postman
  4. refresh the Monitor->Requests page. and click the profiling result link
  5. see the profiling result.

Example Project

gitlab-test

Assignee Loading
Time tracking Loading