Sha256: 45b4e3e12fbfe798f924f7251dc4d72e47911edea64508bbb6f59d25412112f8

Contents?: true

Size: 1.82 KB

Versions: 46

Compression:

Stored size: 1.82 KB

Contents

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

module TraceView
  module Inst
    module ConnectionAdapters
      module FlavorInitializers
        def self.mysql
          TraceView.logger.info '[traceview/loading] Instrumenting activerecord mysqladapter' if TraceView::Config[:verbose]

          # ActiveRecord 3.2 and higher
          if (::ActiveRecord::VERSION::MAJOR == 3 && ::ActiveRecord::VERSION::MINOR >= 2) ||
              ::ActiveRecord::VERSION::MAJOR == 4

            # AbstractMysqlAdapter
            TraceView::Util.send_include(::ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter,
                                    ::TraceView::Inst::ConnectionAdapters::Utils)
            TraceView::Util.method_alias(::ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter, :execute)

            # MysqlAdapter
            TraceView::Util.send_include(::ActiveRecord::ConnectionAdapters::MysqlAdapter,
                                    ::TraceView::Inst::ConnectionAdapters::Utils)
            TraceView::Util.method_alias(::ActiveRecord::ConnectionAdapters::MysqlAdapter, :exec_query)

          else
            # ActiveRecord 3.1 and below

            # MysqlAdapter
            TraceView::Util.send_include(::ActiveRecord::ConnectionAdapters::MysqlAdapter,
                                    ::TraceView::Inst::ConnectionAdapters::Utils)

            TraceView::Util.method_alias(::ActiveRecord::ConnectionAdapters::MysqlAdapter, :execute)

            if ::ActiveRecord::VERSION::MAJOR == 3 && ::ActiveRecord::VERSION::MINOR == 1
              TraceView::Util.method_alias(::ActiveRecord::ConnectionAdapters::MysqlAdapter, :begin_db_transaction)
              TraceView::Util.method_alias(::ActiveRecord::ConnectionAdapters::MysqlAdapter, :exec_delete)
            end
          end
        end
      end
    end
  end
end

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
traceview-3.8.3-java lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.8.3 lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.8.2-java lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.8.2 lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.8.1-java lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.8.1 lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.8.0-java lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.8.0 lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.7.1-java lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.7.1 lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.7.0-java lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.7.0 lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.6.0-java lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.6.0 lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.5.1-java lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.5.1 lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.5.0-java lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.5.0 lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.4.2-java lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb
traceview-3.4.2 lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb