Class: Txnap::Notifier
- Inherits:
-
Object
- Object
- Txnap::Notifier
- Defined in:
- lib/txnap/notifier.rb
Constant Summary collapse
- EVENT_NAME =
"idle_gap.txnap"
Instance Method Summary collapse
- #call(report) ⇒ Object
-
#initialize(configuration:, logger:) ⇒ Notifier
constructor
A new instance of Notifier.
Constructor Details
#initialize(configuration:, logger:) ⇒ Notifier
Returns a new instance of Notifier.
7 8 9 10 |
# File 'lib/txnap/notifier.rb', line 7 def initialize(configuration:, logger:) @configuration = configuration @logger = logger end |
Instance Method Details
#call(report) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/txnap/notifier.rb', line 12 def call(report) return false unless report return false unless report.longest_gap.duration >= configuration.gap_threshold return false unless report.transaction_duration >= configuration.min_transaction_duration return false if configuration.only_with_locks && report.locks.empty? return false if ExecutionState.suppressed? return false if ignored?(report) ActiveSupport::Notifications.instrument(EVENT_NAME, report.to_h) = Formatter.new.call(report) raise IdleGapDetected, (, report) if configuration.mode == :raise logger.warn() true end |