class Atatus::Spies::RakeSpy
@api private
Public Instance Methods
execute(*args)
click to toggle source
# File lib/atatus/spies/rake.rb, line 31 def execute(*args) agent = Atatus.start unless agent && agent.config.instrumented_rake_tasks.include?(name) return execute_without_apm(*args) end transaction = Atatus.start_transaction("Rake::Task[#{name}]", 'Rake') begin result = execute_without_apm(*args) transaction.result = 'success' if transaction rescue StandardError => e transaction.result = 'error' if transaction Atatus.report(e) raise ensure Atatus.end_transaction Atatus.stop end result end
install()
click to toggle source
# File lib/atatus/spies/rake.rb, line 25 def install if defined?(::Rake) && defined?(::Rake::Task) ::Rake::Task.class_eval do alias execute_without_apm execute def execute(*args) agent = Atatus.start unless agent && agent.config.instrumented_rake_tasks.include?(name) return execute_without_apm(*args) end transaction = Atatus.start_transaction("Rake::Task[#{name}]", 'Rake') begin result = execute_without_apm(*args) transaction.result = 'success' if transaction rescue StandardError => e transaction.result = 'error' if transaction Atatus.report(e) raise ensure Atatus.end_transaction Atatus.stop end result end end end end