appoptics_apm 4.4.0 → 4.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -0
  3. data/examples/carrying_context.rb +1 -1
  4. data/lib/appoptics_apm/api/logging.rb +1 -1
  5. data/lib/appoptics_apm/api/profiling.rb +2 -2
  6. data/lib/appoptics_apm/api/tracing.rb +0 -1
  7. data/lib/appoptics_apm/base.rb +1 -1
  8. data/lib/appoptics_apm/config.rb +2 -2
  9. data/lib/appoptics_apm/frameworks/grape.rb +13 -12
  10. data/lib/appoptics_apm/frameworks/padrino.rb +67 -14
  11. data/lib/appoptics_apm/frameworks/rails/inst/action_controller.rb +3 -3
  12. data/lib/appoptics_apm/frameworks/rails/inst/action_controller3.rb +4 -7
  13. data/lib/appoptics_apm/frameworks/rails/inst/action_controller4.rb +1 -1
  14. data/lib/appoptics_apm/frameworks/rails/inst/action_controller5.rb +1 -1
  15. data/lib/appoptics_apm/frameworks/rails/inst/action_controller_api.rb +2 -2
  16. data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/mysql.rb +14 -14
  17. data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/mysql2.rb +9 -9
  18. data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/postgresql.rb +8 -8
  19. data/lib/appoptics_apm/frameworks/sinatra.rb +62 -11
  20. data/lib/appoptics_apm/inst/bunny-client.rb +12 -10
  21. data/lib/appoptics_apm/inst/bunny-consumer.rb +54 -56
  22. data/lib/appoptics_apm/inst/curb.rb +11 -11
  23. data/lib/appoptics_apm/inst/dalli.rb +3 -4
  24. data/lib/appoptics_apm/inst/delayed_job.rb +7 -7
  25. data/lib/appoptics_apm/inst/em-http-request.rb +6 -9
  26. data/lib/appoptics_apm/inst/excon.rb +10 -9
  27. data/lib/appoptics_apm/inst/faraday.rb +6 -8
  28. data/lib/appoptics_apm/inst/grpc_client.rb +8 -9
  29. data/lib/appoptics_apm/inst/httpclient.rb +10 -10
  30. data/lib/appoptics_apm/inst/memcached.rb +9 -13
  31. data/lib/appoptics_apm/inst/mongo.rb +14 -10
  32. data/lib/appoptics_apm/inst/mongo2.rb +5 -5
  33. data/lib/appoptics_apm/inst/moped.rb +10 -10
  34. data/lib/appoptics_apm/inst/rack.rb +11 -14
  35. data/lib/appoptics_apm/inst/redis.rb +10 -10
  36. data/lib/appoptics_apm/inst/resque.rb +9 -9
  37. data/lib/appoptics_apm/inst/rest-client.rb +4 -6
  38. data/lib/appoptics_apm/inst/sequel.rb +10 -10
  39. data/lib/appoptics_apm/inst/sidekiq-client.rb +5 -5
  40. data/lib/appoptics_apm/inst/sidekiq-worker.rb +5 -5
  41. data/lib/appoptics_apm/inst/twitter-cassandra.rb +3 -3
  42. data/lib/appoptics_apm/inst/typhoeus.rb +8 -9
  43. data/lib/appoptics_apm/legacy_method_profiling.rb +1 -1
  44. data/lib/appoptics_apm/ruby.rb +1 -1
  45. data/lib/appoptics_apm/sdk/custom_metrics.rb +1 -1
  46. data/lib/appoptics_apm/sdk/tracing.rb +3 -0
  47. data/lib/appoptics_apm/support.rb +2 -2
  48. data/lib/appoptics_apm/thread_local.rb +1 -1
  49. data/lib/appoptics_apm/util.rb +4 -4
  50. data/lib/appoptics_apm/version.rb +1 -1
  51. data/lib/oboe/backward_compatibility.rb +3 -3
  52. data/lib/rails/generators/appoptics_apm/templates/appoptics_apm_initializer.rb +11 -4
  53. metadata +2 -4
  54. data/lib/appoptics_apm/frameworks/padrino/templates.rb +0 -58
  55. data/lib/appoptics_apm/frameworks/sinatra/templates.rb +0 -56
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f55957c02fb447084c8430a6dff438ce8ff3725f1eaf755e1c0f9092f94360b0
4
- data.tar.gz: 02a24b754db042ec253cefb0160217bb9d136a2ad360916630bc4413007b3786
3
+ metadata.gz: 2c47f21237c21b5074eae5806315b7abc78380b75a964385c611157d561ef9e9
4
+ data.tar.gz: cca745771a727e6e85fb2e5accfa380f20bd2932f2ecf0bf23fdf84d8fdbd923
5
5
  SHA512:
