module ElasticAPM::Spies::RakeSpy::Ext
def execute(*args)
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