class Kafka::Datadog::AsyncProducerSubscriber
Public Instance Methods
buffer_overflow(event)
click to toggle source
# File lib/kafka/datadog.rb, line 383 def buffer_overflow(event) tags = { client: event.payload.fetch(:client_id), topic: event.payload.fetch(:topic), } increment("async_producer.produce.errors", tags: tags) end
drop_messages(event)
click to toggle source
# File lib/kafka/datadog.rb, line 392 def drop_messages(event) tags = { client: event.payload.fetch(:client_id), } message_count = event.payload.fetch(:message_count) count("async_producer.dropped_messages", message_count, tags: tags) end
enqueue_message(event)
click to toggle source
# File lib/kafka/datadog.rb, line 364 def enqueue_message(event) client = event.payload.fetch(:client_id) topic = event.payload.fetch(:topic) 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.to_f tags = { client: client, topic: topic, } # This gets us the avg/max queue size per producer. histogram("async_producer.queue.size", queue_size, tags: tags) # This gets us the avg/max queue fill ratio per producer. histogram("async_producer.queue.fill_ratio", queue_fill_ratio, tags: tags) end