sentry-sidekiq 4.1.1 → 4.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c2381c7e962b8461b17f09da04d9a729960f62d6be46e12149fd732dc8e41d23
4
- data.tar.gz: acf0beaefce9d7a176a7446b25b6010eac1c6d55af2a69a9040b4ab40a00240c
3
+ metadata.gz: 4370fdcec568ea785e549d24e250575ad8bb93b7a46bd27e777e9c6776407a57
4
+ data.tar.gz: 99a527bf321e1645843a159f9706ea8215976485833b8c20dcb243b56bce6016
5
5
  SHA512:
6
- metadata.gz: b5c0b869fda22432123e2317943085a2636c8b911a140f98b3b2cb1435f09271861d63320b6426ba8bc36f8d9cd5e5d68beb63a76d2ee1f8719f72f7517aa96c
7
- data.tar.gz: f142b51cb00cfc48c36d0d0612caba41bb7e0f02720e491843b0bfecc46f1438afdd5121c461b3bd681956913a7887e17116b8a0797c48e34c712e7070375e5f
6
+ metadata.gz: 6fdd057e634833b1ee467af9800ba759d2bca7a88ae9a1a8f84d844c8afa99b6aeb5d241b3f267275b5e42176c56943286a2b89407f5b7cc135fac520d04e833
7
+ data.tar.gz: 53ca304f50dc403af8a7f5d7011c2d1d6850ce111859796bac193736b8c6a5778428822db519eae7c0e412290a56b709e09fd59031093613b089b96379f9d38c
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.1.2
4
+
5
+ - Fix sidekiq middleware [#1175](https://github.com/getsentry/sentry-ruby/pull/1175)
6
+ - Fixes [#1173](https://github.com/getsentry/sentry-ruby/issues/1173)
7
+ - Adopt Integrable module [#1177](https://github.com/getsentry/sentry-ruby/pull/1177)
8
+
3
9
  ## 4.1.1
4
10
 
5
11
  - Use stricter dependency declaration [#1159](https://github.com/getsentry/sentry-ruby/pull/1159)
data/Gemfile CHANGED
@@ -5,7 +5,7 @@ gemspec
5
5
 
6
6
  gem "rake", "~> 12.0"
7
7
  gem "rspec", "~> 3.0"
8
- gem "codecov"
8
+ gem "codecov", "0.2.12"
9
9
 
10
10
  gem "sidekiq"
11
11
  gem "activejob"
@@ -1,24 +1,23 @@
1
1
  require "sidekiq"
2
2
  require "sentry-ruby"
3
+ require "sentry/integrable"
3
4
  require "sentry/sidekiq/version"
4
5
  require "sentry/sidekiq/error_handler"
5
- require "sentry/sidekiq/cleanup_middleware"
6
+ require "sentry/sidekiq/sentry_context_middleware"
6
7
  # require "sentry/sidekiq/configuration"
7
8
 
8
9
  module Sentry
9
10
  module Sidekiq
10
- META = { "name" => "sentry.ruby.sidekiq", "version" => Sentry::Sidekiq::VERSION }.freeze
11
- end
11
+ extend Sentry::Integrable
12
12
 
13
- def self.sdk_meta
14
- Sentry::Sidekiq::META
13
+ register_integration name: "sidekiq", version: Sentry::Sidekiq::VERSION
15
14
  end
16
15
  end
17
16
 
18
17
  Sidekiq.configure_server do |config|
19
18
  config.error_handlers << Sentry::Sidekiq::ErrorHandler.new
20
19
  config.server_middleware do |chain|
21
- chain.add Sentry::Sidekiq::CleanupMiddleware
20
+ chain.add Sentry::Sidekiq::SentryContextMiddleware
22
21
  end
23
22
  end
24
23
 
@@ -12,7 +12,7 @@ module Sentry
12
12
  begin
13
13
  yield
14
14
  rescue => ex
15
- Sentry.capture_exception(ex, hint: { background: false })
15
+ Sentry::Sidekiq.capture_exception(ex, hint: { background: false })
16
16
  end
17
17
  end
18
18
  end
@@ -8,15 +8,14 @@ module Sentry
8
8
  def call(ex, context)
9
9
  return unless Sentry.initialized?
10
10
  context = Sentry::Sidekiq::ContextFilter.new.filter_context(context)
11
+ scope = Sentry.get_current_scope
12
+ scope.set_transaction_name(transaction_from_context(context)) unless scope.transaction_name
11
13
 
12
- Sentry.with_scope do |scope|
13
- scope.set_transaction_name transaction_from_context(context)
14
- Sentry.capture_exception(
15
- ex,
16
- extra: { sidekiq: context },
17
- hint: { background: false }
18
- )
19
- end
14
+ Sentry::Sidekiq.capture_exception(
15
+ ex,
16
+ extra: { sidekiq: context },
17
+ hint: { background: false }
18
+ )
20
19
  end
21
20
 
22
21
  private
@@ -0,0 +1,20 @@
1
+ module Sentry
2
+ module Sidekiq
3
+ class SentryContextMiddleware
4
+ def call(_worker, job, queue)
5
+ return yield unless Sentry.initialized?
6
+
7
+ Sentry.clone_hub_to_current_thread
8
+ scope = Sentry.get_current_scope
9
+ scope.set_extras(sidekiq: job.merge("queue" => queue))
10
+ scope.set_transaction_name("Sidekiq/#{job["class"]}")
11
+
12
+ yield
13
+
14
+ # don't need to use ensure here
15
+ # if the job failed, we need to keep the scope for error handler. and the scope will be cleared there
16
+ scope.clear
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,5 +1,5 @@
1
1
  module Sentry
2
2
  module Sidekiq
3
- VERSION = "4.1.1"
3
+ VERSION = "4.1.2"
4
4
  end
5
5
  end
@@ -22,5 +22,5 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
- spec.add_dependency "sentry-ruby", "~> 4.1.0"
25
+ spec.add_dependency "sentry-ruby", "~> 4.1.2"
26
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentry-sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.1
4
+ version: 4.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sentry Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-21 00:00:00.000000000 Z
11
+ date: 2020-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sentry-ruby
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 4.1.0
19
+ version: 4.1.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 4.1.0
26
+ version: 4.1.2
27
27
  description: A gem that provides Sidekiq integration for the Sentry error logger
28
28
  email: accounts@sentry.io
29
29
  executables: []
@@ -52,6 +52,7 @@ files:
52
52
  - lib/sentry/sidekiq/cleanup_middleware.rb
53
53
  - lib/sentry/sidekiq/context_filter.rb
54
54
  - lib/sentry/sidekiq/error_handler.rb
55
+ - lib/sentry/sidekiq/sentry_context_middleware.rb
55
56
  - lib/sentry/sidekiq/version.rb
56
57
  - sentry-sidekiq.gemspec
57
58
  homepage: https://github.com/getsentry/sentry-ruby