Include stackprof in gemfile
gem "stackprof", ">= 0.2.26", require: false
Require stackprof and run slow code in its block
require "stackprof"
def profile!
profile =
StackProf.run(ignore_gc: true, interval: 1000, mode: :wall, raw: true) do
@value = # slow code
end
output_file = Rails.root.join("log/stackprof.json")
File.write(output_file, JSON.generate(profile))
@value # return the original
end
profile!
DL the file to local computer
scp PROD:/path/to/log/stackprof.json ~/Desktop/profile.json
Upload the file to https://www.speedscope.app and study flamegraph