зеркало из https://github.com/github/ruby.git
Allow to toggle YJIT stats collection from runtime
For use cases where you want to collect the metrics for a specific piece of code (typically a web request) you can have the stats turned off by default and then turn them on at runtime before executing the code you care about.
This commit is contained in:
Родитель
924e3ca84f
Коммит
b5a0baf1c0
8
yjit.rb
8
yjit.rb
|
@ -134,6 +134,14 @@ module YJIT
|
|||
Primitive.reset_stats_bang
|
||||
end
|
||||
|
||||
def self.stats_enabled?
|
||||
Primitive.cexpr! 'rb_yjit_opts.gen_stats ? Qtrue : Qfalse'
|
||||
end
|
||||
|
||||
def self.stats_enabled=(enabled)
|
||||
Primitive.set_stats_enabled(enabled)
|
||||
end
|
||||
|
||||
def self.enabled?
|
||||
Primitive.cexpr! 'rb_yjit_enabled_p() ? Qtrue : Qfalse'
|
||||
end
|
||||
|
|
|
@ -808,6 +808,13 @@ reset_stats_bang(rb_execution_context_t *ec, VALUE self)
|
|||
return Qnil;
|
||||
}
|
||||
|
||||
static VALUE
|
||||
set_stats_enabled(rb_execution_context_t *ec, VALUE self, VALUE enabled)
|
||||
{
|
||||
rb_yjit_opts.gen_stats = RB_TEST(enabled);
|
||||
return enabled;
|
||||
}
|
||||
|
||||
#include "yjit.rbinc"
|
||||
|
||||
#if YJIT_STATS
|
||||
|
|
Загрузка…
Ссылка в новой задаче