oneapm_rpm 1.1.2 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (160) hide show
  1. checksums.yaml +4 -4
  2. data/lib/one_apm/agent.rb +185 -192
  3. data/lib/one_apm/agent/agent/connect.rb +17 -17
  4. data/lib/one_apm/agent/agent/container_data_manager.rb +14 -14
  5. data/lib/one_apm/agent/agent/forkable_dispatcher_functions.rb +6 -35
  6. data/lib/one_apm/agent/agent/helpers.rb +6 -17
  7. data/lib/one_apm/agent/agent/start.rb +27 -27
  8. data/lib/one_apm/agent/agent/start_worker_thread.rb +19 -51
  9. data/lib/one_apm/agent/busy_calculator.rb +8 -34
  10. data/lib/one_apm/agent/cross_app/cross_app_monitor.rb +10 -10
  11. data/lib/one_apm/agent/cross_app/cross_app_tracing.rb +14 -14
  12. data/lib/one_apm/agent/database.rb +8 -35
  13. data/lib/one_apm/agent/database/active_record_helper.rb +1 -1
  14. data/lib/one_apm/agent/datastores.rb +2 -109
  15. data/lib/one_apm/agent/datastores/metric_helper.rb +1 -1
  16. data/lib/one_apm/agent/datastores/mongo/metric_translator.rb +3 -3
  17. data/lib/one_apm/agent/datastores/mongo/statement_formatter.rb +2 -2
  18. data/lib/one_apm/agent/harvester.rb +3 -6
  19. data/lib/one_apm/agent/inbound_request_monitor.rb +2 -2
  20. data/lib/one_apm/agent/javascript_instrumentor.rb +28 -28
  21. data/lib/one_apm/agent/sampler.rb +1 -1
  22. data/lib/one_apm/agent/sampler_collection.rb +6 -9
  23. data/lib/one_apm/agent/samplers/cpu_sampler.rb +4 -4
  24. data/lib/one_apm/agent/samplers/delayed_job_sampler.rb +5 -5
  25. data/lib/one_apm/agent/samplers/memory_sampler.rb +5 -5
  26. data/lib/one_apm/agent/samplers/object_sampler.rb +1 -1
  27. data/lib/one_apm/agent/samplers/vm_sampler.rb +6 -6
  28. data/lib/one_apm/agent/synthetics_monitor.rb +2 -2
  29. data/lib/one_apm/agent/threading/agent_thread.rb +6 -6
  30. data/lib/one_apm/agent/threading/backtrace_service.rb +9 -9
  31. data/lib/one_apm/agent/threading/thread_profile.rb +3 -3
  32. data/lib/one_apm/collector/collector/helper.rb +10 -10
  33. data/lib/one_apm/collector/collector/http_connection.rb +14 -14
  34. data/lib/one_apm/collector/collector/server_methods.rb +12 -12
  35. data/lib/one_apm/collector/collector_service.rb +8 -8
  36. data/lib/one_apm/collector/commands/thread_profiler_session.rb +4 -4
  37. data/lib/one_apm/collector/commands/xray_session.rb +1 -1
  38. data/lib/one_apm/collector/commands/xray_session_collection.rb +10 -10
  39. data/lib/one_apm/collector/containers/agent_command_router.rb +7 -7
  40. data/lib/one_apm/collector/containers/custom_event_aggregator.rb +6 -6
  41. data/lib/one_apm/collector/containers/error_collector.rb +16 -16
  42. data/lib/one_apm/collector/containers/sql_sampler.rb +8 -11
  43. data/lib/one_apm/collector/containers/transaction_event_aggregator.rb +15 -15
  44. data/lib/one_apm/collector/containers/transaction_sampler.rb +14 -16
  45. data/lib/one_apm/{agent/pipe/pipe_service.rb → collector/forked_process_service.rb} +3 -3
  46. data/lib/one_apm/collector/stats_engine/gc_profiler.rb +3 -3
  47. data/lib/one_apm/collector/stats_engine/metric_stats.rb +4 -4
  48. data/lib/one_apm/collector/stats_engine/stats_hash.rb +2 -2
  49. data/lib/one_apm/configuration.rb +16 -16
  50. data/lib/one_apm/configuration/autostart.rb +4 -4
  51. data/lib/one_apm/configuration/default_source.rb +9 -9
  52. data/lib/one_apm/configuration/environment_source.rb +1 -1
  53. data/lib/one_apm/configuration/high_security_source.rb +1 -1
  54. data/lib/one_apm/configuration/yaml_source.rb +7 -7
  55. data/lib/one_apm/errors/noticed_error.rb +2 -2
  56. data/lib/one_apm/frameworks/external.rb +2 -0
  57. data/lib/one_apm/frameworks/rails.rb +8 -18
  58. data/lib/one_apm/frameworks/rails3.rb +1 -0
  59. data/lib/one_apm/frameworks/rails4.rb +2 -6
  60. data/lib/one_apm/frameworks/ruby.rb +7 -2
  61. data/lib/one_apm/frameworks/sinatra.rb +1 -2
  62. data/lib/one_apm/inst/3rd/active_merchant.rb +1 -1
  63. data/lib/one_apm/inst/3rd/acts_as_solr.rb +2 -2
  64. data/lib/one_apm/inst/3rd/authlogic.rb +1 -1
  65. data/lib/one_apm/inst/3rd/sunspot.rb +1 -1
  66. data/lib/one_apm/inst/background_job/active_job.rb +1 -1
  67. data/lib/one_apm/inst/background_job/delayed_job.rb +4 -4
  68. data/lib/one_apm/inst/background_job/event_machine_standalone.rb +2 -2
  69. data/lib/one_apm/inst/background_job/resque.rb +11 -11
  70. data/lib/one_apm/inst/background_job/sidekiq.rb +5 -5
  71. data/lib/one_apm/inst/dispatcher/passenger.rb +4 -4
  72. data/lib/one_apm/inst/dispatcher/puma.rb +23 -0
  73. data/lib/one_apm/inst/dispatcher/rainbows.rb +2 -2
  74. data/lib/one_apm/inst/framework/grape.rb +4 -4
  75. data/lib/one_apm/inst/framework/padrino.rb +2 -2
  76. data/lib/one_apm/inst/framework/sinatra.rb +9 -9
  77. data/lib/one_apm/inst/framework/sinatra/transaction_namer.rb +1 -1
  78. data/lib/one_apm/inst/http_clients/curb.rb +6 -6
  79. data/lib/one_apm/inst/http_clients/excon.rb +4 -4
  80. data/lib/one_apm/inst/http_clients/excon/middleware.rb +3 -3
  81. data/lib/one_apm/inst/http_clients/httpclient.rb +1 -1
  82. data/lib/one_apm/inst/http_clients/net.rb +2 -2
  83. data/lib/one_apm/inst/http_clients/typhoeus.rb +2 -2
  84. data/lib/one_apm/inst/nosql/memcache.rb +7 -7
  85. data/lib/one_apm/inst/nosql/mongo.rb +6 -6
  86. data/lib/one_apm/inst/nosql/mongo_moped.rb +2 -2
  87. data/lib/one_apm/inst/nosql/redis.rb +3 -3
  88. data/lib/one_apm/inst/orm/active_record.rb +4 -4
  89. data/lib/one_apm/inst/orm/active_record_4.rb +2 -2
  90. data/lib/one_apm/inst/orm/sequel.rb +4 -4
  91. data/lib/one_apm/inst/rack.rb +3 -3
  92. data/lib/one_apm/inst/rack/rack_builder.rb +4 -4
  93. data/lib/one_apm/inst/rails/action_controller.rb +7 -7
  94. data/lib/one_apm/inst/rails/action_web_service.rb +1 -1
  95. data/lib/one_apm/inst/rails/errors.rb +1 -1
  96. data/lib/one_apm/inst/rails3/action_controller.rb +6 -6
  97. data/lib/one_apm/inst/rails3/errors.rb +1 -1
  98. data/lib/one_apm/inst/rails4/action_controller.rb +1 -1
  99. data/lib/one_apm/inst/rails4/action_controller_subscriber.rb +4 -4
  100. data/lib/one_apm/inst/rails4/action_view.rb +2 -2
  101. data/lib/one_apm/inst/rails4/action_view_subscriber.rb +4 -4
  102. data/lib/one_apm/inst/rails4/active_record_subscriber.rb +7 -7
  103. data/lib/one_apm/inst/rails4/errors.rb +1 -1
  104. data/lib/one_apm/inst/rails_middleware.rb +2 -2
  105. data/lib/one_apm/inst/support/evented_subscriber.rb +2 -2
  106. data/lib/one_apm/inst/support/queue_time.rb +1 -1
  107. data/lib/one_apm/inst/transaction_base.rb +6 -6
  108. data/lib/one_apm/logger/agent_logger.rb +8 -8
  109. data/lib/one_apm/logger/audit_logger.rb +8 -8
  110. data/lib/one_apm/logger/memory_logger.rb +1 -1
  111. data/lib/one_apm/logger/null_logger.rb +1 -3
  112. data/lib/one_apm/manager.rb +249 -0
  113. data/lib/one_apm/metrics/metric_spec.rb +1 -1
  114. data/lib/one_apm/metrics/stats.rb +1 -1
  115. data/lib/one_apm/probe.rb +1 -1
  116. data/lib/one_apm/probe/framework_loader.rb +2 -2
  117. data/lib/one_apm/probe/instance_methods.rb +19 -19
  118. data/lib/one_apm/probe/instrumentation.rb +5 -5
  119. data/lib/one_apm/rack/browser_monitoring.rb +6 -6
  120. data/lib/one_apm/rack/middleware_hooks.rb +1 -1
  121. data/lib/one_apm/rack/middleware_tracing.rb +2 -2
  122. data/lib/one_apm/support/chained_call.rb +1 -1
  123. data/lib/one_apm/support/coerce.rb +1 -1
  124. data/lib/one_apm/support/collection_helper.rb +1 -1
  125. data/lib/one_apm/support/encoders.rb +1 -1
  126. data/lib/one_apm/support/environment_report.rb +10 -10
  127. data/lib/one_apm/{agent → support}/event/event_listener.rb +3 -3
  128. data/lib/one_apm/{agent → support}/event/event_loop.rb +8 -8
  129. data/lib/one_apm/{agent → support}/event/timer.rb +1 -1
  130. data/lib/one_apm/{agent → support}/event/worker_loop.rb +5 -19
  131. data/lib/one_apm/{agent/pipe/pipe_channel_manager.rb → support/forked_process_channel.rb} +13 -51
  132. data/lib/one_apm/support/json_marshaller.rb +6 -6
  133. data/lib/one_apm/support/json_wrapper.rb +2 -2
  134. data/lib/one_apm/support/language_support.rb +1 -1
  135. data/lib/one_apm/support/library_detection.rb +5 -5
  136. data/lib/one_apm/support/marshaller.rb +1 -1
  137. data/lib/one_apm/support/method_tracer.rb +12 -12
  138. data/lib/one_apm/support/method_tracer/helpers.rb +6 -6
  139. data/lib/one_apm/support/system_info.rb +2 -2
  140. data/lib/one_apm/support/traced_method_stack.rb +4 -4
  141. data/lib/one_apm/support/vm/monotonic_gc_profiler.rb +1 -1
  142. data/lib/one_apm/support/vm/mri_vm.rb +1 -1
  143. data/lib/one_apm/transaction.rb +3 -3
  144. data/lib/one_apm/transaction/class_methods.rb +3 -3
  145. data/lib/one_apm/transaction/instance_helpers.rb +3 -3
  146. data/lib/one_apm/transaction/sample_buffer/synthetics_sample_buffer.rb +1 -1
  147. data/lib/one_apm/transaction/sample_buffer/xray_sample_buffer.rb +5 -5
  148. data/lib/one_apm/transaction/thread_local_access.rb +2 -2
  149. data/lib/one_apm/transaction/transaction_apdex.rb +2 -2
  150. data/lib/one_apm/transaction/transaction_finish_append.rb +1 -1
  151. data/lib/one_apm/transaction/transaction_jruby_functions.rb +2 -2
  152. data/lib/one_apm/transaction/transaction_name.rb +2 -2
  153. data/lib/one_apm/transaction/transaction_sample.rb +1 -1
  154. data/lib/one_apm/transaction/transaction_sample_builder.rb +7 -7
  155. data/lib/one_apm/transaction/transaction_state.rb +1 -1
  156. data/lib/one_apm/version.rb +1 -1
  157. data/lib/sequel/extensions/oneapm_instrumentation.rb +7 -7
  158. data/oneapm.yml +6 -7
  159. metadata +10 -9
  160. data/lib/one_apm/agent/agent.rb +0 -283
