Skip to content

Remove RubyProf in favor of StackProf from Gitlab::Profiler

Roy Zwambag requested to merge 351651-remove-rubyprof-from-gitlab-profiler into master

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.

Related to #351651 (closed)

Edited by Roy Zwambag

Merge request reports