Sha256: e7075c4342c8c3c75955705b790a46448aa144b999f3aa77c84c7b90eb0f3d1d
Contents?: true
Size: 1.27 KB
Versions: 32
Compression:
Stored size: 1.27 KB
Contents
# frozen_string_literal: true module Karafka module Web module Tracking module Consumers module Listeners # Tracks pausing and un-pausing of topics partitions for both user requested and # automatic events. class Pausing < Base # Indicate pause # # @param event [Karafka::Core::Monitoring::Event] def on_client_pause(event) track do |sampler| sampler.pauses << pause_id(event) end end # Indicate pause ended # # @param event [Karafka::Core::Monitoring::Event] def on_client_resume(event) track do |sampler| sampler.pauses.delete pause_id(event) end end private # @param event [Karafka::Core::Monitoring::Event] # @return [String] pause id built from consumer group and topic details def pause_id(event) topic = event[:topic] partition = event[:partition] consumer_group_id = event[:subscription_group].consumer_group.id [consumer_group_id, topic, partition].join('-') end end end end end end end
Version data entries
32 entries across 32 versions & 1 rubygems