6
- metadata.gz: ed5020f576a5ebc447bdfad639140373670cdc30ff50e5c8b379bdd3c1fab74b764eea21ef3f0e3a5670152f64daa07db6b08bf291bb0468ece448fc4f7f1399
7
- data.tar.gz: f0d5f73b872b8d869b3308aff1180447f2a46f48039afa84f0ce8a43a2e06bdcaeb13fbca95453c9cc80988f93a85c1c534882b963e528ed0904195b6d75edb0
6
+ metadata.gz: 97639be2a19811b48f8de96867b86d912727834108d3770ab10bb447e8be07de02a8e4b9db985a1227735980fb3831dd4338ccaa253c069feb3e250600c8a7ec
7
+ data.tar.gz: 6d7c6a513f80161d3848c9a857de69504d42deffe64d125390d8b98ffdbf017f8101e9afa326ee78fbbd04b6b1a1b713b52aded8cbd7c1b9331d57ca6ce80d96
@@ -30,6 +30,9 @@ gemfile:
30
30
 
31
31
  matrix:
32
32
  exclude:
33
+ - rvm: ruby-head
34
+ gemfile: gemfiles/rails42.gemfile
35
+
33
36
  - rvm: 2.5.3
34
37
  env: DBTYPE=mysql
35
38
  - rvm: 2.4.5
@@ -19,7 +19,7 @@
19
19
  #
20
20
  # For example, when a web request comes into a stack, a tracing
21
21
  # context is established using `AppOpticsAPM::API.log_start` as the request
22
- # enters through the rack middleware via `::AppOpticsAPM::Rack`.
22
+ # enters through the rack middleware via `AppOpticsAPM::Rack`.
23
23
  #
24
24
  # That tracing context is then continued using `AppOpticsAPM::API.trace` or
25
25
  # `AppOpticsAPM::API.log_entry` for each subsequent layer such as Rails,
@@ -102,7 +102,7 @@ module AppOpticsAPM
102
102
  #
103
103
  # Returns an xtrace metadata string if we are tracing
104
104
  def log_start(layer, xtrace = nil, opts = {})
105
- return if !AppOpticsAPM.loaded || (opts.key?(:URL) && ::AppOpticsAPM::Util.static_asset?(opts[:URL]))
105
+ return if !AppOpticsAPM.loaded || (opts.key?(:URL) && AppOpticsAPM::Util.static_asset?(opts[:URL]))
106
106
 
107
107
  #--
108
108
  # Is the below necessary? Only on JRuby? Could there be an existing context but not x-trace header?
@@ -124,10 +124,10 @@ module AppOpticsAPM
124
124
 
125
125
  source_location = []
126
126
  if instance_method
127
- ::AppOpticsAPM::Util.send_include(klass, ::AppOpticsAPM::MethodProfiling)
127
+ AppOpticsAPM::Util.send_include(klass, AppOpticsAPM::MethodProfiling)
128
128
  source_location = klass.instance_method(method).source_location
129
129
  elsif class_method
130
- ::AppOpticsAPM::Util.send_extend(klass, ::AppOpticsAPM::MethodProfiling)
130
+ AppOpticsAPM::Util.send_extend(klass, AppOpticsAPM::MethodProfiling)
131
131
  source_location = klass.method(method).source_location
