Class: AppMap::Trace::Tracing
- Inherits:
-
Object
- Object
- AppMap::Trace::Tracing
- Defined in:
- lib/appmap/trace.rb
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) ⇒ Object
Constructor Details
#initialize ⇒ Tracing
Returns a new instance of Tracing.
39 40 41 |
# File 'lib/appmap/trace.rb', line 39 def initialize @tracers = [] end |
Instance Method Details
#delete(tracer) ⇒ Object
74 75 76 77 78 79 |
# File 'lib/appmap/trace.rb', line 74 def delete(tracer) return unless @tracers.member?(tracer) @tracers.delete(tracer) tracer.disable end |
#empty? ⇒ Boolean
43 44 45 |
# File 'lib/appmap/trace.rb', line 43 def empty? @tracers.empty? end |
#enabled? ⇒ Boolean
54 55 56 |
# File 'lib/appmap/trace.rb', line 54 def enabled? @tracers.any?(&:enabled?) end |
#last_package_for_current_thread ⇒ Object
58 59 60 |
# File 'lib/appmap/trace.rb', line 58 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
62 63 64 65 66 |
# File 'lib/appmap/trace.rb', line 62 def record_event(event, package: nil, defined_class: nil, method: nil) @tracers.each do |tracer| tracer.record_event(event, package: package, defined_class: defined_class, method: method) end end |
#record_method(method) ⇒ Object
68 69 70 71 72 |
# File 'lib/appmap/trace.rb', line 68 def record_method(method) @tracers.each do |tracer| tracer.record_method(method) end end |
#trace(enable: true) ⇒ Object
47 48 49 50 51 52 |
# File 'lib/appmap/trace.rb', line 47 def trace(enable: true) Tracer.new.tap do |tracer| @tracers << tracer tracer.enable if enable end end |