diff --git a/lib/pg-locks-monitor.rb b/lib/pg-locks-monitor.rb index 8f74b7b..00bcf50 100644 --- a/lib/pg-locks-monitor.rb +++ b/lib/pg-locks-monitor.rb @@ -13,7 +13,11 @@ def self.snapshot! if (age = lock.fetch("age")) (ActiveSupport::Duration.parse(age).to_f * 1000) > configuration.locks_min_duration_ms end - end.select(&configuration.locks_filter_proc) + end.select do |lock| + # meta locks with duplicate data + lock.fetch("locktype") != "virtualxid" + end + .select(&configuration.locks_filter_proc) .first(configuration.locks_limit) if locks.count > 0 && configuration.monitor_locks @@ -22,7 +26,7 @@ def self.snapshot! blocking = RailsPgExtras.blocking(in_format: :hash).select do |block| if (age = block.fetch("blocking_duration")) - (ActiveSupport::Duration.parse(age).to_f * 1000) > configuration.locks_min_duration_ms + (ActiveSupport::Duration.parse(age).to_f * 1000) > configuration.blocking_min_duration_ms end end.select(&configuration.blocking_filter_proc) .first(configuration.locks_limit) diff --git a/lib/pg_locks_monitor/version.rb b/lib/pg_locks_monitor/version.rb index 3df1c22..f3ee21c 100644 --- a/lib/pg_locks_monitor/version.rb +++ b/lib/pg_locks_monitor/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module PgLocksMonitor - VERSION = "0.3.1" + VERSION = "0.3.2" end