132
132
  end
133
133
 
@@ -48,7 +48,6 @@ module AppOpticsAPM
48
48
  [start_trace_with_target(span, xtrace, target, opts) { yield }, target['X-Trace']]
49
49
  end
50
50
 
51
-
52
51
  end
53
52
  end
54
53
  end
@@ -33,7 +33,7 @@ TRACE_FILE = '/tmp/appoptics_traces.bson'.freeze
33
33
  # Current variations as of 2014-09-10 are a c-extension, JRuby (using AppOpticsAPM Java
34
34
  # instrumentation) and a Heroku c-extension (with embedded tracelyzer)
35
35
  module AppOpticsAPMBase
36
- extend ::AppOpticsAPM::ThreadLocal
36
+ extend AppOpticsAPM::ThreadLocal
37
37
 
38
38
  attr_accessor :reporter
39
39
  attr_accessor :loaded
@@ -15,9 +15,9 @@ module AppOpticsAPM
15
15
  :active_record, :bunnyclient, :bunnyconsumer, :cassandra, :curb,
16
16
  :dalli, :delayed_jobclient, :delayed_jobworker,
17
17
  :em_http_request, :excon, :faraday, :grpc_client, :grape,
18
- :httpclient, :nethttp, :memcached, :mongo, :moped, :rack, :redis,
18
+ :httpclient, :memcached, :mongo, :moped, :nethttp, :padrino, :rack, :redis,
19
19
  :resqueclient, :resqueworker, :rest_client,
20
- :sequel, :sidekiqclient, :sidekiqworker, :typhoeus]
20
+ :sequel, :sidekiqclient, :sidekiqworker, :sinatra, :typhoeus]
21
21
 
22
22
  # Subgrouping of instrumentation
23
23
  @@http_clients = [:curb, :excon, :em_http_request, :faraday, :httpclient, :nethttp, :rest_client, :typhoeus]
@@ -7,19 +7,19 @@ module AppOpticsAPM
7
7
  module Grape
8
8
  module API
9
9
  def self.extended(klass)
10
- ::AppOpticsAPM::Util.class_method_alias(klass, :inherited, ::Grape::API)
10
+ AppOpticsAPM::Util.class_method_alias(klass, :inherited, ::Grape::API)
11
11
  end
12
12
 
13
13
  def inherited_with_appoptics(subclass)
14
14
  inherited_without_appoptics(subclass)
15
15
 
16
- subclass.use ::AppOpticsAPM::Rack
16
+ subclass.use AppOpticsAPM::Rack
17
17
  end
18
18
  end
19
19
 
20
20
  module Endpoint
21
21
  def self.included(klass)
22
- ::AppOpticsAPM::Util.method_alias(klass, :run, ::Grape::Endpoint)
22
+ AppOpticsAPM::Util.method_alias(klass, :run, ::Grape::Endpoint)
23
23
  end
24
24
 
25
25
  def run_with_appoptics(*args)
@@ -33,22 +33,23 @@ module AppOpticsAPM
33
33
  else
34
34
  report_kvs[:Action] = args.empty? ? env['PATH_INFO'] : args[0]['PATH_INFO']
35
35
  end
36
+ report_kvs[:Backtrace] = AppOpticsAPM::API.backtrace if AppOpticsAPM::Config[:grape][:collect_backtraces]
36
37
 
37
38
  env['appoptics_apm.controller'] = report_kvs[:Controller]
38
39
  env['appoptics_apm.action'] = report_kvs[:Action]
39
40
 
40
- ::AppOpticsAPM::API.log_entry('grape', report_kvs)
41
+ AppOpticsAPM::API.log_entry('grape', report_kvs)
41
42
 
42
43
  run_without_appoptics(*args)
43
44
  ensure
44
- ::AppOpticsAPM::API.log_exit('grape')
45
+ AppOpticsAPM::API.log_exit('grape')
45
46
  end
