Sha256: 3f30c4b0c588da9b156047ff0761e67148cbec5003371610c2ebb5708c92dd7a

Contents?: true

Size: 971 Bytes

Versions: 2

Compression:

Stored size: 971 Bytes

Contents

# Copyright (c) 2016 AppNeta, Inc.
# All rights reserved.

module TraceView
  module Inst
    #
    # ActionController
    #
    # This modules contains the instrumentation code specific
    # to Rails v5
    #
    module ActionControllerAPI
      include ::TraceView::Inst::RailsBase

      def self.included(base)
        base.class_eval do
          alias_method_chain :process_action, :traceview
          alias_method_chain :render, :traceview
        end
      end

      def process_action_with_traceview(method_name, *args)
        report_kvs = {
          :Controller   => self.class.name,
          :Action       => self.action_name,
        }

        TraceView::API.log_entry('rails-api', report_kvs)
        process_action_without_traceview(method_name, *args)

      rescue Exception => e
        TraceView::API.log_exception(nil, e) if log_rails_error?(e)
        raise
      ensure
        TraceView::API.log_exit('rails-api')
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
traceview-3.8.0-java lib/traceview/frameworks/rails/inst/action_controller5_api.rb
traceview-3.8.0 lib/traceview/frameworks/rails/inst/action_controller5_api.rb