Module: DiverDown::Trace

Defined in:
lib/diver_down/trace.rb,
lib/diver_down/trace/tracer.rb,
lib/diver_down/trace/session.rb,
lib/diver_down/trace/call_stack.rb,
lib/diver_down/trace/module_set.rb,
lib/diver_down/trace/ignored_method_ids.rb,
lib/diver_down/trace/redefine_ruby_methods.rb,
lib/diver_down/trace/module_set/array_module_set.rb,
lib/diver_down/trace/module_set/const_source_location_module_set.rb

Defined Under Namespace

Modules: RedefineRubyMethods Classes: CallStack, IgnoredMethodIds, ModuleSet, Session, Tracer

Class Method Summary collapse

Class Method Details

.trace_only_ruby_world!(map = DiverDown::Trace::RedefineRubyMethods::DEFAULT_METHODS) ⇒ void

This method returns an undefined value.

Trace only Ruby-implemented methods because tracing C-implemented methods is very slow Override Ruby only with the minimal set of methods needed to trace dependencies.



18
19
20
21
# File 'lib/diver_down/trace.rb', line 18

def self.trace_only_ruby_world!(map = DiverDown::Trace::RedefineRubyMethods::DEFAULT_METHODS)
  DiverDown::Trace::Tracer.trace_events = DiverDown::Trace::Tracer::DEFAULT_TRACE_EVENTS - %i[c_call c_return]
  DiverDown::Trace::RedefineRubyMethods.redefine_c_methods(map)
end