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



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

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

.enable!Object



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

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

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



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

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