Class: StaticTracing::Tracer::Base

Inherits:
Object
  • Object
show all
Extended by:
Helpers
Defined in:
lib/ruby-static-tracing/tracer/base.rb

Direct Known Subclasses

Latency, Stack

Class Method Summary collapse

Methods included from Helpers

underscore

Class Method Details

.disable!Object



27
28
29
30
31
# File 'lib/ruby-static-tracing/tracer/base.rb', line 27

def disable!
  modified_classes.each do |klass, wrapped_methods|
    klass.instance_eval { unprepend(wrapped_methods) }
  end
end

.enable!Object



21
22
23
24
25
# File 'lib/ruby-static-tracing/tracer/base.rb', line 21

def enable!
  modified_classes.each do |klass, wrapped_methods|
    klass.prepend(wrapped_methods)
  end
end

.register(klass, *method_names, provider: nil) ⇒ Object



14
15
16
17
18
19
# File 'lib/ruby-static-tracing/tracer/base.rb', line 14

def register(klass, *method_names, provider: nil)
  provider ||= underscore(klass.name)
  method_overrides = function_wrapper.new(provider, @wrapping_function, @data_types)
  modified_classes[klass] ||= method_overrides
  modified_classes[klass].add_override(method_names.flatten)
end