Sha256: 5cce0441c14ae8da7c3d46079e3f35eabb50f2c723d92ec6c4f28a6a9ce683bc

Contents?: true

Size: 1.41 KB

Versions: 7

Compression:

Stored size: 1.41 KB

Contents

# frozen_string_literal: true

module Karafka
  module Web
    module Processing
      module Consumers
        # Consumer tracking related contracts
        module Contracts
          # Contract used to validate the stats that are both present in state and metrics
          class AggregatedStats < Web::Contracts::Base
            configure

            required(:batches) { |val| val.is_a?(Integer) && val >= 0 }
            required(:messages) { |val| val.is_a?(Integer) && val >= 0 }
            required(:retries) { |val| val.is_a?(Integer) && val >= 0 }
            required(:dead) { |val| val.is_a?(Integer) && val >= 0 }
            required(:errors) { |val| val.is_a?(Integer) && val >= 0 }
            required(:busy) { |val| val.is_a?(Integer) && val >= 0 }
            required(:enqueued) { |val| val.is_a?(Integer) && val >= 0 }
            required(:workers) { |val| val.is_a?(Integer) && val >= 0 }
            required(:processes) { |val| val.is_a?(Integer) && val >= 0 }
            required(:rss) { |val| val.is_a?(Numeric) && val >= 0 }
            required(:utilization) { |val| val.is_a?(Numeric) && val >= 0 }
            required(:lag_hybrid) { |val| val.is_a?(Integer) }

            nested(:listeners) do
              required(:active) { |val| val.is_a?(Integer) && val >= 0 }
              required(:standby) { |val| val.is_a?(Integer) && val >= 0 }
            end
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
karafka-web-0.9.1 lib/karafka/web/processing/consumers/contracts/aggregated_stats.rb
karafka-web-0.9.0 lib/karafka/web/processing/consumers/contracts/aggregated_stats.rb
karafka-web-0.9.0.rc3 lib/karafka/web/processing/consumers/contracts/aggregated_stats.rb
karafka-web-0.9.0.rc2 lib/karafka/web/processing/consumers/contracts/aggregated_stats.rb
karafka-web-0.9.0.rc1 lib/karafka/web/processing/consumers/contracts/aggregated_stats.rb
karafka-web-0.8.2 lib/karafka/web/processing/consumers/contracts/aggregated_stats.rb
karafka-web-0.8.1 lib/karafka/web/processing/consumers/contracts/aggregated_stats.rb