class ElasticAPM::Spies::RakeSpy
def execute(*args)
def execute(*args) agent = ElasticAPM.start unless agent && agent.config.instrumented_rake_tasks.include?(name) return execute_without_apm(*args) end transaction = ElasticAPM.transaction("Rake::Task[#{name}]", 'Rake') begin result = execute_without_apm(*args) transaction.submit('success') if transaction rescue StandardError => e transaction.submit(:error) if transaction ElasticAPM.report(e) raise ensure transaction.release if transaction ElasticAPM.stop end result end