module ElasticAPM::Spies::RakeSpy::Ext
@api private
Public Instance Methods
execute(*args)
click to toggle source
Calls superclass method
# File lib/elastic_apm/spies/rake.rb, line 27 def execute(*args) agent = ElasticAPM.start unless agent && agent.config.instrumented_rake_tasks.include?(name) return super(*args) end transaction = ElasticAPM.start_transaction("Rake::Task[#{name}]", 'Rake') begin result = super(*args) transaction&.result = 'success' transaction&.outcome = Transaction::Outcome::SUCCESS rescue StandardError => e transaction&.result = 'error' transaction&.outcome = Transaction::Outcome::FAILURE ElasticAPM.report(e) raise ensure ElasticAPM.end_transaction ElasticAPM.stop end result end