Sha256: 6f4fecaf54c683074e7b7d8c077ebe0e75e17af5fff053c252c034277b663bd6

Contents?: true

Size: 790 Bytes

Versions: 8

Compression:

Stored size: 790 Bytes

Contents

# frozen_string_literal: true

require_relative 'base'

module Karafka
  module Instrumentation
    module Vendors
      # Namespace for Appsignal instrumentation
      module Appsignal
        # Listener for reporting errors from both consumers and producers
        # Since we have the same API for WaterDrop and Karafka, we can use one listener with
        # independent instances
        class ErrorsListener < Base
          def_delegators :config, :client

          setting :client, default: Client.new

          configure

          # Sends error details to Appsignal
          #
          # @param event [Karafka::Core::Monitoring::Event]
          def on_error_occurred(event)
            client.report_error(event[:error])
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
karafka-2.4.17 lib/karafka/instrumentation/vendors/appsignal/errors_listener.rb
karafka-2.4.16 lib/karafka/instrumentation/vendors/appsignal/errors_listener.rb
karafka-2.4.15 lib/karafka/instrumentation/vendors/appsignal/errors_listener.rb
karafka-2.4.14 lib/karafka/instrumentation/vendors/appsignal/errors_listener.rb
karafka-2.4.13 lib/karafka/instrumentation/vendors/appsignal/errors_listener.rb
karafka-2.4.12 lib/karafka/instrumentation/vendors/appsignal/errors_listener.rb
karafka-2.4.11 lib/karafka/instrumentation/vendors/appsignal/errors_listener.rb
karafka-2.4.10 lib/karafka/instrumentation/vendors/appsignal/errors_listener.rb