Class: AppMap::Trace::Tracing
Instance Method Summary collapse
- #delete(tracer) ⇒ Object
- #empty? ⇒ Boolean
- #enabled? ⇒ 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.
61 62 63 |
# File 'lib/appmap/trace.rb', line 61 def initialize @tracers = [] end |
Instance Method Details
#delete(tracer) ⇒ Object
96 97 98 99 100 101 |
# File 'lib/appmap/trace.rb', line 96 def delete(tracer) return unless @tracers.member?(tracer) @tracers.delete(tracer) tracer.disable end |
#empty? ⇒ Boolean
65 66 67 |
# File 'lib/appmap/trace.rb', line 65 def empty? @tracers.empty? end |
#enabled? ⇒ Boolean
76 77 78 |
# File 'lib/appmap/trace.rb', line 76 def enabled? @tracers.any?(&:enabled?) end |
#last_package_for_current_thread ⇒ Object
80 81 82 |
# File 'lib/appmap/trace.rb', line 80 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
84 85 86 87 88 |
# File 'lib/appmap/trace.rb', line 84 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
90 91 92 93 94 |
# File 'lib/appmap/trace.rb', line 90 def record_method(method) @tracers.each do |tracer| tracer.record_method(method) end end |