@@ -25,8 +25,8 @@ module OneApm
25
25
  @backend_name = :json
26
26
  return true
27
27
  rescue StandardError, ScriptError
28
- OneApm::Agent.logger.debug "%p while loading JSON library: %s" % [ err, err.message ] if
29
- defined?( OneApm::Agent ) && OneApm::Agent.respond_to?( :logger )
28
+ OneApm::Manager.logger.debug "%p while loading JSON library: %s" % [ err, err.message ] if
29
+ defined?( OneApm::Agent ) && OneApm::Manager.respond_to?( :logger )
30
30
  end
31
31
  end
32
32
 
@@ -71,7 +71,7 @@ module OneApm::LanguageSupport
71
71
  end
72
72
 
73
73
  def gc_profiler_enabled?
74
- if gc_profiler_usable? && ::GC::Profiler.enabled? && !::OneApm::Agent.config[:disable_gc_profiler]
74
+ if gc_profiler_usable? && ::GC::Profiler.enabled? && !OneApm::Manager.config[:disable_gc_profiler]
75
75
  true
76
76
  else
77
77
  false
@@ -13,7 +13,7 @@ module LibraryDetection
13
13
  if item.name
14
14
  seen_names = @items.map { |i| i.name }.compact
15
15
  if seen_names.include?(item.name)
