module TraceView::Rails

Public Class Methods

include_helpers() click to toggle source
# File lib/traceview/frameworks/rails.rb, line 77
def self.include_helpers
  # TBD: This would make the helpers available to controllers which is occasionally desired.
  # ActiveSupport.on_load(:action_controller) do
  #   include TraceView::Rails::Helpers
  # end
  if ::Rails::VERSION::MAJOR > 2
    ActiveSupport.on_load(:action_view) do
      include TraceView::Rails::Helpers
    end
  else
    ActionView::Base.send :include, TraceView::Rails::Helpers
  end
end
load_initializer() click to toggle source
# File lib/traceview/frameworks/rails.rb, line 42
def self.load_initializer
  # Force load the TraceView Rails initializer if there is one
  # Prefer traceview.rb but give priority to the legacy tracelytics.rb if it exists
  if ::Rails::VERSION::MAJOR > 2
    rails_root = ::Rails.root.to_s
  else
    rails_root = RAILS_ROOT.to_s
  end

  #
  # We've been through 3 initializer names.  Try each one.
  #
  if File.exist?("#{rails_root}/config/initializers/tracelytics.rb")
    tr_initializer = "#{rails_root}/config/initializers/tracelytics.rb"

  elsif File.exist?("#{rails_root}/config/initializers/oboe.rb")
    tr_initializer = "#{rails_root}/config/initializers/oboe.rb"

  else
    tr_initializer = "#{rails_root}/config/initializers/traceview.rb"
  end
  require tr_initializer if File.exist?(tr_initializer)
end
load_instrumentation() click to toggle source
# File lib/traceview/frameworks/rails.rb, line 66
def self.load_instrumentation
  # Load the Rails specific instrumentation
  require 'traceview/frameworks/rails/inst/action_controller'
  require 'traceview/frameworks/rails/inst/action_view'
  require 'traceview/frameworks/rails/inst/action_view_2x'
  require 'traceview/frameworks/rails/inst/action_view_30'
  require 'traceview/frameworks/rails/inst/active_record'

  TraceView.logger.info "TraceView gem #{TraceView::Version::STRING} successfully loaded."
end