honeybadger 5.13.1 → 5.14.1

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: 49f0e76e4da63a4398fcb71cc8fb153f5a854cd13a0d163924adc41473460401
4
- data.tar.gz: f8adacb9335c3d42f3fa2991eb05453551cb546b1d439e504fff32d5c41703b5
3
+ metadata.gz: 27b739832fcd4e8ae2b9599d80079f072bdbe2db1d8790a86bcc08f368be54bf
4
+ data.tar.gz: 3e3133dacf4749524276450c927a336544fc4d31ae0674f8fdfca17a5cb6311f
5
5
  SHA512:
6
- metadata.gz: e5022f0122bb51b147f6014e25f204250906b33c4e0e25c9699302e8e8a1bc97bad41497546f93c2d8cb9442de53d207309003699dfc55ae6190e14c2b110cff
7
- data.tar.gz: dc28062240092dd136fb22ccd54b45882e850a6982f13225924606ff4e7805451e12a9516a9deba75ee83c71d0f2fcae400c70df2be191d8d5b1b402c8a71365
6
+ metadata.gz: 186d0a1485cfc7e5584e63b84fb068b75dd87ee7f4fe4afd037e26cbf9ac5825d1df38d39b8e2ae3c65c42fc512b292cb1289156e676ab4b24af07769e6d2e4b
7
+ data.tar.gz: cf6c9735ce7d7533376f2863d443084fa5218052f1c7eaa5e74395ae293491857fd423509dab7f1aa3436cdb2c43b57f77a6f366b599f97c505ea38ae2f10d0f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,40 @@
1
1
  # Change Log
2
2
 
3
3
 
