summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2019-03-19 18:44:35 +0000
committerStan Hu <stanhu@gmail.com>2019-03-19 18:44:35 +0000
commit74ebeebbcdbe5a996610fa02711f0563b4a774fa (patch)
treeb0c54bfdd5f3c9ebc075b9fb880b3afe33ef6c5b
parent934253c9475a2f2d8a562bcc6bbb8a5f52efa713 (diff)
parent58643cd5325f731799686daca8e1d9806851c320 (diff)
downloadgitlab-ce-74ebeebbcdbe5a996610fa02711f0563b4a774fa.tar.gz
Merge branch 'send-columns-to-sentry-on-missingattributeerror' into 'master'
Send schema cache to Sentry on MissingAttributeError See merge request gitlab-org/gitlab-ce!26331
-rw-r--r--Gemfile.lock2
-rw-r--r--config/initializers/sentry.rb15
2 files changed, 16 insertions, 1 deletions
diff --git a/Gemfile.lock b/Gemfile.lock
index 4fba583b972..face24489f1 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -813,7 +813,7 @@ GEM
selenium-webdriver (3.12.0)
childprocess (~> 0.5)
rubyzip (~> 1.2)
- sentry-raven (2.7.4)
+ sentry-raven (2.9.0)
faraday (>= 0.7.6, < 1.0)
settingslogic (2.0.9)
sexp_processor (4.11.0)
diff --git a/config/initializers/sentry.rb b/config/initializers/sentry.rb
index abc91c3ae51..680cfa6f0ed 100644
--- a/config/initializers/sentry.rb
+++ b/config/initializers/sentry.rb
@@ -20,6 +20,21 @@ def configure_sentry
# Sanitize authentication headers
config.sanitize_http_headers = %w[Authorization Private-Token]
config.tags = { program: Gitlab.process_name }
+ # Debugging for https://gitlab.com/gitlab-org/gitlab-ce/issues/57727
+ config.before_send = lambda do |event, hint|
+ if ActiveModel::MissingAttributeError === hint[:exception]
+ columns_hash = ActiveRecord::Base
+ .connection
+ .schema_cache
+ .instance_variable_get(:@columns_hash)
+ .map { |k, v| [k, v.map(&:first)] }
+ .to_h
+
+ event.extra.merge!(columns_hash)
+ end
+
+ event
+ end
end
end
end