Class: AppMap::Trace::Tracing

Inherits:
Object
  • Object
show all
Defined in:
lib/appmap/trace.rb

Instance Method Summary collapse

Constructor Details

#initializeTracing

Returns a new instance of Tracing.



8
9
10
# File 'lib/appmap/trace.rb', line 8

def initialize
  @Tracing = []
end

Instance Method Details

#delete(tracer) ⇒ Object



33
34
35
36
37
38
# File 'lib/appmap/trace.rb', line 33

def delete(tracer)
  return unless @Tracing.member?(tracer)

  @Tracing.delete(tracer)
  tracer.disable
end

#empty?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/appmap/trace.rb', line 12

def empty?
  @Tracing.empty?
end

#enabled?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/appmap/trace.rb', line 23

def enabled?
  @Tracing.any?(&:enabled?)
end

#record_event(event, defined_class: nil, method: nil) ⇒ Object



27
28
29
30
31
# File 'lib/appmap/trace.rb', line 27

def record_event(event, defined_class: nil, method: nil)
  @Tracing.each do |tracer|
    tracer.record_event(event, defined_class: defined_class, method: method)
  end
end

#trace(enable: true) ⇒ Object



16
17
18
19
20
21
# File 'lib/appmap/trace.rb', line 16

def trace(enable: true)
  Tracer.new.tap do |tracer|
    @Tracing << tracer
    tracer.enable if enable
  end
end