diff --git a/config/initializers/sentry.rb b/config/initializers/sentry.rb index 639ded81..caf6e2d9 100644 --- a/config/initializers/sentry.rb +++ b/config/initializers/sentry.rb @@ -9,12 +9,21 @@ Sentry.init do |config| # We recommend adjusting this value in production config.traces_sample_rate = 0.25 + exception_fingerprints = { + Excon::Error::ServiceUnavailable => 'external-service', + Twitter::Error::InternalServerError => 'external-service', + } config.before_send do |event, hint| if hint[:exception].is_a?(Errors::Base) # These are used for user-facing errors, not when something goes wrong nil end + exception_class = hint[:exception].class.name + if exception_fingerprints.key?(exception_class) + event.fingerprint = [exception_fingerprints[hint[:exception].class.name]] + end + event end end