honeybadger 5.15.5 → 5.16.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a312d3eb74eb5dd3df188d020d902df8549085ec88f3b95be2ee1ac478ccf567
4
- data.tar.gz: 9584f4e9f46d62de688926c9b96ae3006046372271f6a0aa6b43e18b388754da
3
+ metadata.gz: a6674f1772ae54868a913de6f2acdb4286500ffc165e0d5f171b322da91776f3
4
+ data.tar.gz: f22eb1fb98c3482bce89bf493dd9de0d2316e6aaf8026a57c9046728e7162c41
5
5
  SHA512:
6
- metadata.gz: 0db6ef010ed9a83447e800115fb5cec27cbac4e546e832f238d9d8c54efaca88bec487edba28c13c6f82eb916f7db16e72be6d12377b031c1ae28713e288f47a
7
- data.tar.gz: bce986b69ced50262440748cbcea4954a8103fd283960bafc32e74f7d4c45e0252f2a3b1af193a8cda8663fef898ab20afb4b47ef19fef896aba3d7036acd471
6
+ metadata.gz: 532f696d90a9d2ffb9343b5cf5a64bf3e2a38485360198d32b6d16a297819dd80dc58bdbca81a8b00da2a7c6e9a6cb1fafe7f77ee6b4f7cec586c0e726fabed2
7
+ data.tar.gz: 571036d50c716b884a2ea06cad05829ee182d6ee84a82a44b170fb030dc63d00e937afad62983d44eab64de3e2f9f94844c9c4d4aeaca9a1de6ebbec809056bb
data/CHANGELOG.md CHANGED
@@ -1,6 +1,20 @@
1
1
  # Change Log
2
2
 
3
3
 
