Sha256: d54225d2ad2aec7e223ae08108827b7cce826734f1b88e69fe51ac4284d3dbdd

Contents?: true

Size: 1.51 KB

Versions: 13

Compression:

Stored size: 1.51 KB

Contents

# frozen_string_literal: true

module Karafka
  module Web
    module Ui
      module Controllers
        # Errors displaying controller
        # It supports only scenarios with a single partition for errors
        # If you have high load of errors, consider going Pro
        class ErrorsController < BaseController
          # Lists first page of the errors
          def index
            @watermark_offsets = Models::WatermarkOffsets.find(errors_topic, 0)
            previous_offset, @error_messages, next_offset, = current_page_data

            paginate(
              previous_offset,
              @params.current_offset,
              next_offset,
              @error_messages.map(&:offset)
            )

            render
          end

          # @param offset [Integer] given error message offset
          def show(offset)
            @error_message = Models::Message.find(
              errors_topic,
              0,
              offset
            )

            render
          end

          private

          # @return [Array] Array with requested messages as well as pagination details and other
          #   obtained metadata
          def current_page_data
            Models::Message.offset_page(
              errors_topic,
              0,
              @params.current_offset,
              @watermark_offsets
            )
          end

          # @return [String] errors topic
          def errors_topic
            ::Karafka::Web.config.topics.errors
          end
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
karafka-web-0.10.4 lib/karafka/web/ui/controllers/errors_controller.rb
karafka-web-0.10.3 lib/karafka/web/ui/controllers/errors_controller.rb
karafka-web-0.10.2 lib/karafka/web/ui/controllers/errors_controller.rb
karafka-web-0.10.1 lib/karafka/web/ui/controllers/errors_controller.rb
karafka-web-0.10.0 lib/karafka/web/ui/controllers/errors_controller.rb
karafka-web-0.10.0.rc2 lib/karafka/web/ui/controllers/errors_controller.rb
karafka-web-0.10.0.rc1 lib/karafka/web/ui/controllers/errors_controller.rb
karafka-web-0.10.0.beta1 lib/karafka/web/ui/controllers/errors_controller.rb
karafka-web-0.9.1 lib/karafka/web/ui/controllers/errors_controller.rb
karafka-web-0.9.0 lib/karafka/web/ui/controllers/errors_controller.rb
karafka-web-0.9.0.rc3 lib/karafka/web/ui/controllers/errors_controller.rb
karafka-web-0.9.0.rc2 lib/karafka/web/ui/controllers/errors_controller.rb
karafka-web-0.9.0.rc1 lib/karafka/web/ui/controllers/errors_controller.rb