16
- OneApm::Agent.logger.warn("Refusing to re-register LibraryDetection block with name '#{item.name}'")
16
+ OneApm::Manager.logger.warn("Refusing to re-register LibraryDetection block with name '#{item.name}'")
17
17
  return @items
18
18
  end
19
19
  end
@@ -70,7 +70,7 @@ module LibraryDetection
70
70
  begin
71
71
  x.call
72
72
  rescue => err
73
- OneApm::Agent.logger.error( "Error while installing #{self.name} instrumentation:", err )
73
+ OneApm::Manager.logger.error( "Error while installing #{self.name} instrumentation:", err )
74
74
  break
75
75
  end
76
76
  end
@@ -85,7 +85,7 @@ module LibraryDetection
85
85
  begin
86
86
  dep.call
87
87
  rescue => err
88
- OneApm::Agent.logger.error( "Error while detecting #{self.name}:", err )
88
+ OneApm::Manager.logger.error( "Error while detecting #{self.name}:", err )
89
89
  false
90
90
  end
91
91
  end
@@ -100,8 +100,8 @@ module LibraryDetection
100
100
  return true if self.name.nil?
101
101
 
102
102
  key = "disable_#{self.name}".to_sym
103
- if (::OneApm::Agent.config[key] == true)
104
- ::OneApm::Agent.logger.debug("Not installing #{self.name} instrumentation because of configuration #{key}")
103
+ if (OneApm::Manager.config[key] == true)
104
+ OneApm::Manager.logger.debug("Not installing #{self.name} instrumentation because of configuration #{key}")
105
105
  false
