Sha256: 53cf5c1655aa469e7da9186e10406a92f9eef46d2e703d136f0fc06b3264cc69

Contents?: true

Size: 796 Bytes

Versions: 5

Compression:

Stored size: 796 Bytes

Contents

module Librato
  module Rails
    module Subscribers

      # Controllers

      ActiveSupport::Notifications.subscribe 'process_action.action_controller' do |*args|

        event = ActiveSupport::Notifications::Event.new(*args)
        exception = event.payload[:exception]

        collector.group "rails.request" do |r|

          r.increment 'total'
          r.timing    'time', event.duration, percentile: 95

          if exception
            r.increment 'exceptions'
          else
            r.timing 'time.db', event.payload[:db_runtime] || 0, percentile: 95
            r.timing 'time.view', event.payload[:view_runtime] || 0, percentile: 95
          end

          r.increment 'slow' if event.duration > 200.0
        end # end group

      end # end subscribe

    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
librato-rails-1.4.2 lib/librato/rails/subscribers/controller.rb
librato-rails-1.4.1 lib/librato/rails/subscribers/controller.rb
librato-rails-1.4.0 lib/librato/rails/subscribers/controller.rb
librato-rails-1.4.0.beta lib/librato/rails/subscribers/controller.rb
librato-rails-1.3.0 lib/librato/rails/subscribers/controller.rb