Sha256: 684da724184a667dab4df2ebacbf50a481d43f1f6686eb2f61c7301305cdda39

Contents?: true

Size: 870 Bytes

Versions: 9

Compression:

Stored size: 870 Bytes

Contents

# frozen_string_literal: true

require 'active_support/inflector'

module DiverDown
  module Trace
    require 'diver_down/trace/tracer'
    require 'diver_down/trace/session'
    require 'diver_down/trace/call_stack'
    require 'diver_down/trace/module_set'
    require 'diver_down/trace/redefine_ruby_methods'
    require 'diver_down/trace/ignored_method_ids'

    # 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.
    #
    # @return [void]
    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
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
diver_down-0.0.1.alpha21 lib/diver_down/trace.rb
diver_down-0.0.1.alpha20 lib/diver_down/trace.rb
diver_down-0.0.1.alpha19 lib/diver_down/trace.rb
diver_down-0.0.1.alpha18 lib/diver_down/trace.rb
diver_down-0.0.1.alpha17 lib/diver_down/trace.rb
diver_down-0.0.1.alpha16 lib/diver_down/trace.rb
diver_down-0.0.1.alpha15 lib/diver_down/trace.rb
diver_down-0.0.1.alpha14 lib/diver_down/trace.rb
diver_down-0.0.1.alpha13 lib/diver_down/trace.rb