Sha256: a22a354f6577a55fec93c631b63240213ec2f9d46bb7290df2e099042af35e5f

Contents?: true

Size: 946 Bytes

Versions: 2

Compression:

Stored size: 946 Bytes

Contents

module Librato
  module Rails
    module Subscribers

      # Render operations

      %w{partial template}.each do |metric|

        ActiveSupport::Notifications.subscribe "render_#{metric}.action_view" do |*args|

          event = ActiveSupport::Notifications::Event.new(*args)
          path = event.payload[:identifier].split('/views/', 2)
          metric = metric.to_sym

          if path[1]
            identifier = path[1].gsub('/', ':')
            # trim leading underscore for partials
            identifier.gsub!(':_', ':') if metric == :partial
            tags = { metric => identifier }
            collector.group "rails.view.render" do |c|
              c.increment metric, tags: tags, inherit_tags: true, sporadic: true
              c.timing "#{metric}.time", event.duration, tags: tags, inherit_tags: true, sporadic: true
            end # end group
          end

        end # end subscribe

      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
librato-rails-2.1.0 lib/librato/rails/subscribers/render.rb
librato-rails-2.0.0 lib/librato/rails/subscribers/render.rb