honeybadger 5.14.2 → 5.15.0
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 +7 -0
- data/lib/honeybadger/agent.rb +12 -1
- data/lib/honeybadger/config/defaults.rb +13 -2
- data/lib/honeybadger/config.rb +24 -3
- data/lib/honeybadger/event.rb +1 -1
- data/lib/honeybadger/notification_subscriber.rb +0 -1
- data/lib/honeybadger/plugins/solid_queue.rb +1 -1
- data/lib/honeybadger/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60300a5d8ccaecda5eeff8887f76c5c54dba5c4610539c4ff8865d1355a5c124
|
4
|
+
data.tar.gz: d057c93fc1a8d24f6fdb4a952d5b56cf8dbf0f3ee07466eaad38d3be2efcad13
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 06cdba44a37870e7b2e51414efb9ac48f5e3dc8015403a7b40e3a12520f0d037ab77f90205ea85f610de2d9bee11b6b6d5bf63fcbfce6a8d296ef8d1aeec7af9
|
7
|
+
data.tar.gz: 6538734d781bd200445e9ac603baf2fbd3b91a0e723112cb79d7468a56baaadc38921fdd75dfd4bde8ad25a67e911e3c56020dcff54f49414066abd68c83dc9a
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
3
|
|
4
|
+
## [5.15.0](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.14.2...v5.15.0) (2024-07-18)
|
5
|
+
|
6
|
+
|
7
|
+
### Features
|
8
|
+
|
9
|
+
* define default events to ignore, allow for override ([#570](https://github.com/honeybadger-io/honeybadger-ruby/issues/570)) ([a6f2177](https://github.com/honeybadger-io/honeybadger-ruby/commit/a6f2177eb69b75eafef235768187ccf6b3a538f0))
|
10
|
+
|
4
11
|
## [5.14.2](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.14.1...v5.14.2) (2024-07-17)
|
5
12
|
|
6
13
|
|
data/lib/honeybadger/agent.rb
CHANGED
@@ -404,7 +404,18 @@ module Honeybadger
|
|
404
404
|
with_error_handling { hook.call(event) }
|
405
405
|
end
|
406
406
|
|
407
|
-
return if config.ignored_events.any?
|
407
|
+
return if config.ignored_events.any? do |check|
|
408
|
+
with_error_handling do
|
409
|
+
check.all? do |keys, value|
|
410
|
+
if keys == [:event_type]
|
411
|
+
event.event_type&.match?(value)
|
412
|
+
elsif event.dig(*keys)
|
413
|
+
event.dig(*keys).to_s.match?(value)
|
414
|
+
end
|
415
|
+
end
|
416
|
+
end
|
417
|
+
end
|
418
|
+
|
408
419
|
return if event.halted?
|
409
420
|
|
410
421
|
events_worker.push(event.as_json)
|
@@ -31,6 +31,12 @@ module Honeybadger
|
|
31
31
|
'Sinatra::NotFound',
|
32
32
|
'Sidekiq::JobRetry::Skip'].map(&:freeze).freeze
|
33
33
|
|
34
|
+
IGNORE_EVENTS_DEFAULT = [
|
35
|
+
{ event_type: 'sql.active_record', query: /^(begin|commit)( transaction)?$/i },
|
36
|
+
{ event_type: 'sql.active_record', query: /(solid_queue|good_job)/i },
|
37
|
+
{ event_type: 'process_action.action_controller', controller: 'Rails::HealthController' }
|
38
|
+
].freeze
|
39
|
+
|
34
40
|
DEVELOPMENT_ENVIRONMENTS = ['development', 'test', 'cucumber'].map(&:freeze).freeze
|
35
41
|
|
36
42
|
DEFAULT_PATHS = ['honeybadger.yml', 'config/honeybadger.yml', "#{ENV['HOME']}/honeybadger.yml"].map(&:freeze).freeze
|
@@ -112,8 +118,13 @@ module Honeybadger
|
|
112
118
|
type: Boolean
|
113
119
|
},
|
114
120
|
:'events.ignore' => {
|
115
|
-
description: 'A list of events to ignore. Use a
|
116
|
-
default:
|
121
|
+
description: 'A list of additional events to ignore. Use a hash to query nested payloads, match using a string or regex. Non-hash will match on the event_type.',
|
122
|
+
default: IGNORE_EVENTS_DEFAULT,
|
123
|
+
type: Array
|
124
|
+
},
|
125
|
+
:'events.ignore_only' => {
|
126
|
+
description: 'A list of events to ignore (overrides the default ignored events).',
|
127
|
+
default: nil,
|
117
128
|
type: Array
|
118
129
|
},
|
119
130
|
plugins: {
|
data/lib/honeybadger/config.rb
CHANGED
@@ -192,10 +192,22 @@ module Honeybadger
|
|
192
192
|
DEFAULTS[:'exceptions.ignore'] | Array(ignore)
|
193
193
|
end
|
194
194
|
|
195
|
+
def raw_ignored_events
|
196
|
+
ignore_only = get(:'events.ignore_only')
|
197
|
+
return ignore_only if ignore_only
|
198
|
+
return DEFAULTS[:'events.ignore'] unless ignore = get(:'events.ignore')
|
199
|
+
|
200
|
+
DEFAULTS[:'events.ignore'] | Array(ignore)
|
201
|
+
end
|
202
|
+
|
195
203
|
def ignored_events
|
196
|
-
|
197
|
-
check.is_a?(String)
|
198
|
-
|
204
|
+
@ignored_events ||= raw_ignored_events.map do |check|
|
205
|
+
if check.is_a?(String) || check.is_a?(Regexp)
|
206
|
+
{ [:event_type] => check }
|
207
|
+
elsif check.is_a?(Hash)
|
208
|
+
flat_hash(check).transform_keys! { |key_array| key_array.map(&:to_sym) }
|
209
|
+
end
|
210
|
+
end.compact
|
199
211
|
end
|
200
212
|
|
201
213
|
def ca_bundle_path
|
@@ -455,5 +467,14 @@ module Honeybadger
|
|
455
467
|
end
|
456
468
|
end
|
457
469
|
end
|
470
|
+
|
471
|
+
# Converts a nested hash into a single layer where keys become arrays:
|
472
|
+
# ex: > flat_hash({ :nested => { :hash => "value" }})
|
473
|
+
# > { [:nested, :hash] => "value" }
|
474
|
+
def flat_hash(h,f=[],g={})
|
475
|
+
return g.update({ f=>h }) unless h.is_a? Hash
|
476
|
+
h.each { |k,r| flat_hash(r,f+[k],g) }
|
477
|
+
g
|
478
|
+
end
|
458
479
|
end
|
459
480
|
end
|
data/lib/honeybadger/event.rb
CHANGED
@@ -2,7 +2,7 @@ module Honeybadger
|
|
2
2
|
module Plugins
|
3
3
|
module SolidQueue
|
4
4
|
Plugin.register :solid_queue do
|
5
|
-
requirement { defined?(::SolidQueue) }
|
5
|
+
requirement { config.load_plugin_insights?(:solid_queue) && defined?(::SolidQueue) }
|
6
6
|
|
7
7
|
collect do
|
8
8
|
if config.cluster_collection?(:solid_queue)
|
data/lib/honeybadger/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: honeybadger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Honeybadger Industries LLC
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-07-
|
11
|
+
date: 2024-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Make managing application errors a more pleasant experience.
|
14
14
|
email:
|