106
106
  else
107
107
  true
@@ -54,7 +54,7 @@ module OneApm
54
54
  return data['return_value']
55
55
  end
56
56
  end
57
- ::OneApm::Agent.logger.debug("Unexpected response from collector: #{data}")
57
+ OneApm::Manager.logger.debug("Unexpected response from collector: #{data}")
58
58
  nil
59
59
  end
60
60
  end
@@ -61,7 +61,7 @@ module OneApm
61
61
  #
62
62
  # @api public
63
63
  #
64
- def trace_execution_scoped(metric_names, options={}) #THREAD_LOCAL_ACCESS
64
+ def trace_execution_scoped(metric_names, options={})
65
65
  OneApm::Support::MethodTracer::Helpers.trace_execution_scoped(metric_names, options) do
66
66
  # Using an implicit block avoids object allocation for a &block param
67
67
  yield
@@ -76,14 +76,14 @@ module OneApm
76
76
  #
77
77
  # @api public
78
78
  #
79
- def trace_execution_unscoped(metric_names, options={}) #THREAD_LOCAL_ACCESS
80
- return yield unless OneApm::Agent.tl_is_execution_traced?
79
+ def trace_execution_unscoped(metric_names, options={})
80
+ return yield unless OneApm::Manager.tl_is_execution_traced?
81
81
  t0 = Time.now
82
82
  begin
83
83
  yield
84
84
  ensure
85
85
  duration = (Time.now - t0).to_f # for some reason this is 3 usec faster than Time - Time
86
- OneApm::Agent.instance.stats_engine.tl_record_unscoped_metrics(metric_names, duration)
86
+ OneApm::Manager.agent.stats_engine.tl_record_unscoped_metrics(metric_names, duration)
87
87
  end
88
88
  end
89
89
 
@@ -110,7 +110,7 @@ module OneApm
110
110
  end
111
111
 
112
112
  if deprecated_keys.any?
