Class: DeliveryBoy::Datadog::ProducerSubscriber
- Inherits:
-
StatsdSubscriber
- Object
- ActiveSupport::Subscriber
- StatsdSubscriber
- DeliveryBoy::Datadog::ProducerSubscriber
- Defined in:
- lib/delivery_boy/datadog.rb
Instance Method Summary collapse
- #ack_message(event) ⇒ Object
- #deliver(event) ⇒ Object
- #deliver_async(event) ⇒ Object
- #deliver_messages(event) ⇒ Object
- #delivery_error(event) ⇒ Object
- #produce_message(event) ⇒ Object
Instance Method Details
#ack_message(event) ⇒ Object
175 176 177 178 179 180 181 182 |
# File 'lib/delivery_boy/datadog.rb', line 175 def (event) = { client: event.payload.fetch(:client_id), topic: event.payload.fetch(:topic) } increment("producer.ack.messages", tags: ) end |
#deliver(event) ⇒ Object
139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 |
# File 'lib/delivery_boy/datadog.rb', line 139 def deliver(event) client = event.payload.fetch(:client_id) topic = event.payload.fetch(:topic) = event.payload.fetch(:message_size) = {client: client, topic: topic} if event.payload.key?(:exception) increment("producer.deliver.errors", tags: ) else increment("producer.produce.messages", tags: ) histogram("producer.produce.message_size", , tags: ) count("producer.produce.message_size.sum", , tags: ) timing("producer.deliver.latency", event.duration, tags: ) count("producer.deliver.messages", 1, tags: ) end end |
#deliver_async(event) ⇒ Object
157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 |
# File 'lib/delivery_boy/datadog.rb', line 157 def deliver_async(event) client = event.payload.fetch(:client_id) topic = event.payload.fetch(:topic) = event.payload.fetch(:message_size) queue_size = event.payload.fetch(:queue_size, 0) = {client: client, topic: topic} if event.payload.key?(:exception) increment("async_producer.produce.errors", tags: ) else increment("producer.produce.messages", tags: ) histogram("producer.produce.message_size", , tags: ) count("producer.produce.message_size.sum", , tags: ) histogram("async_producer.queue.size", queue_size, tags: ) end end |
#deliver_messages(event) ⇒ Object
128 129 130 131 132 133 134 135 136 137 |
# File 'lib/delivery_boy/datadog.rb', line 128 def (event) client = event.payload.fetch(:client_id) = event.payload.fetch(:delivered_message_count) = {client: client} increment("producer.deliver.errors", tags: ) if event.payload.key?(:exception) timing("producer.deliver.latency", event.duration, tags: ) count("producer.deliver.messages", , tags: ) end |
#delivery_error(event) ⇒ Object
184 185 186 187 |
# File 'lib/delivery_boy/datadog.rb', line 184 def delivery_error(event) = {client: event.payload.fetch(:client_id)} increment("producer.ack.errors", tags: ) end |
#produce_message(event) ⇒ Object
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
# File 'lib/delivery_boy/datadog.rb', line 110 def (event) client = event.payload.fetch(:client_id) topic = event.payload.fetch(:topic) = event.payload.fetch(:message_size) buffer_size = event.payload.fetch(:buffer_size) = {client: client, topic: topic} if event.payload.key?(:exception) increment("producer.produce.errors", tags: ) else increment("producer.produce.messages", tags: ) histogram("producer.produce.message_size", , tags: ) count("producer.produce.message_size.sum", , tags: ) histogram("producer.buffer.size", buffer_size, tags: ) end end |