sentry-sidekiq 4.1.1 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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