1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
if RUBY_ENGINE == 'truffleruby'
require "stackprof/truffleruby"
else
require "stackprof/stackprof"
end
if defined?(RubyVM::YJIT) && RubyVM::YJIT.enabled?
if RUBY_VERSION < "3.3"
# On 3.3 we don't need postponed jobs:
# https://github.com/ruby/ruby/commit/a1dc1a3de9683daf5a543d6f618e17aabfcb8708
StackProf.use_postponed_job!
end
elsif RUBY_VERSION == "3.2.0"
# 3.2.0 crash is the signal is received at the wrong time.
# Fixed in https://github.com/ruby/ruby/pull/7116
# The fix is backported in 3.2.1: https://bugs.ruby-lang.org/issues/19336
StackProf.use_postponed_job!
end
module StackProf
VERSION = '0.2.26'
end
StackProf.autoload :Report, "stackprof/report.rb"
StackProf.autoload :Middleware, "stackprof/middleware.rb"
|