Class: AppMap::Trace::Tracing
Instance Method Summary collapse
- #delete(tracer) ⇒ Object
- #empty? ⇒ Boolean
- #enabled?(thread_id: nil) ⇒ Boolean
-
#initialize ⇒ Tracing
constructor
A new instance of Tracing.
- #last_package_for_current_thread ⇒ Object
- #record_event(event, package: nil, defined_class: nil, method: nil) ⇒ Object
- #record_method(method) ⇒ Object
- #trace(enable: true, thread: nil) ⇒ Object
Constructor Details
#initialize ⇒ Tracing
Returns a new instance of Tracing.
59 60 61 |
# File 'lib/appmap/trace.rb', line 59 def initialize @tracers = [] end |
Instance Method Details
#delete(tracer) ⇒ Object
94 95 96 97 98 99 |
# File 'lib/appmap/trace.rb', line 94 def delete(tracer) return unless @tracers.member?(tracer) @tracers.delete(tracer) tracer.disable end |
#empty? ⇒ Boolean
63 64 65 |
# File 'lib/appmap/trace.rb', line 63 def empty? @tracers.empty? end |
#enabled?(thread_id: nil) ⇒ Boolean
74 75 76 |
# File 'lib/appmap/trace.rb', line 74 def enabled?(thread_id: nil) @tracers.any? { |t| t.enabled?(thread_id: thread_id) } end |
#last_package_for_current_thread ⇒ Object
78 79 80 |
# File 'lib/appmap/trace.rb', line 78 def last_package_for_current_thread @tracers.first&.last_package_for_current_thread end |
#record_event(event, package: nil, defined_class: nil, method: nil) ⇒ Object
82 83 84 85 86 |
# File 'lib/appmap/trace.rb', line 82 def record_event(event, package: nil, defined_class: nil, method: nil) @tracers.select { |tracer| tracer.thread_id.nil? || tracer.thread_id === event.thread_id }.each do |tracer| tracer.record_event(event, package: package, defined_class: defined_class, method: method) end end |
#record_method(method) ⇒ Object
88 89 90 91 92 |
# File 'lib/appmap/trace.rb', line 88 def record_method(method) @tracers.each do |tracer| tracer.record_method(method) end end |