46
47
  end
47
48
 
48
49
  module Middleware
49
50
  module Error
50
51
  def self.included(klass)
51
- ::AppOpticsAPM::Util.method_alias(klass, :error_response, ::Grape::Middleware::Error)
52
+ AppOpticsAPM::Util.method_alias(klass, :error_response, ::Grape::Middleware::Error)
52
53
  end
53
54
 
54
55
  def error_response_with_appoptics(error = {})
@@ -60,9 +61,9 @@ module AppOpticsAPM
60
61
 
61
62
  # Since Grape uses throw/catch and not Exceptions, we have to create an exception here
62
63
  exception = GrapeError.new(error[:message] ? error[:message] : "No message given.")
63
- exception.set_backtrace(::AppOpticsAPM::API.backtrace)
64
+ exception.set_backtrace(AppOpticsAPM::API.backtrace)
64
65
 
65
- ::AppOpticsAPM::API.log_exception('rack', exception )
66
+ AppOpticsAPM::API.log_exception('rack', exception)
66
67
 
67
68
  # Since calls to error() are handled similar to abort in Grape. We
68
69
  # manually log the rack exit here since the original code won't
@@ -83,14 +84,14 @@ module AppOpticsAPM
83
84
  end
84
85
  end
85
86
 
86
- if AppOpticsAPM::Config[:grape][:enabled] && defined?(::Grape)
87
+ if AppOpticsAPM::Config[:grape][:enabled] && defined?(Grape)
87
88
  require 'appoptics_apm/inst/rack'
88
89
 
89
90
  AppOpticsAPM.logger.info "[appoptics_apm/loading] Instrumenting Grape" if AppOpticsAPM::Config[:verbose]
90
91
 
91
92
  AppOpticsAPM::Inst.load_instrumentation
92
93
 
93
- ::AppOpticsAPM::Util.send_extend(::Grape::API, ::AppOpticsAPM::Grape::API)
94
- ::AppOpticsAPM::Util.send_include(::Grape::Endpoint, ::AppOpticsAPM::Grape::Endpoint)
95
- ::AppOpticsAPM::Util.send_include(::Grape::Middleware::Error, ::AppOpticsAPM::Grape::Middleware::Error)
94
+ AppOpticsAPM::Util.send_extend(Grape::API, AppOpticsAPM::Grape::API)
95
+ AppOpticsAPM::Util.send_include(Grape::Endpoint, AppOpticsAPM::Grape::Endpoint)
96
+ AppOpticsAPM::Util.send_include(Grape::Middleware::Error, AppOpticsAPM::Grape::Middleware::Error)
96
97
  end
@@ -5,17 +5,17 @@ module AppOpticsAPM
5
5
  module PadrinoInst
6
6
  module Routing
7
7
  def self.included(klass)
8
- ::AppOpticsAPM::Util.method_alias(klass, :dispatch!, ::Padrino::Routing)
8
+ AppOpticsAPM::Util.method_alias(klass, :dispatch!, ::Padrino::Routing)
9
9
  end
10
10
 
11
11
  def dispatch_with_appoptics
12
12
 
13
- ::AppOpticsAPM::API.log_entry('padrino', {})
13
+ AppOpticsAPM::API.log_entry('padrino', {})
14
+ report_kvs = {}
14
15
 
15
16
  result = dispatch_without_appoptics
16
17
 
17
18
  # Report Controller/Action and Transaction as best possible
18
- report_kvs = {}
19
19
  controller = (request.controller && !request.controller.empty?) ? request.controller : nil
20
20
  report_kvs[:Controller] = controller || self.class
21
21
  report_kvs[:Action] = request.route_obj ? request.route_obj.path : request.action
@@ -24,29 +24,82 @@ module AppOpticsAPM
24
24
 
25
25
  result
26
26
  rescue => e
27
- ::AppOpticsAPM::API.log_exception('padrino', e)
27
+ AppOpticsAPM::API.log_exception('padrino', e)
28
28
  raise e
