oneapm_rpm 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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?