From 778b90f59a301403a670bd84ce02e4438e9017cf Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Mon, 16 May 2022 11:57:31 -0500 Subject: [PATCH] Instrument for sentry --- Gemfile | 1 + sgx-bwmsgsv2.rb | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/Gemfile b/Gemfile index ae87ae096743ba19e0bf0e9bd831d00c63c62d85..b4c0a64e912aec1f255c1c937cb38136a3fa9173 100644 --- a/Gemfile +++ b/Gemfile @@ -13,6 +13,7 @@ gem 'lazy_object' gem 'log4r' gem 'rack', '< 2' gem 'redis' +gem "sentry-ruby", "<= 4.3.1" group :development do gem 'rubocop', require: false diff --git a/sgx-bwmsgsv2.rb b/sgx-bwmsgsv2.rb index 0e64a275c1af2e52235712adbfaecd66e294fe00..fe0bd66078e997567735c31dab4f5e791a319a27 100755 --- a/sgx-bwmsgsv2.rb +++ b/sgx-bwmsgsv2.rb @@ -24,6 +24,7 @@ require 'em-hiredis' require 'em-http-request' require 'json' require 'securerandom' +require "sentry-ruby" require 'time' require 'uri' require 'webrick' @@ -36,7 +37,10 @@ require 'em_promise' require_relative 'lib/registration_repo' +Sentry.init + def panic(e) + Sentry.capture_exception(e) puts "Shutting down gateway due to exception: #{e.message}" puts e.backtrace SGXbwmsgsv2.shutdown @@ -44,6 +48,8 @@ def panic(e) EM.stop end +EM.error_handler(&method(:panic)) + def extract_shortcode(dest) num, context = dest.split(';', 2) num if context == 'phone-context=ca-us.phone-context.soprani.ca' @@ -743,6 +749,7 @@ class ReceiptMessage < Blather::Stanza end class WebhookHandler < Goliath::API + use Sentry::Rack::CaptureExceptions use Goliath::Rack::Params def response(env) @@ -986,6 +993,7 @@ class WebhookHandler < Goliath::API [200, {}, "OK"] rescue Exception => e + Sentry.capture_exception(e) puts 'Shutting down gateway due to exception 013: ' + e.message SGXbwmsgsv2.shutdown puts 'Gateway has terminated.'