honeybadger 6.0.3 → 6.0.5
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 +4 -4
- data/CHANGELOG.md +19 -0
- data/lib/honeybadger/config/defaults.rb +7 -1
- data/lib/honeybadger/context_manager.rb +15 -14
- data/lib/honeybadger/plugins/sidekiq.rb +14 -4
- data/lib/honeybadger/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5160793b74f7c4053a9555a0971de15efb22f272fc7a7e6052ecfeaf03eb8169
|
4
|
+
data.tar.gz: 01f11ecf896753b18753dd4358bd6dafdeb69f1b7f4c9be07cfdcc34b1d6e70a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f97944722522cab70906caf350f90112b178d9aee3bc0b29a5db977e8de87d675f6df7607ef4d0b684631693b50fc63890db796ee948bb2f5273e6551f84e672
|
7
|
+
data.tar.gz: e953d7889316b6cf93bd95cfa7353b1cb3201a79a909ad2c18255ea0faf7ebb463f527b96f06afdd701dc7fd807644f993d325f702829fedce0ec1304b6c945b
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,25 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
3
|
|
4
|
+
## [6.0.5](https://github.com/honeybadger-io/honeybadger-ruby/compare/v6.0.4...v6.0.5) (2025-08-11)
|
5
|
+
|
6
|
+
|
7
|
+
### Bug Fixes
|
8
|
+
|
9
|
+
* don't use as_json to collect Sidekiq stats ([#723](https://github.com/honeybadger-io/honeybadger-ruby/issues/723)) ([d389b2b](https://github.com/honeybadger-io/honeybadger-ruby/commit/d389b2bc2f8b5b7bcc5590946e5b0fa1a551719d)), closes [#722](https://github.com/honeybadger-io/honeybadger-ruby/issues/722)
|
10
|
+
|
11
|
+
## [6.0.4](https://github.com/honeybadger-io/honeybadger-ruby/compare/v6.0.3...v6.0.4) (2025-08-07)
|
12
|
+
|
13
|
+
|
14
|
+
### Bug Fixes
|
15
|
+
|
16
|
+
* replace context_manager mutex with a monitor ([#718](https://github.com/honeybadger-io/honeybadger-ruby/issues/718)) ([936f3eb](https://github.com/honeybadger-io/honeybadger-ruby/commit/936f3eb4e55024b55e6a1a7f3552000e5dd69eee))
|
17
|
+
|
18
|
+
|
19
|
+
### Performance Improvements
|
20
|
+
|
21
|
+
* ignore more events by default ([#720](https://github.com/honeybadger-io/honeybadger-ruby/issues/720)) ([1f7c757](https://github.com/honeybadger-io/honeybadger-ruby/commit/1f7c757beac6f443fae88aa17141bc9806480b15))
|
22
|
+
|
4
23
|
## [6.0.3](https://github.com/honeybadger-io/honeybadger-ruby/compare/v6.0.2...v6.0.3) (2025-08-04)
|
5
24
|
|
6
25
|
|
@@ -36,7 +36,13 @@ module Honeybadger
|
|
36
36
|
{event_type: "sql.active_record", query: /^(begin|commit)( immediate)?( transaction)?$/i},
|
37
37
|
{event_type: "sql.active_record", query: /(solid_queue|good_job)/i},
|
38
38
|
{event_type: "sql.active_record", name: /^GoodJob/},
|
39
|
-
{event_type: "process_action.action_controller", controller: "Rails::HealthController"}
|
39
|
+
{event_type: "process_action.action_controller", controller: "Rails::HealthController"},
|
40
|
+
{event_type: "cache_exist?.active_support"},
|
41
|
+
{event_type: "cache_write.active_support"},
|
42
|
+
{event_type: "cache_generate.active_support"},
|
43
|
+
{event_type: "cache_delete.active_support"},
|
44
|
+
{event_type: "cache_increment.active_support"},
|
45
|
+
{event_type: "cache_decrement.active_support"}
|
40
46
|
].freeze
|
41
47
|
|
42
48
|
DEVELOPMENT_ENVIRONMENTS = ["development", "test", "cucumber"].map(&:freeze).freeze
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require "honeybadger/conversions"
|
2
|
+
require "monitor"
|
2
3
|
|
3
4
|
module Honeybadger
|
4
5
|
# @api private
|
@@ -10,7 +11,7 @@ module Honeybadger
|
|
10
11
|
end
|
11
12
|
|
12
13
|
def initialize
|
13
|
-
@
|
14
|
+
@monitor = Monitor.new
|
14
15
|
_initialize
|
15
16
|
end
|
16
17
|
|
@@ -22,7 +23,7 @@ module Honeybadger
|
|
22
23
|
|
23
24
|
def set_context(hash, &block)
|
24
25
|
local = block_given?
|
25
|
-
@
|
26
|
+
@monitor.synchronize do
|
26
27
|
@global_context ||= {}
|
27
28
|
@local_context ||= []
|
28
29
|
|
@@ -39,13 +40,13 @@ module Honeybadger
|
|
39
40
|
begin
|
40
41
|
yield
|
41
42
|
ensure
|
42
|
-
@
|
43
|
+
@monitor.synchronize { @local_context&.pop }
|
43
44
|
end
|
44
45
|
end
|
45
46
|
end
|
46
47
|
|
47
48
|
def get_context
|
48
|
-
@
|
49
|
+
@monitor.synchronize do
|
49
50
|
return @global_context unless @local_context
|
50
51
|
|
51
52
|
@global_context.merge(@local_context.inject({}, :merge))
|
@@ -53,7 +54,7 @@ module Honeybadger
|
|
53
54
|
end
|
54
55
|
|
55
56
|
def clear_context
|
56
|
-
@
|
57
|
+
@monitor.synchronize do
|
57
58
|
@global_context = nil
|
58
59
|
@local_context = nil
|
59
60
|
end
|
@@ -61,7 +62,7 @@ module Honeybadger
|
|
61
62
|
|
62
63
|
def set_event_context(hash, &block)
|
63
64
|
local = block_given?
|
64
|
-
@
|
65
|
+
@monitor.synchronize do
|
65
66
|
@global_event_context ||= {}
|
66
67
|
@local_event_context ||= []
|
67
68
|
|
@@ -78,13 +79,13 @@ module Honeybadger
|
|
78
79
|
begin
|
79
80
|
yield
|
80
81
|
ensure
|
81
|
-
@
|
82
|
+
@monitor.synchronize { @local_event_context&.pop }
|
82
83
|
end
|
83
84
|
end
|
84
85
|
end
|
85
86
|
|
86
87
|
def get_event_context
|
87
|
-
@
|
88
|
+
@monitor.synchronize do
|
88
89
|
return @global_event_context unless @local_event_context
|
89
90
|
|
90
91
|
@global_event_context.merge(@local_event_context.inject({}, :merge))
|
@@ -92,26 +93,26 @@ module Honeybadger
|
|
92
93
|
end
|
93
94
|
|
94
95
|
def clear_event_context
|
95
|
-
@
|
96
|
+
@monitor.synchronize do
|
96
97
|
@global_event_context = nil
|
97
98
|
@local_event_context = nil
|
98
99
|
end
|
99
100
|
end
|
100
101
|
|
101
102
|
def set_rack_env(env)
|
102
|
-
@
|
103
|
+
@monitor.synchronize { @rack_env = env }
|
103
104
|
end
|
104
105
|
|
105
106
|
def get_rack_env
|
106
|
-
@
|
107
|
+
@monitor.synchronize { @rack_env }
|
107
108
|
end
|
108
109
|
|
109
110
|
def set_request_id(request_id)
|
110
|
-
@
|
111
|
+
@monitor.synchronize { @request_id = request_id }
|
111
112
|
end
|
112
113
|
|
113
114
|
def get_request_id
|
114
|
-
@
|
115
|
+
@monitor.synchronize { @request_id }
|
115
116
|
end
|
116
117
|
|
117
118
|
private
|
@@ -119,7 +120,7 @@ module Honeybadger
|
|
119
120
|
attr_accessor :custom, :rack_env, :request_id
|
120
121
|
|
121
122
|
def _initialize
|
122
|
-
@
|
123
|
+
@monitor.synchronize do
|
123
124
|
@global_context = nil
|
124
125
|
@local_context = nil
|
125
126
|
@global_event_context = nil
|
@@ -175,8 +175,18 @@ module Honeybadger
|
|
175
175
|
|
176
176
|
collect_sidekiq_stats = -> do
|
177
177
|
stats = ::Sidekiq::Stats.new
|
178
|
-
data =
|
179
|
-
|
178
|
+
data = {
|
179
|
+
stats: {
|
180
|
+
processed: stats.processed,
|
181
|
+
failed: stats.failed,
|
182
|
+
scheduled_size: stats.scheduled_size,
|
183
|
+
retry_size: stats.retry_size,
|
184
|
+
dead_size: stats.dead_size,
|
185
|
+
processes_size: stats.processes_size,
|
186
|
+
default_queue_latency: stats.default_queue_latency
|
187
|
+
},
|
188
|
+
queues: {}
|
189
|
+
}
|
180
190
|
|
181
191
|
::Sidekiq::Queue.all.each do |queue|
|
182
192
|
data[:queues][queue.name] ||= {}
|
@@ -216,13 +226,13 @@ module Honeybadger
|
|
216
226
|
stats = collect_sidekiq_stats.call
|
217
227
|
|
218
228
|
if Honeybadger.config.load_plugin_insights_events?(:sidekiq)
|
219
|
-
Honeybadger.event("stats.sidekiq", stats.except(
|
229
|
+
Honeybadger.event("stats.sidekiq", stats.except(:stats).merge(stats[:stats]))
|
220
230
|
end
|
221
231
|
|
222
232
|
if Honeybadger.config.load_plugin_insights_metrics?(:sidekiq)
|
223
233
|
metric_source "sidekiq"
|
224
234
|
|
225
|
-
stats[
|
235
|
+
stats[:stats].each do |name, value|
|
226
236
|
gauge name, value: value
|
227
237
|
end
|
228
238
|
|
data/lib/honeybadger/version.rb
CHANGED