113
- OneApm::Agent.logger.warn("Deprecated options when adding method tracer to #{method_name}: "+
113
+ OneApm::Manager.logger.warn("Deprecated options when adding method tracer to #{method_name}: "+
114
114
  deprecated_keys.join(', '))
115
115
  end
116
116
  end
@@ -153,7 +153,7 @@ module OneApm
153
153
  # anything if the method doesn't exist.
154
154
  def oneapm_method_exists?(method_name)
155
155
  exists = method_defined?(method_name) || private_method_defined?(method_name)
156
- ::OneApm::Agent.logger.error("Did not trace #{self.name}##{method_name} because that method does not exist") unless exists
156
+ OneApm::Manager.logger.error("Did not trace #{self.name}##{method_name} because that method does not exist") unless exists
157
157
  exists
158
158
  end
159
159
 
@@ -163,7 +163,7 @@ module OneApm
163
163
  # to help with debugging custom instrumentation.
164
164
  def traced_method_exists?(method_name, metric_name_code)
165
165
  exists = method_defined?(_traced_method_name(method_name, metric_name_code))
166
- ::OneApm::Agent.logger.error("Attempt to trace a method twice with the same metric: Method = #{method_name}, Metric Name = #{metric_name_code}") if exists
166
+ OneApm::Manager.logger.error("Attempt to trace a method twice with the same metric: Method = #{method_name}, Metric Name = #{metric_name_code}") if exists
167
167
  exists
168
168
  end
169
169
 
@@ -172,7 +172,7 @@ module OneApm
172
172
  # instrumentation into effectively one method call overhead
173
173
  # when the agent is disabled
174
174
  def assemble_code_header(method_name, metric_name_code, options)
175
- header = "return #{_untraced_method_name(method_name, metric_name_code)}(*args, &block) unless OneApm::Agent.tl_is_execution_traced?\n"
175
+ header = "return #{_untraced_method_name(method_name, metric_name_code)}(*args, &block) unless OneApm::Manager.tl_is_execution_traced?\n"
176
176
  header += options[:code_header].to_s
177
177
  header
178
178
  end
@@ -188,7 +188,7 @@ module OneApm
188
188
  #{_untraced_method_name(method_name, metric_name_code)}(*args, &block)\n
189
189
  ensure
190
190
  duration = (Time.now - t0).to_f
191
- OneApm::Agent.record_metric(\"#{metric_name_code}\", duration)
191
+ OneApm::Manager.record_metric(\"#{metric_name_code}\", duration)
192
192
  #{options[:code_footer]}
193
193
  end
194
194
  end"
@@ -296,7 +296,7 @@ module OneApm
296
296
  alias_method method_name, _traced_method_name(method_name, metric_name_code)
297
297
  send visibility, method_name
298
298
  send visibility, _traced_method_name(method_name, metric_name_code)
299
- ::OneApm::Agent.logger.debug("Traced method: class = #{self.name},"+
299
+ OneApm::Manager.logger.debug("Traced method: class = #{self.name},"+
300
300
  "method = #{method_name}, "+
301
301
  "metric = '#{metric_name_code}'")
302
302
  end
@@ -305,11 +305,11 @@ module OneApm
305
305
  # from when they were added, or else other tracers that were added to the same method
306
306
  # may get removed as well.
307
307
  def remove_method_tracer(method_name, metric_name_code) # :nodoc:
308
- return unless Agent.config[:agent_enabled]
308
+ return unless OneApm::Manager.config[:agent_enabled]
309
309
  if method_defined? "#{_traced_method_name(method_name, metric_name_code)}"
310
310
  alias_method method_name, "#{_untraced_method_name(method_name, metric_name_code)}"
311
311
  undef_method "#{_traced_method_name(method_name, metric_name_code)}"
312
- ::OneApm::Agent.logger.debug("removed method tracer #{method_name} #{metric_name_code}\n")
312
+ OneApm::Manager.logger.debug("removed method tracer #{method_name} #{metric_name_code}\n")
313
313
  else
314
314
  raise "No tracer for '#{metric_name_code}' on method '#{method_name}'"
315
315
  end
@@ -10,7 +10,7 @@ module OneApm
10
10
 
11
11
  def record_metrics(state, first_name, other_names, duration, exclusive, options)
12
12
  record_scoped_metric = options.has_key?(:scoped_metric) ? options[:scoped_metric] : true
13
- stats_engine = OneApm::Agent.instance.stats_engine
13
+ stats_engine = OneApm::Manager.agent.stats_engine
14
14
  if record_scoped_metric
15
15
  stats_engine.record_scoped_and_unscoped_metrics(state, first_name, other_names, duration, exclusive)
16
16
  else
@@ -22,7 +22,7 @@ module OneApm
22
22
  def log_errors(code_area)
23
23
  yield
24
24
  rescue => e
25
- ::OneApm::Agent.logger.error("Caught exception in #{code_area}.", e)
25
+ OneApm::Manager.logger.error("Caught exception in #{code_area}.", e)
26
26
  end
27
27
 
28
28
  def trace_execution_scoped_header(state, t0)
@@ -45,18 +45,18 @@ module OneApm
45
45
  exclusive = duration - frame.children_time
46
46
 
47
47
  if duration >= MAX_ALLOWED_METRIC_DURATION
48
- ::OneApm::Agent.logger.log_once(:warn, "too_huge_metric:#{first_name}",
48
+ OneApm::Manager.logger.log_once(:warn, "too_huge_metric:#{first_name}",
49
49
  "Ignoring metric #{first_name} with unacceptably large duration: #{duration} s")
50
50
  return
51
51
  end
52
52
 
53
53
  if duration < 0
54
- ::OneApm::Agent.logger.log_once(:warn, "metric_duration_negative:#{first_name}",
54
+ OneApm::Manager.logger.log_once(:warn, "metric_duration_negative:#{first_name}",
55
55
  "Metric #{first_name} has negative duration: #{duration} s")
56
56
  end
57
57
 
58
58
  if exclusive < 0
59
- ::OneApm::Agent.logger.log_once(:warn, "metric_exclusive_negative:#{first_name}",
59
+ OneApm::Manager.logger.log_once(:warn, "metric_exclusive_negative:#{first_name}",
60
60
  "Metric #{first_name} has negative exclusive time: duration = #{duration} s, child_time = #{frame.children_time}")
61
61
  end
62
62
 
@@ -64,7 +64,7 @@ module OneApm
64
64
  end
65
65
  end
66
66
 
67
- def trace_execution_scoped(metric_names, options={}) #THREAD_LOCAL_ACCESS
67
+ def trace_execution_scoped(metric_names, options={})
68
68
  state = OneApm::TransactionState.tl_get
69
69
  return yield unless state.is_execution_traced?
70
70
 
@@ -125,7 +125,7 @@ module OneApm
125
125
  processor_count = get_processor_info[:num_logical_processors]
126
126
 
127
127
  if processor_count.nil?
128
- OneApm::Agent.logger.warn("Failed to determine processor count, assuming 1")
128
+ OneApm::Manager.logger.warn("Failed to determine processor count, assuming 1")
129
129
  processor_count = 1
130
130
  end
131
131
 
@@ -164,7 +164,7 @@ module OneApm
164
164
  when '/' then nil
165
165
  # in a cgroup, but we don't recognize its format
166
166
  else
167
- ::OneApm::Agent.logger.debug("Ignoring unrecognized cgroup ID format: '#{cpu_cgroup}'")
167
+ OneApm::Manager.logger.debug("Ignoring unrecognized cgroup ID format: '#{cpu_cgroup}'")
168
168
  nil
169
169
  end
170
170
  end
@@ -62,8 +62,8 @@ module OneApm
62
62
  if frame == expected_frame
63
63
  return frame
64
64
  else
65
- OneApm::Agent.logger.info("Unexpected frame in traced method stack: #{frame.inspect} expected to be #{expected_frame.inspect}")
66
- OneApm::Agent.logger.debug do
65
+ OneApm::Manager.logger.info("Unexpected frame in traced method stack: #{frame.inspect} expected to be #{expected_frame.inspect}")
66
+ OneApm::Manager.logger.debug do
67
67
  ["Backtrace for unexpected frame: ", caller.join("\n")]
68
68
  end
69
69
  end
@@ -83,11 +83,11 @@ module OneApm
83
83
  end
84
84
 
85
85
  def sampler_enabled?
86
- Agent.config[:'transaction_tracer.enabled']
86
+ OneApm::Manager.config[:'transaction_tracer.enabled']
87
87
  end
88
88
 
89
89
  def transaction_sampler
90
- Agent.instance.transaction_sampler
90
+ OneApm::Manager.agent.transaction_sampler
91
91
  end
92
92
 
93
93
  def clear
@@ -31,7 +31,7 @@ module OneApm
31
31
  ::GC::Profiler.clear
32
32
  end
33
33
  else
34
- OneApm::Agent.logger.log_once(:warn, :gc_profiler_disabled,
34
+ OneApm::Manager.logger.log_once(:warn, :gc_profiler_disabled,
35
35
  "Tried to measure GC time, but GC::Profiler was not enabled.")
36
36
  end
37
37
 
@@ -37,7 +37,7 @@ module OneApm
37
37
 
38
38
  def gather_gc_time(snap)
39
39
  if supports?(:gc_total_time)
40
- snap.gc_total_time = OneApm::Agent.instance.monotonic_gc_profiler.total_time_s
40
+ snap.gc_total_time = OneApm::Manager.agent.monotonic_gc_profiler.total_time_s
41
41
  end
42
42
  end
43
43
 
@@ -202,7 +202,7 @@ module OneApm
202
202
  if value < OneApm::Support::MethodTracer::Helpers::MAX_ALLOWED_METRIC_DURATION
203
203
  @metrics.record_unscoped(QUEUE_TIME_METRIC, value)
204
204
  else
205
- ::OneApm::Agent.logger.log_once(:warn, :too_high_queue_time, "Not recording unreasonably large queue time of #{value} s")
205
+ OneApm::Manager.logger.log_once(:warn, :too_high_queue_time, "Not recording unreasonably large queue time of #{value} s")
206
206
  end
207
207
  end
208
208
  end
@@ -240,7 +240,7 @@ module OneApm
240
240
 
241
241
  def user_defined_rules_ignore?
242
242
  return unless uri
243
- return if (rules = OneApm::Agent.config[:"rules.ignore_url_regexes"]).empty?
243
+ return if (rules = OneApm::Manager.config[:"rules.ignore_url_regexes"]).empty?
244
244
 
245
245
  parsed = OneApm::Support::HTTPClients::URIUtil.parse_url(uri)
246
246
  filtered_uri = OneApm::Support::HTTPClients::URIUtil.filter_uri(parsed)
@@ -249,7 +249,7 @@ module OneApm
249
249
  filtered_uri.match(rule)
250
250
  end
251
251
  rescue URI::InvalidURIError => e
252
- OneApm::Agent.logger.debug("Error parsing URI: #{uri}", e)
252
+ OneApm::Manager.logger.debug("Error parsing URI: #{uri}", e)
253
253
  false
254
254
  end
255
255
 
@@ -24,7 +24,7 @@ module OneApm
24
24
 
25
25
  txn
26
26
  rescue => e
27
- OneApm::Agent.logger.error("Exception during Transaction.start", e)
27
+ OneApm::Manager.logger.error("Exception during Transaction.start", e)
28
28
  nil
29
29
  end
30
30
 
@@ -32,7 +32,7 @@ module OneApm
32
32
  txn = state.current_transaction
33
33
 
34
34
  if txn.nil?
35
- OneApm::Agent.logger.error(Transaction::FAILED_TO_STOP_MESSAGE)
35
+ OneApm::Manager.logger.error(Transaction::FAILED_TO_STOP_MESSAGE)
36
36
  return
37
37
  end
38
38
 
@@ -63,7 +63,7 @@ module OneApm
63
63
  :transaction_stopped
64
64
  rescue => e
65
65
  state.reset
66
- OneApm::Agent.logger.error("Exception during Transaction.stop", e)
66
+ OneApm::Manager.logger.error("Exception during Transaction.stop", e)
67
67
  nil
68
68
  end
69
69
 
@@ -5,7 +5,7 @@ module OneApm
5
5
  module InstanceHelpers
6
6
 
7
7
  def agent
8
- OneApm::Agent.instance
8
+ OneApm::Manager.agent
9
9
  end
10
10
 
11
11
  def transaction_sampler
@@ -43,8 +43,8 @@ module OneApm
43
43
  end
44
44
 
45
45
  def add_custom_parameters(p)
46
- if OneApm::Agent.config[:high_security]
47
- OneApm::Agent.logger.debug("Unable to add custom attributes #{p.keys.inspect} while in high security mode.")
46
+ if OneApm::Manager.config[:high_security]
47
+ OneApm::Manager.logger.debug("Unable to add custom attributes #{p.keys.inspect} while in high security mode.")
48
48
  return
49
49
  end
50
50
 
@@ -6,7 +6,7 @@ module OneApm
6
6
  class Transaction
7
7
  class SyntheticsSampleBuffer < TransactionSampleBuffer
8
8
  def capacity
9
- OneApm::Agent.config[:'synthetics.traces_limit']
9
+ OneApm::Manager.config[:'synthetics.traces_limit']
10
10
  end
11
11
 
12
12
  def allow_sample?(sample)
@@ -12,19 +12,19 @@ module OneApm
12
12
  super
13
13
 
14
14
  # Memoize the config setting since this happens per request
15
- @enabled = OneApm::Agent.config[:'xray_session.allow_traces']
16
- OneApm::Agent.config.register_callback(:'xray_session.allow_traces') do |new_value|
15
+ @enabled = OneApm::Manager.config[:'xray_session.allow_traces']
16
+ OneApm::Manager.config.register_callback(:'xray_session.allow_traces') do |new_value|
17
17
  @enabled = new_value
18
18
  end
19
19
 
20
- @capacity = OneApm::Agent.config[:'xray_session.max_samples']
21
- OneApm::Agent.config.register_callback(:'xray_session.max_samples') do |new_value|
20
+ @capacity = OneApm::Manager.config[:'xray_session.max_samples']
21
+ OneApm::Manager.config.register_callback(:'xray_session.max_samples') do |new_value|
22
22
  @capacity = new_value
23
23
  end
24
24
  end
25
25
 
26
26
  def xray_session_collection
27
- @xray_session_collection ||= OneApm::Agent.instance.agent_command_router.xray_session_collection
27
+ @xray_session_collection ||= OneApm::Manager.agent.agent_command_router.xray_session_collection
28
28
  end
29
29
 
30
30
  def capacity
@@ -27,7 +27,7 @@ module OneApm
27
27
 
28
28
  # Indicate that you don't want to keep the currently saved transaction
29
29
  # information
30
- def abort_transaction! #THREAD_LOCAL_ACCESS
30
+ def abort_transaction!
31
31
  state = OneApm::TransactionState.tl_get
32
32
  txn = state.current_transaction
33
33
  txn.abort_transaction!(state) if txn
@@ -50,7 +50,7 @@ module OneApm
50
50
  if txn
51
51
  txn.notice_error(e, options)
52
52
  else
53
- OneApm::Agent.instance.error_collector.notice_error(e, options)
53
+ OneApm::Manager.agent.error_collector.notice_error(e, options)
54
54
  end
55
55
  end
56
56
 
@@ -8,12 +8,12 @@ module OneApm
8
8
  end
9
9
 
10
10
  def apdex_t
11
- transaction_specific_apdex_t || Agent.config[:apdex_t]
11
+ transaction_specific_apdex_t || OneApm::Manager.config[:apdex_t]
12
12
  end
13
13
 
14
14
  def transaction_specific_apdex_t
15
15
  key = :web_transactions_apdex
16
- Agent.config[key] && Agent.config[key][best_name]
16
+ OneApm::Manager.config[key] && OneApm::Manager.config[key][best_name]
17
17
  end
18
18
 
19
19
  end
@@ -40,7 +40,7 @@ module OneApm
40
40
  end
41
41
 
42
42
  def append_referring_transaction_guid_to(state, payload)
43
- referring_guid = OneApm::Agent.instance.cross_app_monitor.client_referring_transaction_guid(state)
43
+ referring_guid = OneApm::Manager.agent.cross_app_monitor.client_referring_transaction_guid(state)
44
44
  if referring_guid
45
45
  payload[:referring_transaction_guid] = referring_guid
46
46
  end
@@ -26,8 +26,8 @@ module OneApm
26
26
 
27
27
  -1 == java_utime ? 0.0 : java_utime/1e9
28
28
  rescue => e
29
- ::OneApm::Agent.logger.log_once(:warn, :jruby_cpu_time, JRUBY_CPU_TIME_ERROR, e)
30
- ::OneApm::Agent.logger.debug(JRUBY_CPU_TIME_ERROR, e)
29
+ OneApm::Manager.logger.log_once(:warn, :jruby_cpu_time, JRUBY_CPU_TIME_ERROR, e)
30
+ OneApm::Manager.logger.debug(JRUBY_CPU_TIME_ERROR, e)
31
31
  nil
32
32
  end
33
33
 
@@ -37,7 +37,7 @@ module OneApm
37
37
  end
38
38
 
39
39
  def log_frozen_name(name)
40
- OneApm::Agent.logger.warn("Attempted to rename transaction to '#{name}' after transaction name was already frozen as '#{@frozen_name}'.")
40
+ OneApm::Manager.logger.warn("Attempted to rename transaction to '#{name}' after transaction name was already frozen as '#{@frozen_name}'.")
41
41
  nil
42
42
  end
43
43
 
@@ -65,7 +65,7 @@ module OneApm
65
65
  def freeze_name_and_execute_if_not_ignored
66
66
  if !name_frozen?
67
67
  name = promoted_transaction_name(best_name)
68
- name = OneApm::Agent.instance.transaction_rules.rename(name)
68
+ name = OneApm::Manager.agent.transaction_rules.rename(name)
69
69
  @name_frozen = true
70
70
 
71
71
  if name.nil?