29
29
  ensure
30
- ::AppOpticsAPM::API.log_exit('padrino', report_kvs)
30
+ report_kvs[:Backtrace] = AppOpticsAPM::API.backtrace if AppOpticsAPM::Config[:padrino][:collect_backtraces]
31
+ AppOpticsAPM::API.log_exit('padrino', report_kvs)
32
+ end
33
+ end
34
+
35
+ module Rendering
36
+ def self.included(klass)
37
+ AppOpticsAPM::Util.method_alias(klass, :render, ::Padrino::Rendering)
38
+ end
39
+
40
+ # TODO add test coverage, currently there are no tests for this
41
+ def render_with_appoptics(engine, data = nil, options = {}, locals = {}, &block)
42
+ if AppOpticsAPM.tracing?
43
+ report_kvs = {}
44
+
45
+ if data
46
+ report_kvs[:engine] = engine
47
+ report_kvs[:template] = data
48
+ else
49
+ report_kvs[:template] = engine
50
+ end
51
+
52
+ if AppOpticsAPM.tracing_layer_op?(:render)
53
+ # For recursive calls to :render (for sub-partials and layouts),
54
+ # use method profiling.
55
+ begin
56
+ report_kvs[:FunctionName] = :render
57
+ report_kvs[:Class] = :Rendering
58
+ report_kvs[:Module] = :Padrino
59
+ report_kvs[:File] = __FILE__
60
+ report_kvs[:LineNumber] = __LINE__
61
+ rescue StandardError => e
62
+ AppOpticsAPM.logger.debug "[appoptics_apm/padrino] #{e.message}"
63
+ AppOpticsAPM.logger.debug e.backtrace.join(', ')
64
+ end
65
+
66
+ AppOpticsAPM::API.profile(report_kvs[:template], report_kvs, false) do
67
+ render_without_appoptics(engine, data, options, locals, &block)
68
+ end
69
+ else
70
+ # Fall back to the raw tracing API so we can pass KVs
71
+ # back on exit (a limitation of the AppOpticsAPM::API.trace
72
+ # block method) This removes the need for an info
73
+ # event to send additonal KVs
74
+ AppOpticsAPM::API.log_entry(:render, {}, :render)
75
+
76
+ begin
77
+ render_without_appoptics(engine, data, options, locals, &block)
78
+ ensure
79
+ report_kvs[:Backtrace] = AppOpticsAPM::API.backtrace if AppOpticsAPM::Config[:padrino][:collect_backtraces]
80
+ AppOpticsAPM::API.log_exit(:render, report_kvs)
81
+ end
82
+ end
83
+ else
84
+ render_without_appoptics(engine, data, options, locals, &block)
85
+ end
31
86
  end
32
87
  end
33
88
  end
34
89
  end
35
90
 
36
- if defined?(::Padrino)
91
+ if defined?(Padrino) && AppopticsAPM::Config[:padrino][:enabled]
37
92
  # This instrumentation is a superset of the Sinatra instrumentation similar
38
93
  # to how Padrino is a superset of Sinatra itself.
39
- ::AppOpticsAPM.logger.info '[appoptics_apm/loading] Instrumenting Padrino' if AppOpticsAPM::Config[:verbose]
40
-
41
- require 'appoptics_apm/frameworks/padrino/templates'
94
+ AppOpticsAPM.logger.info '[appoptics_apm/loading] Instrumenting Padrino' if AppOpticsAPM::Config[:verbose]
42
95
 
43
96
  Padrino.after_load do
44
- ::AppOpticsAPM.logger = ::Padrino.logger if ::Padrino.respond_to?(:logger)
45
- ::AppOpticsAPM::Inst.load_instrumentation
97
+ AppOpticsAPM.logger = Padrino.logger if Padrino.respond_to?(:logger)
98
+ AppOpticsAPM::Inst.load_instrumentation
46
99
 
