Remove RubyProf in favor of StackProf from Gitlab::Profiler
What does this MR do and why?
This MR removes all usages of RubyProf
in our code base. With eyes on the ruby 3 upgrade, we are auditing all our dependencies, and the RubyProf test suite fails consistently on Ruby 3, therefore we are switching over to StackProf. This MR removes a usage of RubyProf in the GitLab::Profiler, which already had StackProf as an alternative.
Removing the rubyprof gem will be done in a followup MR
How to set up and validate locally
You can test it by:
running in your shell:
bin/profile-url /dashboard/issues --output=dashboard-profile.dump --sql=dashboard.log --user=root
and also by running it in the rails console:
Gitlab::Profiler.profile('/gitlab-org/gitlab-test', user: User.first, profiler_options: { out: 'tmp/profile.dump' })
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #351651 (closed)
Edited by Roy Zwambag