Sha256: 72090706511417245b971abffd006c203e2b0419d784658078cf416a00dc8717

Contents?: true

Size: 1.95 KB

Versions: 36

Compression:

Stored size: 1.95 KB

Contents

# Copyright (c) 2016 SolarWinds, LLC.
# All rights reserved.

if defined?(ActionView::Base) && AppOpticsAPM::Config[:action_view][:enabled]

  if Rails::VERSION::MAJOR == 3 && Rails::VERSION::MINOR == 0

    ActionView::Partials::PartialRenderer.class_eval do
      alias :render_partial_without_appoptics :render_partial
      def render_partial(object = @object)
        entry_kvs = {}
        begin
          name  = AppOpticsAPM::Util.prettify(@options[:partial]) if @options.is_a?(Hash)
          entry_kvs[:FunctionName] = :render_partial
          entry_kvs[:Class]        = :PartialRenderer
          entry_kvs[:Module]       = 'ActionView::Partials'
          entry_kvs[:File]         = __FILE__
          entry_kvs[:LineNumber]   = __LINE__
        rescue => e
          AppOpticsAPM.logger.debug "[appoptics_apm/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" if AppOpticsAPM::Config[:verbose]
        end

        AppOpticsAPM::API.profile(name, entry_kvs, AppOpticsAPM::Config[:action_view][:collect_backtraces]) do
          render_partial_without_appoptics(object)
        end
      end

      alias :render_collection_without_appoptics :render_collection
      def render_collection
        entry_kvs = {}
        begin
          name  = AppOpticsAPM::Util.prettify(@path)
          entry_kvs[:FunctionName] = :render_collection
          entry_kvs[:Class]        = :PartialRenderer
          entry_kvs[:Module]       = 'ActionView::Partials'
          entry_kvs[:File]         = __FILE__
          entry_kvs[:LineNumber]   = __LINE__
        rescue => e
          AppOpticsAPM.logger.debug "[appoptics_apm/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}" if AppOpticsAPM::Config[:verbose]
        end

        AppOpticsAPM::API.profile(name, entry_kvs, AppOpticsAPM::Config[:action_view][:collect_backtraces]) do
          render_collection_without_appoptics
        end
      end
    end
  end
end

# vim:set expandtab:tabstop=2

Version data entries

36 entries across 36 versions & 2 rubygems

Version Path
appoptics_apm-4.9.0 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.8.4 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.8.3 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.8.2 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.8.1 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.8.0 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.7.0 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.6.0 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm_mnfst-4.5.2 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.5.2 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.5.1 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.5.0 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.4.1 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.4.0 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.3.1 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.3.0 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.2.7 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.2.6 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.2.5 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
appoptics_apm-4.2.4 lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb