Module: Noiseless::Instrumentation
- Included in:
- Adapter
- Defined in:
- lib/noiseless/instrumentation.rb
Overview
Instrumentation via ActiveSupport
Instance Method Summary collapse
Instance Method Details
#instrument(event, payload = {}) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/noiseless/instrumentation.rb', line 6 def instrument(event, payload = {}) start_time = Time.current payload = payload.merge( adapter: self.class.name, connection: connection_info, start_time: start_time ) result = ActiveSupport::Notifications.instrument("noiseless.#{event}", payload) do yield if block_given? end # Update runtime tracking for Rails add_to_runtime(Time.current - start_time) if defined?(Rails) && Rails.respond_to?(:application) && Rails.application result end |