From 99369ac48e4378ee5ae561e3c34aeba0e88540dc Mon Sep 17 00:00:00 2001 From: Henk <henk.van.der.veen@gmail.com> Date: Tue, 30 Mar 2021 23:58:00 +0200 Subject: [PATCH] support appsignal 3 --- lib/roqua/support/errors.rb | 5 ++++- roqua-support.gemspec | 2 +- spec/roqua/support/errors_spec.rb | 9 +++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/roqua/support/errors.rb b/lib/roqua/support/errors.rb index 341dcc2..151042e 100644 --- a/lib/roqua/support/errors.rb +++ b/lib/roqua/support/errors.rb @@ -82,7 +82,10 @@ module Roqua current_transaction.set_tags(labels) current_transaction.add_exception(exception) else - Appsignal.send_error exception, labels, namespace + Appsignal.send_error exception do |transaction| + transaction.set_tags labels + transaction.set_namespace namespace + end end end end diff --git a/roqua-support.gemspec b/roqua-support.gemspec index 32a7285..826438d 100644 --- a/roqua-support.gemspec +++ b/roqua-support.gemspec @@ -23,7 +23,7 @@ Gem::Specification.new do |gem| gem.add_dependency 'active_interaction', '>= 3.0', '< 5.0' gem.add_dependency 'naught', '~> 1.0' gem.add_dependency 'with_advisory_lock', '~> 3.2' - gem.add_dependency 'appsignal', '>= 2.9', '< 2.11' + gem.add_dependency 'appsignal', '>= 2.9', '< 3.1' gem.add_development_dependency 'bundler', '~> 2.0' gem.add_development_dependency 'delayed_job_active_record' diff --git a/spec/roqua/support/errors_spec.rb b/spec/roqua/support/errors_spec.rb index acd2da7..625ae54 100644 --- a/spec/roqua/support/errors_spec.rb +++ b/spec/roqua/support/errors_spec.rb @@ -106,16 +106,21 @@ describe 'Error reporting' do end it 'defaults to a background job' do - expect(Appsignal).to receive(:send_error).with(exception, {}, Appsignal::Transaction::BACKGROUND_JOB) + transaction = Appsignal::Transaction.new(SecureRandom.uuid, Appsignal::Transaction::FRONTEND, nil) + expect(Appsignal).to receive(:send_error).with(exception).and_yield(transaction) Roqua::Support::Errors.report exception + expect(transaction.namespace).to eq Appsignal::Transaction::BACKGROUND_JOB end it 'it will send an error under the provided category' do + transaction = Appsignal::Transaction.new(SecureRandom.uuid, Appsignal::Transaction::FRONTEND, nil) expect(Appsignal) .to receive(:send_error) - .with(exception, {a: 'b'}, Appsignal::Transaction::HTTP_REQUEST) + .with(exception).and_yield(transaction) Roqua::Support::Errors.report exception, a: 'b', namespace: :web + expect(transaction.namespace).to eq Appsignal::Transaction::HTTP_REQUEST + expect(transaction.tags).to eq a: 'b' end describe 'when a current transaction is present' do -- GitLab