Skip to content

Commit 8ad3866

Browse files
committed
Instrument create_time from last message in batch
1 parent 90fb527 commit 8ad3866

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

lib/kafka/consumer.rb

+1
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,7 @@ def each_batch(min_bytes: 1, max_bytes: 10485760, max_wait_time: 1, automaticall
308308
topic: batch.topic,
309309
partition: batch.partition,
310310
last_offset: batch.last_offset,
311+
last_create_time: batch.messages.last.try(:create_time),
311312
offset_lag: batch.offset_lag,
312313
highwater_mark_offset: batch.highwater_mark_offset,
313314
message_count: batch.messages.count,

lib/kafka/datadog.rb

+6
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,8 @@ def process_message(event)
168168
def process_batch(event)
169169
offset = event.payload.fetch(:last_offset)
170170
messages = event.payload.fetch(:message_count)
171+
create_time = event.payload.fetch(:last_create_time)
172+
time_lag = create_time && ((Time.now - create_time) * 1000).to_i
171173

172174
tags = {
173175
client: event.payload.fetch(:client_id),
@@ -184,6 +186,10 @@ def process_batch(event)
184186
end
185187

186188
gauge("consumer.offset", offset, tags: tags)
189+
190+
if time_lag
191+
gauge("consumer.time_lag", time_lag, tags: tags)
192+
end
187193
end
188194

189195
def fetch_batch(event)

spec/prometheus_spec.rb

+1
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
topic: 'AAA',
115115
partition: 4,
116116
last_offset: 100,
117+
last_create_time: Time.now,
117118
message_count: 7
118119
}
119120
end

0 commit comments

Comments
 (0)