Module: Perfm::QueueLatency
- Defined in:
- lib/perfm/queue_latency.rb
Constant Summary collapse
- QUEUE_PATTERN =
/\Awithin_(\d+)_(second|seconds|minute|minutes|hour|hours)\z/i
Class Method Summary collapse
Class Method Details
.parse_latency(queue_name) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/perfm/queue_latency.rb', line 5 def self.parse_latency(queue_name) return unless valid_queue_name?(queue_name) match_data = queue_name.match(QUEUE_PATTERN) value = match_data[1].to_i unit = match_data[2].downcase.sub(/s\z/, '') case unit when 'second' then value when 'minute' then value * 60 when 'hour' then value * 3600 end end |
.valid_queue_name?(queue_name) ⇒ Boolean
19 20 21 |
# File 'lib/perfm/queue_latency.rb', line 19 def self.valid_queue_name?(queue_name) queue_name&.match?(QUEUE_PATTERN) end |