4
+ ## [5.14.1](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.14.0...v5.14.1) (2024-07-15)
5
+
6
+
7
+ ### Bug Fixes
8
+
9
+ * do not serialize adapter object ([#586](https://github.com/honeybadger-io/honeybadger-ruby/issues/586)) ([f724ebf](https://github.com/honeybadger-io/honeybadger-ruby/commit/f724ebf0a2c3e2402c64448779cf7e6386de8b47))
10
+
11
+ ## [5.14.0](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.13.3...v5.14.0) (2024-07-11)
12
+
13
+
14
+ ### Features
15
+
16
+ * add --host and --ui_host flags to install command ([#584](https://github.com/honeybadger-io/honeybadger-ruby/issues/584)) ([5f171ba](https://github.com/honeybadger-io/honeybadger-ruby/commit/5f171badc0602df76a87e4caa0e06c9959648376))
17
+ * add ability to link to a custom domain after creating a notice ([#583](https://github.com/honeybadger-io/honeybadger-ruby/issues/583)) ([5b32b23](https://github.com/honeybadger-io/honeybadger-ruby/commit/5b32b231bb5562b3d97066e3a41f39de76b2f4a3))
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * squash warning about BigDecimal ([#578](https://github.com/honeybadger-io/honeybadger-ruby/issues/578)) ([47ff813](https://github.com/honeybadger-io/honeybadger-ruby/commit/47ff8130047b723b9d85be07b308c4883320eabb))
23
+
24
+ ## [5.13.3](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.13.2...v5.13.3) (2024-07-06)
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * disable insights when loading rails console ([#580](https://github.com/honeybadger-io/honeybadger-ruby/issues/580)) ([94844bd](https://github.com/honeybadger-io/honeybadger-ruby/commit/94844bd72922f27ecf40453ef7c901433067688b))
30
+
31
+ ## [5.13.2](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.13.1...v5.13.2) (2024-07-03)
32
+
33
+
34
+ ### Bug Fixes
35
+
36
+ * buffer more and warn less ([#575](https://github.com/honeybadger-io/honeybadger-ruby/issues/575)) ([8e99e17](https://github.com/honeybadger-io/honeybadger-ruby/commit/8e99e17af65e8d0002e5e8204d5ded1cea891e86))
37
+
4
38
  ## [5.13.1](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.13.0...v5.13.1) (2024-07-01)
5
39
 
6
40
 
@@ -78,6 +78,10 @@ debug: false
78
78
  insights:
79
79
  enabled: #{options["insights"]}
80
80
  CONFIG
81
+ if (connection = options.slice("host", "ui_host")).any?
82
+ file.puts("\n# Override hosts\nconnection:")
83
+ connection.each {|k,v| file.puts(" #{k}: '#{v}'") }
84
+ end
81
85
  end
82
86
  end
83
87
 
@@ -49,6 +49,8 @@ WELCOME
49
49
 
50
50
  desc 'install API_KEY', 'Install Honeybadger into a new project'
51
51
  option :insights, type: :boolean, aliases: :'-i', default: false, desc: 'Enable Honeybadger Insights'
52
+ option :host, type: :string
53
+ option :ui_host, type: :string
52
54
  def install(api_key)
53
55
  Install.new(options, api_key).run
54
56
  rescue => e
@@ -93,7 +93,7 @@ module Honeybadger
93
93
  },
94
94
  :'events.max_queue_size' => {
95
95
  description: 'Maximum number of event for the event worker queue.',
96
- default: 10000,
96
+ default: 100000,
97
97
  type: Integer
98
98
  },
99
99
  :'events.batch_size' => {
@@ -166,6 +166,11 @@ module Honeybadger
166
166
  default: 'api.honeybadger.io'.freeze,
167
167
  type: String
168
168
  },
169
+ :'connection.ui_host' => {
170
+ description: 'The host to use when viewing data.',
171
+ default: 'app.honeybadger.io'.freeze,
172
+ type: String
173
+ },
169
174
  :'connection.port' => {
170
175
  description: 'The port to use when sending data.',
171
176
  default: nil,
@@ -39,13 +39,14 @@ module Honeybadger
39
39
  @pid = Process.pid
40
40
  @send_queue = []
41
41
  @last_sent = nil
42
+ @dropped_events = 0
42
43
  end
43
44
 
44
45
  def push(msg)
45
46
  return false unless start
46
47
 
47
48
  if queue.size >= config.events_max_queue_size
48
- warn { sprintf('Unable to send event; reached max queue size of %s.', queue.size) }
49
+ @dropped_events += 1
49
50
  return false
50
51
  end
51
52
 
@@ -207,7 +208,12 @@ module Honeybadger
207
208
  send_now(mutex.synchronize { send_queue })
208
209
  mutex.synchronize do
209
210
  @last_sent = Time.now
211
+ debug { sprintf('Sending %s events', send_queue.length) }
210
212
  send_queue.clear
213
+ if @dropped_events > 0
214
+ warn { sprintf('Dropped %s messages due to exceeding max queue size of %s', @dropped_events, config.events_max_queue_size) }
215
+ end
216
+ @dropped_events = 0
211
217
  end
212
218
  end
213
219
 
@@ -32,6 +32,10 @@ module Honeybadger
32
32
  config.after_initialize do
33
33
  Honeybadger.load_plugins!
34
34
  end
35
+
36
+ console do
37
+ Honeybadger::Agent.instance.config[:'insights.enabled'] = false unless Honeybadger::Agent.instance.config.env.has_key?(:'insights.enabled')
38
+ end
35
39
  end
36
40
  end
37
41
  end
@@ -74,8 +74,10 @@ module Honeybadger
74
74
  class ActiveJobSubscriber < NotificationSubscriber
75
75
  def format_payload(payload)
76
76
  job = payload[:job]
77
- payload.except(:job).merge({
78
- job_class: job.class,
77
+ adapter = payload[:adapter]
78
+ payload.except(:job, :adapter).merge({
79
+ adapter_class: adapter.class.to_s,
80
+ job_class: job.class.to_s,
79
81
  job_id: job.job_id,
80
82
  queue_name: job.queue_name
81
83
  })
@@ -87,7 +89,7 @@ module Honeybadger
87
89
 
88
90
  def format_payload(payload)
89
91
  {
90
- job_class: payload[:job].class,
92
+ job_class: payload[:job].class.to_s,
91
93
  queue_name: payload[:job].queue_name
92
94
  }
93
95
  end
@@ -1,4 +1,3 @@
1
- require 'bigdecimal'
2
1
  require 'set'
3
2
 
4
3
  require 'honeybadger/conversions'
@@ -21,7 +20,7 @@ module Honeybadger
21
20
  RECURSION = '[RECURSION]'.freeze
22
21
  TRUNCATED = '[TRUNCATED]'.freeze
23
22
 
24
- IMMUTABLE = [NilClass, FalseClass, TrueClass, Symbol, Numeric, BigDecimal, Method].freeze
23
+ IMMUTABLE = [NilClass, FalseClass, TrueClass, Symbol, Numeric, Method].freeze
25
24
 
26
25
  MAX_STRING_SIZE = 65536
27
26
 
@@ -1,4 +1,4 @@
1
1
  module Honeybadger
2
2
  # The current String Honeybadger version.
3
- VERSION = '5.13.1'.freeze
3
+ VERSION = '5.14.1'.freeze
4
4
  end
@@ -226,10 +226,11 @@ module Honeybadger
226
226
  when 413
227
227
  warn { sprintf('Error report failed: Payload is too large. id=%s code=%s', msg.id, response.code) }
228
228
  when 201
229
+ host = config.get(:'connection.ui_host')
229
230
  if throttle = dec_throttle
230
- info { sprintf('Success ⚡ https://app.honeybadger.io/notice/%s id=%s code=%s throttle=%s interval=%s', msg.id, msg.id, response.code, throttle, throttle_interval) }
231
+ info { sprintf('Success ⚡ https://#{host}/notice/%s id=%s code=%s throttle=%s interval=%s', msg.id, msg.id, response.code, throttle, throttle_interval) }
231
232
  else
232
- info { sprintf('Success ⚡ https://app.honeybadger.io/notice/%s id=%s code=%s', msg.id, msg.id, response.code) }
233
+ info { sprintf('Success ⚡ https://#{host}/notice/%s id=%s code=%s', msg.id, msg.id, response.code) }
233
234
  end
234
235
  when :stubbed
235
236
  info { sprintf('Success ⚡ Development mode is enabled; this error will be reported if it occurs after you deploy your app. id=%s', msg.id) }
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.13.1
4
+ version: 5.14.1
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-01 00:00:00.000000000 Z
11
+ date: 2024-07-15 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Make managing application errors a more pleasant experience.
14
14
  email: