diff options
author | Robert Speicher <robert@gitlab.com> | 2016-08-31 17:04:23 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2016-08-31 17:04:23 +0000 |
commit | 347ba7ea414cbd3ffbd5e304513efe71df6fb3a3 (patch) | |
tree | d7ea9f28be8c9bd068cc23b9a89699905e238786 | |
parent | 933615e8909bf1492a7aca93ec1de5d512fbd787 (diff) | |
parent | 0fe4cf2b0fdbc33572f11bba1a4426ee05ed7599 (diff) | |
download | gitlab-ce-347ba7ea414cbd3ffbd5e304513efe71df6fb3a3.tar.gz |
Merge branch 'fix-sidekiq-sentry-context' into 'master'
Fix Sentry not reporting right program for Sidekiq workers
Moves program tag into the global configuration since this doesn't change and since Sidekiq workers get a unique context for each event.
Closes #21410
See merge request !6004
-rw-r--r-- | app/helpers/sentry_helper.rb | 22 | ||||
-rw-r--r-- | config/initializers/sentry.rb | 1 | ||||
-rw-r--r-- | lib/gitlab/sentry.rb | 27 |
3 files changed, 30 insertions, 20 deletions
diff --git a/app/helpers/sentry_helper.rb b/app/helpers/sentry_helper.rb index f8cccade15b..3d255df66a0 100644 --- a/app/helpers/sentry_helper.rb +++ b/app/helpers/sentry_helper.rb @@ -1,27 +1,9 @@ module SentryHelper def sentry_enabled? - Rails.env.production? && current_application_settings.sentry_enabled? + Gitlab::Sentry.enabled? end def sentry_context - return unless sentry_enabled? - - if current_user - Raven.user_context( - id: current_user.id, - email: current_user.email, - username: current_user.username, - ) - end - - Raven.tags_context(program: sentry_program_context) - end - - def sentry_program_context - if Sidekiq.server? - 'sidekiq' - else - 'rails' - end + Gitlab::Sentry.context(current_user) end end diff --git a/config/initializers/sentry.rb b/config/initializers/sentry.rb index 74fef7cadfe..5892c1de024 100644 --- a/config/initializers/sentry.rb +++ b/config/initializers/sentry.rb @@ -18,6 +18,7 @@ if Rails.env.production? # Sanitize fields based on those sanitized from Rails. config.sanitize_fields = Rails.application.config.filter_parameters.map(&:to_s) + config.tags = { program: Gitlab::Sentry.program_context } end end end diff --git a/lib/gitlab/sentry.rb b/lib/gitlab/sentry.rb new file mode 100644 index 00000000000..117fc508135 --- /dev/null +++ b/lib/gitlab/sentry.rb @@ -0,0 +1,27 @@ +module Gitlab + module Sentry + def self.enabled? + Rails.env.production? && current_application_settings.sentry_enabled? + end + + def self.context(current_user = nil) + return unless self.enabled? + + if current_user + Raven.user_context( + id: current_user.id, + email: current_user.email, + username: current_user.username, + ) + end + end + + def self.program_context + if Sidekiq.server? + 'sidekiq' + else + 'rails' + end + end + end +end |