scout_apm 5.6.2 → 5.6.4

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: 6825b0cb6be5706305fa47b48fe8f84a89f0bf6019deb5914547d720e13db875
4
- data.tar.gz: 5a5163d1c0f05f6ebe87aa0948e426b9332ff66121bc04c33048cad1ddef5e89
3
+ metadata.gz: 9c929de92cd0a3b2690bac6ef665c8c4d7187dd3ecc838cc881033d8cf5c413c
4
+ data.tar.gz: 3148b06815beb3e506e271bb560fb700b5882d503c1a94f646011117ee424d9b
5
5
  SHA512:
6
- metadata.gz: d2853cef258799e5330896df9a6af7ee979eef4288e8853207ea150d9e4b6d176a4626570795692ab2faf7a6c4790d07eaa3d927e8e2143e53b304748c08558f
7
- data.tar.gz: ec7d60860118f0e8b46e2ae3d147e1065d548d891706cfc26f1d4d45f47fdf87dce130dd62e75763fe01dacca79d32a1a1a485f8b5f9da8a843b2b239a693a85
6
+ metadata.gz: 28afece432426708eb8ce9bdb527dddd2820261574ca299887ba1294ecc98b34663c04dc15c9cf0ffb78f5211abb9b8d78ba6e202c7a6d28867edda65727b902
7
+ data.tar.gz: 3e81497fa32092e4f037d272ee1a76f555bd9a557c9855a304e96acc93cdedaf24e0a4b21d86e895dddb1db569ec35954cbff30340f8e9803b7d799b28866522
data/CHANGELOG.markdown CHANGED
@@ -1,5 +1,8 @@
1
1
  # Unreleased
2
2
 
3
+ # 5.6.4
4
+ - Use new ActiveJob class name and timestamp units for Sidekiq 8+ (#544)
5
+
3
6
  # 5.6.2
4
7
  - Fix deprecation warning for Sidekiq 7.1.5+ (#535)
5
8
  - Add support for Mongoid 8 and 9. Remove support for old versions. (#538)
@@ -69,8 +69,21 @@ module ScoutApm
69
69
  end
70
70
  end
71
71
 
72
+ def self.sidekiq_version_8?
73
+ if defined?(::Sidekiq::VERSION)
74
+ ::Sidekiq::VERSION.to_i >= 8
75
+ else
76
+ false
77
+ end
78
+ end
79
+
72
80
  UNKNOWN_CLASS_PLACEHOLDER = 'UnknownJob'.freeze
73
- ACTIVE_JOB_KLASS = 'ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper'.freeze
81
+ # This name was changed in Sidekiq 8
82
+ ACTIVE_JOB_KLASS = if sidekiq_version_8?
83
+ 'Sidekiq::ActiveJob::Wrapper'.freeze
84
+ else
85
+ 'ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper'.freeze
86
+ end
74
87
  DELAYED_WRAPPER_KLASS = 'Sidekiq::Extensions::DelayedClass'.freeze
75
88
 
76
89
 
@@ -119,7 +132,14 @@ module ScoutApm
119
132
  def latency(msg, time = Time.now.to_f)
120
133
  created_at = msg['enqueued_at'] || msg['created_at']
121
134
  if created_at
122
- (time - created_at)
135
+ # Sidekiq 8+ uses milliseconds, older versions use seconds.
136
+ # Do it this way because downstream expects seconds.
137
+ if self.class.sidekiq_version_8?
138
+ # Convert milliseconds to seconds for consistency.
139
+ (time - (created_at.to_f / 1000.0))
140
+ else
141
+ (time - created_at)
142
+ end
123
143
  else
124
144
  0
125
145
  end
@@ -1,3 +1,3 @@
1
1
  module ScoutApm
2
- VERSION = "5.6.2"
2
+ VERSION = "5.6.4"
3
3
  end
@@ -102,13 +102,21 @@ class SidekiqTest < Minitest::Test
102
102
  ########################################
103
103
  def test_latency_from_created_at
104
104
  # Created at time 80, but now it is 200. Latency was 120
105
- msg = { 'created_at' => 80 }
105
+ msg = if SidekiqMiddleware.sidekiq_version_8?
106
+ { 'created_at' => 80000 } # milliseconds for Sidekiq 8+
107
+ else
108
+ { 'created_at' => 80 }
109
+ end
106
110
  assert_equal 120, SidekiqMiddleware.new.latency(msg, 200)
107
111
  end
108
112
 
109
113
  def test_latency_from_enqueued_at
110
114
  # Created at time 80, but now it is 200. Latency was 120
111
- msg = { 'enqueued_at' => 80 }
115
+ msg = if SidekiqMiddleware.sidekiq_version_8?
116
+ { 'enqueued_at' => 80000 } # milliseconds for Sidekiq 8+
117
+ else
118
+ { 'enqueued_at' => 80 }
119
+ end
112
120
  assert_equal 120, SidekiqMiddleware.new.latency(msg, 200)
113
121
  end
114
122
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scout_apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.6.2
4
+ version: 5.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derek Haynes
8
8
  - Andre Lewis
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-03-20 00:00:00.000000000 Z
11
+ date: 2025-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest