Class: PGMQ::Metrics

Inherits:
Object
  • Object
show all
Defined in:
lib/pgmq/metrics.rb

Overview

Represents metrics for a PGMQ queue

Examples:

Getting queue metrics

metrics = client.metrics("my_queue")
puts metrics.queue_length        # => 42
puts metrics.oldest_msg_age_sec  # => 3600

Class Method Summary collapse

Class Method Details

.new(row) ⇒ Metrics

Creates a new Metrics object from a database row

Parameters:

  • row (Hash)

    database row from PG result

Returns:



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/pgmq/metrics.rb', line 24

def new(row, **)
  # Return raw values as-is from PostgreSQL
  super(
    queue_name: row["queue_name"],
    queue_length: row["queue_length"],
    newest_msg_age_sec: row["newest_msg_age_sec"],
    oldest_msg_age_sec: row["oldest_msg_age_sec"],
    total_messages: row["total_messages"],
    scrape_time: row["scrape_time"]
  )
end