class Promenade::Kafka::AsyncProducerSubscriber

Public Instance Methods

buffer_overflow(event) click to toggle source
# File lib/promenade/kafka/async_producer_subscriber.rb, line 39
def buffer_overflow(event)
  Promenade.metric(:kafka_async_producer_buffer_overflows).increment(get_labels(event))
end
drop_messages(event) click to toggle source
# File lib/promenade/kafka/async_producer_subscriber.rb, line 43
def drop_messages(event)
  client = event.payload.fetch(:client_id)
  message_count = event.payload.fetch(:message_count)

  Promenade.metric(:kafka_async_producer_dropped_messages).increment({ client: client }, message_count)
end
enqueue_message(event) click to toggle source
# File lib/promenade/kafka/async_producer_subscriber.rb, line 28
def enqueue_message(event)
  labels = get_labels(event)
  queue_size = event.payload.fetch(:queue_size)
  max_queue_size = event.payload.fetch(:max_queue_size)
  queue_fill_ratio = queue_size.to_f / max_queue_size

  Promenade.metric(:kafka_async_producer_queue_size).set(labels, queue_size)
  Promenade.metric(:kafka_async_producer_max_queue_size).set(labels, max_queue_size)
  Promenade.metric(:kafka_async_producer_queue_fill_ratio).set(labels, queue_fill_ratio)
end