47
- ::AppOpticsAPM::Util.send_include(::Padrino::Routing::InstanceMethods, ::AppOpticsAPM::PadrinoInst::Routing)
48
- if defined?(::Padrino::Rendering)
49
- ::AppOpticsAPM::Util.send_include(::Padrino::Rendering::InstanceMethods, ::AppOpticsAPM::PadrinoInst::Rendering)
100
+ AppOpticsAPM::Util.send_include(Padrino::Routing::InstanceMethods, AppOpticsAPM::PadrinoInst::Routing)
101
+ if defined?(Padrino::Rendering)
102
+ AppOpticsAPM::Util.send_include(Padrino::Rendering::InstanceMethods, AppOpticsAPM::PadrinoInst::Rendering)
50
103
  end
51
104
 
52
105
  # Report __Init after fork when in Heroku
@@ -88,9 +88,9 @@ if defined?(ActionController::Base) && AppOpticsAPM::Config[:action_controller][
88
88
  AppOpticsAPM.logger.info '[appoptics_apm/loading] Instrumenting actioncontroller' if AppOpticsAPM::Config[:verbose]
89
89
  require "appoptics_apm/frameworks/rails/inst/action_controller#{Rails::VERSION::MAJOR}"
90
90
  if Rails::VERSION::MAJOR >= 5
91
- ::ActionController::Base.send(:prepend, ::AppOpticsAPM::Inst::ActionController)
91
+ ActionController::Base.send(:prepend, ::AppOpticsAPM::Inst::ActionController)
92
92
  else
93
- ::AppOpticsAPM::Util.send_include(::ActionController::Base, AppOpticsAPM::Inst::ActionController)
93
+ AppOpticsAPM::Util.send_include(::ActionController::Base, AppOpticsAPM::Inst::ActionController)
94
94
  end
95
95
  end
96
96
 
@@ -98,7 +98,7 @@ end
98
98
  if defined?(ActionController::API) && AppOpticsAPM::Config[:action_controller_api][:enabled]
99
99
  AppOpticsAPM.logger.info '[appoptics_apm/loading] Instrumenting actioncontroller api' if AppOpticsAPM::Config[:verbose]
100
100
  require "appoptics_apm/frameworks/rails/inst/action_controller_api"
101
- ::ActionController::API.send(:prepend, ::AppOpticsAPM::Inst::ActionControllerAPI)
101
+ ActionController::API.send(:prepend, ::AppOpticsAPM::Inst::ActionControllerAPI)
102
102
  end
103
103
 
104
104
  # vim:set expandtab:tabstop=2
@@ -10,7 +10,7 @@ module AppOpticsAPM
10
10
  # to Rails v3
11
11
  #
12
12
  module ActionController
13
- include ::AppOpticsAPM::Inst::RailsBase
13
+ include AppOpticsAPM::Inst::RailsBase
14
14
 
15
15
  def self.included(base)
16
16
  base.class_eval do
@@ -21,12 +21,8 @@ module AppOpticsAPM
21
21
  end
22
22
 
23
23
  def process_with_appoptics(*args)
24
- kvs = {
25
- :Controller => self.class.name,
26
- :Action => self.action_name,
27
- }
28
- request.env['appoptics_apm.controller'] = kvs[:Controller]
29
- request.env['appoptics_apm.action'] = kvs[:Action]
24
+ request.env['appoptics_apm.controller'] = self.class.name
25
+ request.env['appoptics_apm.action'] = self.action_name
30
26
 
31
27
  trace('rails') do
32
28
  process_without_appoptics(*args)
@@ -49,6 +45,7 @@ module AppOpticsAPM
49
45
  process_action_without_appoptics(*args)
50
46
  rescue Exception
51
47
  kvs[:Status] = 500
48
+ kvs.delete(:Backtrace)
52
49
  AppOpticsAPM::API.log(nil, 'info', kvs)
53
50
  raise
54
51
  end
@@ -10,7 +10,7 @@ module AppOpticsAPM
10
10
  # to Rails v4
11
11
  #
12
12
  module ActionController
13
- include ::AppOpticsAPM::Inst::RailsBase
13
+ include AppOpticsAPM::Inst::RailsBase
14
14
 
15
15
  def self.included(base)
16
16
  base.class_eval do
@@ -10,7 +10,7 @@ module AppOpticsAPM
10
10
  # to Rails v5
11
11
  #
12
12
  module ActionController
13
- include ::AppOpticsAPM::Inst::RailsBase
13
+ include AppOpticsAPM::Inst::RailsBase
14
14
 
15
15
  def process_action(method_name, *args)
16
16
  kvs = {
@@ -10,7 +10,7 @@ module AppOpticsAPM
10
10
  # to Rails v5.
11
11
  #
12
12
  module ActionControllerAPI
13
- include ::AppOpticsAPM::Inst::RailsBase
13
+ include AppOpticsAPM::Inst::RailsBase
14
14
 
15
15
  def process_action(method_name, *args)
16
16
  kvs = {
@@ -38,7 +38,7 @@ module AppOpticsAPM
38
38
  #
39
39
  # render
40
40
  #
41
- # Our render wrapper that calls 'add_logging', which will log if we are tracing
41
+ # Our render wrapper that calls 'trace', which will log if we are tracing
42
42
  #
43
43
  def render(*args, &blk)
44
44
  trace('actionview') do
@@ -9,31 +9,31 @@ module AppOpticsAPM
9
9
  AppOpticsAPM.logger.info '[appoptics_apm/loading] Instrumenting activerecord mysqladapter' if AppOpticsAPM::Config[:verbose]
10
10
 
11
11
  # ActiveRecord 3.2 and higher
12
- if (::ActiveRecord::VERSION::MAJOR == 3 && ::ActiveRecord::VERSION::MINOR >= 2) ||
13
- ::ActiveRecord::VERSION::MAJOR == 4
12
+ if (ActiveRecord::VERSION::MAJOR == 3 && ActiveRecord::VERSION::MINOR >= 2) ||
13
+ ActiveRecord::VERSION::MAJOR == 4
14
14
 
15
15
  # AbstractMysqlAdapter
16
- AppOpticsAPM::Util.send_include(::ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter,
17
- ::AppOpticsAPM::Inst::ConnectionAdapters::Utils)
18
- AppOpticsAPM::Util.method_alias(::ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter, :execute)
16
+ AppOpticsAPM::Util.send_include(ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter,
17
+ AppOpticsAPM::Inst::ConnectionAdapters::Utils)
18
+ AppOpticsAPM::Util.method_alias(ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter, :execute)
19
19
 
20
20
  # MysqlAdapter
21
- AppOpticsAPM::Util.send_include(::ActiveRecord::ConnectionAdapters::MysqlAdapter,
22
- ::AppOpticsAPM::Inst::ConnectionAdapters::Utils)
23
- AppOpticsAPM::Util.method_alias(::ActiveRecord::ConnectionAdapters::MysqlAdapter, :exec_query)
21
+ AppOpticsAPM::Util.send_include(ActiveRecord::ConnectionAdapters::MysqlAdapter,
22
+ AppOpticsAPM::Inst::ConnectionAdapters::Utils)
23
+ AppOpticsAPM::Util.method_alias(ActiveRecord::ConnectionAdapters::MysqlAdapter, :exec_query)
24
24
 
25
25
  else
26
26
  # ActiveRecord 3.1 and below
27
27
 
28
28
  # MysqlAdapter
29
- AppOpticsAPM::Util.send_include(::ActiveRecord::ConnectionAdapters::MysqlAdapter,
30
- ::AppOpticsAPM::Inst::ConnectionAdapters::Utils)
29
+ AppOpticsAPM::Util.send_include(ActiveRecord::ConnectionAdapters::MysqlAdapter,
30
+ AppOpticsAPM::Inst::ConnectionAdapters::Utils)
31
31
 
32
- AppOpticsAPM::Util.method_alias(::ActiveRecord::ConnectionAdapters::MysqlAdapter, :execute)
32
+ AppOpticsAPM::Util.method_alias(ActiveRecord::ConnectionAdapters::MysqlAdapter, :execute)
33
33
 
34
- if ::ActiveRecord::VERSION::MAJOR == 3 && ::ActiveRecord::VERSION::MINOR == 1
35
- AppOpticsAPM::Util.method_alias(::ActiveRecord::ConnectionAdapters::MysqlAdapter, :begin_db_transaction)
36
- AppOpticsAPM::Util.method_alias(::ActiveRecord::ConnectionAdapters::MysqlAdapter, :exec_delete)
34
+ if ActiveRecord::VERSION::MAJOR == 3 && ActiveRecord::VERSION::MINOR == 1
35
+ AppOpticsAPM::Util.method_alias(ActiveRecord::ConnectionAdapters::MysqlAdapter, :begin_db_transaction)
36
+ AppOpticsAPM::Util.method_alias(ActiveRecord::ConnectionAdapters::MysqlAdapter, :exec_delete)
37
37
  end
38
38
  end
39
39
  end
@@ -8,19 +8,19 @@ module AppOpticsAPM
8
8
  def self.mysql2
9
9
  AppOpticsAPM.logger.info '[appoptics_apm/loading] Instrumenting activerecord mysql2adapter' if AppOpticsAPM::Config[:verbose]
10
10
 
11
- AppOpticsAPM::Util.send_include(::ActiveRecord::ConnectionAdapters::Mysql2Adapter,
12
- ::AppOpticsAPM::Inst::ConnectionAdapters::Utils)
11
+ AppOpticsAPM::Util.send_include(ActiveRecord::ConnectionAdapters::Mysql2Adapter,
12
+ AppOpticsAPM::Inst::ConnectionAdapters::Utils)
13
13
 
14
- if (::ActiveRecord::VERSION::MAJOR == 3 && ::ActiveRecord::VERSION::MINOR == 0) ||
15
- ::ActiveRecord::VERSION::MAJOR == 2
14
+ if (ActiveRecord::VERSION::MAJOR == 3 && ActiveRecord::VERSION::MINOR == 0) ||
15
+ ActiveRecord::VERSION::MAJOR == 2
16
16
  # ActiveRecord 3.0 and prior
17
- AppOpticsAPM::Util.method_alias(::ActiveRecord::ConnectionAdapters::Mysql2Adapter, :execute)
17
+ AppOpticsAPM::Util.method_alias(ActiveRecord::ConnectionAdapters::Mysql2Adapter, :execute)
18
18
  else
19
19
  # ActiveRecord 3.1 and above
20
- AppOpticsAPM::Util.method_alias(::ActiveRecord::ConnectionAdapters::Mysql2Adapter, :exec_insert)
21
- AppOpticsAPM::Util.method_alias(::ActiveRecord::ConnectionAdapters::Mysql2Adapter, :exec_query)
22
- AppOpticsAPM::Util.method_alias(::ActiveRecord::ConnectionAdapters::Mysql2Adapter, :exec_update)
23
- AppOpticsAPM::Util.method_alias(::ActiveRecord::ConnectionAdapters::Mysql2Adapter, :exec_delete)
20
+ AppOpticsAPM::Util.method_alias(ActiveRecord::ConnectionAdapters::Mysql2Adapter, :exec_insert)
21
+ AppOpticsAPM::Util.method_alias(ActiveRecord::ConnectionAdapters::Mysql2Adapter, :exec_query)
22
+ AppOpticsAPM::Util.method_alias(ActiveRecord::ConnectionAdapters::Mysql2Adapter, :exec_update)
23
+ AppOpticsAPM::Util.method_alias(ActiveRecord::ConnectionAdapters::Mysql2Adapter, :exec_delete)
24
24
  end
25
25
  end
26
26
  end