Class: Orthoses::ApmTraceable

Inherits:
Object
  • Object
show all
Defined in:
lib/orthoses/apm_traceable.rb,
lib/orthoses/apm_traceable/version.rb

Constant Summary collapse

VERSION =
'0.1.0'

Instance Method Summary collapse

Constructor Details

#initialize(loader) ⇒ ApmTraceable

Returns a new instance of ApmTraceable.



8
9
10
# File 'lib/orthoses/apm_traceable.rb', line 8

def initialize(loader)
  @loader = loader
end

Instance Method Details

#callObject



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/orthoses/apm_traceable.rb', line 12

def call
  include = CallTracer::Lazy.new
  store = include.trace('ApmTraceable::Tracer::ClassMethods#trace_methods') do
    @loader.call
  end

  include.captures.each do |capture|
    base_name = Utils.module_name(capture.method.receiver) or next
    store[base_name] << 'extend ApmTraceable::Tracer::ClassMethods'
  end
  store
end