Digging Deep with ActiveSupport::Notifications by Matt Sanders should not be missed.
ActiveSupport::Notifications is a powerful, under-utilized library which makes it easy to instrument and monitor your code. Rails exposes a tons of performance information which is easy to access and you can create your own events with a single line of code. This talk explores the basics of ActiveSupport::Notifications and gets into powerful techniques you can use to super-charge your monitoring and instrumentation.
This presentation covers the incredibly powerful instrumentation API within ActiveSupport.
ActiveSupport::Notifications.subscribe 'foo' do |*args| event = ActiveSupport::Notifications::Event.new(*args) event.name event.time event.end event.duration event.transaction_id event.payload # log or process payload... end
I really liked how the API provides an Event class that makes handling all the parameters extremely easy. Don't miss out on
ActiveSupport::LogSubscriber which will come in handy as well since ActionView, ActionController, and ActiveRecord all have one that inherits from
I've also contributed to Rails RDocs on this topic.