4
+ ## [5.16.0](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.15.6...v5.16.0) (2024-09-19)
5
+
6
+
7
+ ### Features
8
+
9
+ * add karafka processing_lag to event ([#613](https://github.com/honeybadger-io/honeybadger-ruby/issues/613)) ([a527eea](https://github.com/honeybadger-io/honeybadger-ruby/commit/a527eea37eb3d351dd6731ea3c469dcb2609fea6))
10
+
11
+ ## [5.15.6](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.15.5...v5.15.6) (2024-08-15)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * init karafka plugin only if monitor is available ([#606](https://github.com/honeybadger-io/honeybadger-ruby/issues/606)) ([cb0f89c](https://github.com/honeybadger-io/honeybadger-ruby/commit/cb0f89cddd7f8ad4b977a3b8665d0d12a59300d1))
17
+
4
18
  ## [5.15.5](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.15.4...v5.15.5) (2024-07-30)
5
19
 
6
20
 
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![Ruby](https://github.com/honeybadger-io/honeybadger-ruby/actions/workflows/ruby.yml/badge.svg)](https://github.com/honeybadger-io/honeybadger-ruby/actions/workflows/ruby.yml)
4
4
  [![Gem Version](https://badge.fury.io/rb/honeybadger.svg)](http://badge.fury.io/rb/honeybadger)
5
5
 
6
- This is the notifier gem for integrating apps with the :zap: [Honeybadger Exception Notifier for Ruby and Rails](http://honeybadger.io).
6
+ This is the notifier gem for integrating apps with the :zap: [Honeybadger Exception Notifier for Ruby and Rails](https://www.honeybadger.io).
7
7
 
8
8
  When an uncaught exception occurs, Honeybadger will POST the relevant data to the Honeybadger server specified in your environment.
9
9
 
@@ -9,20 +9,19 @@ module Honeybadger
9
9
  # instance. There are three usage variations as show in the example below:
10
10
  #
11
11
  # @example
12
+ # class TicketsController < ApplicationController
13
+ # def create
14
+ # # pass a block
15
+ # Honeybadger.time('create.ticket') { Ticket.create(params[:ticket]) }
12
16
  #
13
- # class TicketsController < ApplicationController
14
- # def create
15
- # # pass a block
16
- # Honeybadger.time('create.ticket') { Ticket.create(params[:ticket]) }
17
+ # # pass a lambda argument
18
+ # Honeybadger.time 'create.ticket', ->{ Ticket.create(params[:ticket]) }
17
19
  #
18
- # # pass a lambda argument
19
- # Honeybadger.time 'create.ticket', ->{ Ticket.create(params[:ticket]) }
20
- #
21
- # # pass the duration argument
22
- # duration = timing_method { Ticket.create(params[:ticket]) }
23
- # Honeybadger.time 'create.ticket', duration: duration
20
+ # # pass the duration argument
21
+ # duration = timing_method { Ticket.create(params[:ticket]) }
22
+ # Honeybadger.time 'create.ticket', duration: duration
23
+ # end
24
24
  # end
25
- # end
26
25
  #
27
26
  #
28
27
  class Instrumentation
@@ -2,31 +2,28 @@ require 'honeybadger/instrumentation'
2
2
 
3
3
  module Honeybadger
4
4
  # +Honeybadger::InstrumentationHelper+ is a module that can be included into any class. This module
5
- # provides a convenient DSL around the instrumentation methods to prvoide a cleaner interface.
5
+ # provides a convenient DSL around the instrumentation methods to provide a cleaner interface.
6
6
  # There are three usage variations as show in the example below:
7
7
  #
8
8
  # @example
9
+ # class TicketsController < ApplicationController
10
+ # include Honeybadger::InstrumentationHelper
9
11
  #
10
- # class TicketsController < ApplicationController
11
- # include Honeybadger::InstrumentationHelper
12
+ # def create
13
+ # metric_source 'controller'
14
+ # metric_attributes(foo: 'bar') # These attributes get tagged to all metrics called after.
12
15
  #
13
- # def create
14
- # metric_source 'controller'
15
- # metric_attributes { foo: 'bar' } # These attributes get tagged to all metrics called after.
16
+ # # pass a block
17
+ # time('create.ticket') { Ticket.create(params[:ticket]) }
16
18
  #
17
- # # pass a block
18
- # time('create.ticket') { Ticket.create(params[:ticket]) }
19
+ # # pass a lambda argument
20
+ # time 'create.ticket', ->{ Ticket.create(params[:ticket]) }
19
21
  #
20
- # # pass a lambda argument
21
- # time 'create.ticket', ->{ Ticket.create(params[:ticket]) }
22
- #
23
- # # pass the duration argument
24
- # duration = timing_method { Ticket.create(params[:ticket]) }
25
- # time 'create.ticket', duration: duration
22
+ # # pass the duration argument
23
+ # duration = timing_method { Ticket.create(params[:ticket]) }
24
+ # time 'create.ticket', duration: duration
25
+ # end
26
26
  # end
27
- # end
28
- #
29
- #
30
27
  module InstrumentationHelper
31
28
 
32
29
  # returns two parameters, the first is the duration of the execution, and the second is
@@ -3,8 +3,8 @@ require 'honeybadger/notification_subscriber'
3
3
  module Honeybadger
4
4
  module Plugins
5
5
  module ActiveJob
6
- # Ignore inline and test adapters, as well as the adapters that we support with their own plugins
7
- EXCLUDED_ADAPTERS = %i[inline test delayed_job faktory karafka resque shoryuken sidekiq sucker_punch]
6
+ # Ignore the adapters that we support with their own plugins
7
+ EXCLUDED_ADAPTERS = %i[delayed_job faktory karafka resque shoryuken sidekiq sucker_punch]
8
8
 
9
9
  class << self
10
10
  def perform_around(job, block)
@@ -3,12 +3,12 @@ require 'honeybadger/plugin'
3
3
  module Honeybadger
4
4
  module Plugins
5
5
  Plugin.register :karafka do
6
- requirement { defined?(::Karafka) }
6
+ requirement { defined?(::Karafka) && ::Karafka.respond_to?(:monitor) }
7
7
 
8
8
  execution do
9
- ::Karafka.monitor.subscribe('error.occurred') do |event|
9
+ ::Karafka.monitor.subscribe("error.occurred") do |event|
10
10
  Honeybadger.notify(event[:error])
11
- Honeybadger.event('error.occurred', error: event[:error]) if config.load_plugin_insights?(:karafka)
11
+ Honeybadger.event("error.occurred.karafka", error: event[:error]) if config.load_plugin_insights?(:karafka)
12
12
  end
13
13
 
14
14
  if config.load_plugin_insights?(:karafka)
@@ -19,10 +19,11 @@ module Honeybadger
19
19
  id: event.payload[:caller].id,
20
20
  topic: event.payload[:caller].messages.metadata.topic,
21
21
  messages_count: event.payload[:caller].messages.metadata.size,
22
+ processing_lag: event.payload[:caller].messages.metadata.processing_lag,
22
23
  partition: event.payload[:caller].messages.metadata.partition
23
24
  }
24
25
 
25
- Honeybadger.event('consumer.consumed.karafka', context)
26
+ Honeybadger.event("consumer.consumed.karafka", context)
26
27
  end
27
28
  end
28
29
  end
@@ -1,4 +1,4 @@
1
1
  module Honeybadger
2
2
  # The current String Honeybadger version.
3
- VERSION = '5.15.5'.freeze
3
+ VERSION = '5.16.0'.freeze
4
4
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: honeybadger
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.15.5
4
+ version: 5.16.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-08-05 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2024-09-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: logger
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  description: Make managing application errors a more pleasant experience.
14
28
  email:
15
29
  - support@honeybadger.io