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
@@ -71,7 +71,7 @@ module OneApm
71
71
 
72
72
  # Allow Transaction#with_database_metric_name to override our
73
73
  # collection and operation
74
- def self.overridden_operation_and_collection #THREAD_LOCAL_ACCESS
74
+ def self.overridden_operation_and_collection
75
75
  state = OneApm::TransactionState.tl_get
76
76
  txn = state.current_transaction
77
77
  txn ? txn.instrumentation_state[:datastore_override] : nil
@@ -51,7 +51,7 @@ module OneApm
51
51
 
52
52
  build_metrics(name, collection)
53
53
  rescue => e
54
- OneApm::Agent.logger.debug("Failure during Mongo metric generation", e)
54
+ OneApm::Manager.logger.debug("Failure during Mongo metric generation", e)
55
55
  []
56
56
  end
57
57
 
@@ -97,7 +97,7 @@ module OneApm
97
97
  if command_key
98
98
  command_key.to_sym
99
99
  else
100
- OneApm::Agent.increment_metric("Supportability/Mongo/UnknownCollection")
100
+ OneApm::Manager.increment_metric("Supportability/Mongo/UnknownCollection")
101
101
  payload[:selector].first.first unless command_key
102
102
  end
103
103
  end
@@ -108,7 +108,7 @@ module OneApm
108
108
  if command_key
109
109
  payload[:selector][command_key]
110
110
  else
111
- OneApm::Agent.increment_metric("Supportability/Mongo/UnknownCollection")
111
+ OneApm::Manager.increment_metric("Supportability/Mongo/UnknownCollection")
112
112
  CMD_COLLECTION
113
113
  end
114
114
  end
@@ -23,7 +23,7 @@ module OneApm
23
23
  ]
24
24
 
25
25
  def self.format(statement, operation)
26
- return nil unless OneApm::Agent.config[:'mongo.capture_queries']
26
+ return nil unless OneApm::Manager.config[:'mongo.capture_queries']
27
27
 
28
28
  result = { :operation => operation }
29
29
 
@@ -41,7 +41,7 @@ module OneApm
41
41
  end
42
42
 
43
43
  def self.obfuscate(statement)
44
- statement = Obfuscator.obfuscate_statement(statement) if OneApm::Agent.config[:'mongo.obfuscate_queries']
44
+ statement = Obfuscator.obfuscate_statement(statement) if OneApm::Manager.config[:'mongo.obfuscate_queries']
45
45
  statement
46
46
  end
47
47
  end
@@ -6,10 +6,7 @@ module OneApm
6
6
 
7
7
  attr_accessor :starting_pid
8
8
 
9
- # Inject target for after_fork call to avoid spawning thread in tests
10
- def initialize(events, after_forker = OneApm::Agent)
11
- # We intentionally don't set our pid as started at this point.
12
- # Startup routines must call mark_started when they consider us set!
9
+ def initialize(events, after_forker = OneApm::Manager)
13
10
  @starting_pid = nil
14
11
  @after_forker = after_forker
15
12
 
@@ -33,11 +30,11 @@ module OneApm
33
30
  end
34
31
 
35
32
  def restart_in_children_enabled?
36
- OneApm::Agent.config[:restart_thread_in_children]
33
+ OneApm::Manager.config[:restart_thread_in_children]
37
34
  end
38
35
 
39
36
  def harvest_thread_enabled?
40
- !OneApm::Agent.config[:disable_harvest_thread]
37
+ !OneApm::Manager.config[:disable_harvest_thread]
41
38
  end
42
39
 
43
40
  def restart_harvest_thread
@@ -14,14 +14,14 @@ module OneApm
14
14
  end
15
15
 
16
16
  def setup_obfuscator
17
- @obfuscator = OneApm::Agent::Obfuscator.new(OneApm::Agent.config[:encoding_key])
17
+ @obfuscator = OneApm::Agent::Obfuscator.new(OneApm::Manager.config[:encoding_key])
18
18
  end
19
19
 
20
20
  def deserialize_header(encoded_header, key)
21
21
  decoded_header = obfuscator.deobfuscate(encoded_header)
22
22
  OneApm::JSONWrapper.load(decoded_header)
23
23
  rescue => err
24
- OneApm::Agent.logger.debug("Failure deserializing encoded header '#{key}' in #{self.class}, #{err.class}, #{err.message}")
24
+ OneApm::Manager.logger.debug("Failure deserializing encoded header '#{key}' in #{self.class}, #{err.class}, #{err.message}")
25
25
  nil
26
26
  end
27
27
 
@@ -16,75 +16,75 @@ module OneApm
16
16
  end
17
17
 
18
18
  def log_configuration
19
- OneApm::Agent.logger.debug("JS agent loader requested: #{OneApm::Agent.config[:'browser_monitoring.loader']}",
20
- "JS agent loader debug: #{OneApm::Agent.config[:'browser_monitoring.debug']}",
21
- "JS agent loader version: #{OneApm::Agent.config[:'browser_monitoring.loader_version']}")
19
+ OneApm::Manager.logger.debug("JS agent loader requested: #{OneApm::Manager.config[:'browser_monitoring.loader']}",
20
+ "JS agent loader debug: #{OneApm::Manager.config[:'browser_monitoring.debug']}",
21
+ "JS agent loader version: #{OneApm::Manager.config[:'browser_monitoring.loader_version']}")
22
22
 
23
- if !OneApm::Agent.config[:'rum.enabled']
24
- OneApm::Agent.logger.debug("Real User Monitoring is disabled for this agent. Edit your configuration to change this.")
23
+ if !OneApm::Manager.config[:'rum.enabled']
24
+ OneApm::Manager.logger.debug("Real User Monitoring is disabled for this agent. Edit your configuration to change this.")
25
25
  end
26
26
  end
27
27
 
28
28
  def enabled?
29
- Agent.config[:'rum.enabled'] && !!Agent.config[:beacon]
29
+ OneApm::Manager.config[:'rum.enabled'] && !!Manager.config[:beacon]
30
30
  end
31
31
 
32
32
  def obfuscator
33
- @obfuscator ||= OneApm::Agent::Obfuscator.new(OneApm::Agent.config[:license_key], RUM_KEY_LENGTH)
33
+ @obfuscator ||= OneApm::Agent::Obfuscator.new(OneApm::Manager.config[:license_key], RUM_KEY_LENGTH)
34
34
  end
35
35
 
36
36
  def js_enabled_and_ready?
37
37
  if !enabled?
38
- ::OneApm::Agent.logger.log_once(:debug, :js_agent_disabled,
38
+ OneApm::Manager.logger.log_once(:debug, :js_agent_disabled,
39
39
  "JS agent instrumentation is disabled.")
40
40
  false
41
41
  elsif missing_config?(:js_agent_loader)
42
- ::OneApm::Agent.logger.log_once(:debug, :missing_js_agent_loader,
42
+ OneApm::Manager.logger.log_once(:debug, :missing_js_agent_loader,
43
43
  "Missing :js_agent_loader. Skipping browser instrumentation.")
44
44
  false
45
45
  elsif missing_config?(:beacon)
46
- ::OneApm::Agent.logger.log_once(:debug, :missing_beacon,
46
+ OneApm::Manager.logger.log_once(:debug, :missing_beacon,
47
47
  "Beacon configuration not received (yet?). Skipping browser instrumentation.")
48
48
  false
49
49
  elsif missing_config?(:browser_key)
50
- ::OneApm::Agent.logger.log_once(:debug, :missing_browser_key,
50
+ OneApm::Manager.logger.log_once(:debug, :missing_browser_key,
51
51
  "Browser key is not set. Skipping browser instrumentation.")
52
52
  false
53
53
  else
54
54
  true
55
55
  end
56
56
  rescue => e
57
- ::OneApm::Agent.logger.debug "Failure during 'js_enabled_and_ready?'", e
57
+ OneApm::Manager.logger.debug "Failure during 'js_enabled_and_ready?'", e
58
58
  false
59
59
  end
60
60
 
61
61
  def insert_js?(state)
62
62
  if !state.current_transaction
63
- ::OneApm::Agent.logger.debug "Not in transaction. Skipping browser instrumentation."
63
+ OneApm::Manager.logger.debug "Not in transaction. Skipping browser instrumentation."
64
64
  false
65
65
  elsif !state.is_transaction_traced?
66
- ::OneApm::Agent.logger.debug "Transaction is not traced. Skipping browser instrumentation."
66
+ OneApm::Manager.logger.debug "Transaction is not traced. Skipping browser instrumentation."
67
67
  false
68
68
  elsif !state.is_execution_traced?
69
- ::OneApm::Agent.logger.debug "Execution is not traced. Skipping browser instrumentation."
69
+ OneApm::Manager.logger.debug "Execution is not traced. Skipping browser instrumentation."
70
70
  false
71
71
  elsif state.current_transaction.ignore_enduser?
72
- ::OneApm::Agent.logger.debug "Ignore end user for this transaction is set. Skipping browser instrumentation."
72
+ OneApm::Manager.logger.debug "Ignore end user for this transaction is set. Skipping browser instrumentation."
73
73
  false
74
74
  else
75
75
  true
76
76
  end
77
77
  rescue => e
78
- ::OneApm::Agent.logger.debug "Failure during insert_js", e
78
+ OneApm::Manager.logger.debug "Failure during insert_js", e
79
79
  false
80
80
  end
81
81
 
82
82
  def missing_config?(key)
83
- value = OneApm::Agent.config[key]
83
+ value = OneApm::Manager.config[key]
84
84
  value.nil? || value.empty?
85
85
  end
86
86
 
87
- def browser_timing_header #THREAD_LOCAL_ACCESS
87
+ def browser_timing_header
88
88
  return '' unless js_enabled_and_ready? # fast exit
89
89
 
90
90
  state = OneApm::TransactionState.tl_get
@@ -96,12 +96,12 @@ module OneApm
96
96
 
97
97
  bt_config + browser_timing_loader
98
98
  rescue => e
99
- ::OneApm::Agent.logger.debug "Failure during RUM browser_timing_header construction", e
99
+ OneApm::Manager.logger.debug "Failure during RUM browser_timing_header construction", e
100
100
  ''
101
101
  end
102
102
 
103
103
  def browser_timing_loader
104
- html_safe_if_needed("\n<script type=\"text/javascript\" src=\"#{Agent.config[:js_agent_loader]}\"></script>")
104
+ html_safe_if_needed("\n<script type=\"text/javascript\" src=\"#{Manager.config[:js_agent_loader]}\"></script>")
105
105
  end
106
106
 
107
107
  def browser_timing_config(state)
@@ -133,14 +133,14 @@ module OneApm
133
133
  timings = state.timings
134
134
 
135
135
  data = {
136
- BEACON_KEY => OneApm::Agent.config[:beacon],
137
- ERROR_BEACON_KEY => OneApm::Agent.config[:error_beacon],
138
- LICENSE_KEY_KEY => OneApm::Agent.config[:browser_key],
139
- APPLICATIONID_KEY => OneApm::Agent.config[:application_id],
136
+ BEACON_KEY => OneApm::Manager.config[:beacon],
137
+ ERROR_BEACON_KEY => OneApm::Manager.config[:error_beacon],
138
+ LICENSE_KEY_KEY => OneApm::Manager.config[:browser_key],
139
+ APPLICATIONID_KEY => OneApm::Manager.config[:application_id],
140
140
  TRANSACTION_NAME_KEY => obfuscator.obfuscate(timings.transaction_name_or_unknown),
141
141
  QUEUE_TIME_KEY => timings.queue_time_in_millis,
142
142
  APPLICATION_TIME_KEY => timings.app_time_in_millis,
143
- AGENT_KEY => OneApm::Agent.config[:js_agent_file]
143
+ AGENT_KEY => OneApm::Manager.config[:js_agent_file]
144
144
  }
145
145
 
146
146
  add_ssl_for_http(data)
@@ -150,7 +150,7 @@ module OneApm
150
150
  end
151
151
 
152
152
  def add_ssl_for_http(data)
153
- ssl_for_http = OneApm::Agent.config[:'browser_monitoring.ssl_for_http']
153
+ ssl_for_http = OneApm::Manager.config[:'browser_monitoring.ssl_for_http']
154
154
  unless ssl_for_http.nil?
155
155
  data[SSL_FOR_HTTP_KEY] = ssl_for_http
156
156
  end
@@ -165,7 +165,7 @@ module OneApm
165
165
  end
166
166
 
167
167
  def include_custom_parameters?(txn)
168
- has_custom_parameters?(txn) && OneApm::Agent.config[:'browser_monitoring.capture_attributes']
168
+ has_custom_parameters?(txn) && OneApm::Manager.config[:'browser_monitoring.capture_attributes']
169
169
  end
170
170
 
171
171
  def has_custom_parameters?(txn)
@@ -29,7 +29,7 @@ module OneApm
29
29
  def enabled?
30
30
  if @name
31
31
  config_key = "disable_#{@name}_sampler"
32
- !(Agent.config[config_key])
32
+ !(Manager.config[config_key])
33
33
  else
34
34
  true
35
35
  end
@@ -23,9 +23,6 @@ module OneApm
23
23
  self.any? { |s| s.class == sampler_class }
24
24
  end
25
25
 
26
- # adds samplers to the sampler collection so that they run every
27
- # minute. This is dynamically recognized by any class that
28
- # subclasses OneApm::Agent::Sampler
29
26
  def load_samplers
30
27
  Sampler.sampler_classes.each do |subclass|
31
28
  add_sampler(subclass)
@@ -38,8 +35,8 @@ module OneApm
38
35
  sampler.poll
39
36
  false
40
37
  rescue => e
41
- ::OneApm::Agent.logger.warn("Removing #{sampler} from list", e)
42
- true # remove the bad sampler
38
+ OneApm::Manager.logger.warn("Removing #{sampler} from list", e)
39
+ true
43
40
  end
44
41
  end
45
42
  end
@@ -51,14 +48,14 @@ module OneApm
51
48
  sampler = sampler_class.new
52
49
  sampler.setup_events(@event_listener) if sampler.respond_to?(:setup_events)
53
50
  @samplers << sampler
54
- ::OneApm::Agent.logger.debug("Registered #{sampler_class.name} for harvest time sampling.")
51
+ OneApm::Manager.logger.debug("Registered #{sampler_class.name} for harvest time sampling.")
55
52
  else
56
- ::OneApm::Agent.logger.debug("#{sampler_class.name} not supported on this platform.")
53
+ OneApm::Manager.logger.debug("#{sampler_class.name} not supported on this platform.")
57
54
  end
58
55
  rescue OneApm::Agent::Sampler::Unsupported => e
59
- ::OneApm::Agent.logger.info("#{sampler_class.name} not available: #{e}")
56
+ OneApm::Manager.logger.info("#{sampler_class.name} not available: #{e}")
60
57
  rescue => e
61
- ::OneApm::Agent.logger.error("Error registering sampler:", e)
58
+ OneApm::Manager.logger.error("Error registering sampler:", e)
62
59
  end
63
60
  end
64
61
  end
@@ -31,12 +31,12 @@ module OneApm
31
31
  systemtime = t.stime - @last_stime
32
32
 
33
33
  if systemtime >= 0
34
- OneApm::Agent.record_metric("CPU/System Time", systemtime)
35
- OneApm::Agent.record_metric("CPU/System/Utilization", systemtime / (elapsed * @processor_count))
34
+ OneApm::Manager.record_metric("CPU/System Time", systemtime)
35
+ OneApm::Manager.record_metric("CPU/System/Utilization", systemtime / (elapsed * @processor_count))
36
36
  end
37
37
  if usertime >= 0
38
- OneApm::Agent.record_metric("CPU/User Time", usertime)
39
- OneApm::Agent.record_metric("CPU/User/Utilization", usertime / (elapsed * @processor_count))
38
+ OneApm::Manager.record_metric("CPU/User Time", usertime)
39
+ OneApm::Manager.record_metric("CPU/User/Utilization", usertime / (elapsed * @processor_count))
40
40
  end
41
41
  end
42
42
  @last_utime = t.utime
@@ -23,17 +23,17 @@ module OneApm
23
23
  end
24
24
 
25
25
  def initialize
26
- raise Unsupported, "DJ queue sampler disabled" if Agent.config[:disable_dj]
26
+ raise Unsupported, "DJ queue sampler disabled" if OneApm::Manager.config[:disable_dj]
27
27
  raise Unsupported, "DJ queue sampling unsupported with backend '#{::Delayed::Worker.backend}'" unless self.class.supported_backend?
28
28
  raise Unsupported, "No DJ worker present. Skipping DJ queue sampler" unless OneApm::DelayedJobInjection.worker_name
29
29
  end
30
30
 
31
31
  def record_failed_jobs(value)
32
- OneApm::Agent.record_metric("Workers/DelayedJob/failed_jobs", value)
32
+ OneApm::Manager.record_metric("Workers/DelayedJob/failed_jobs", value)
33
33
  end
34
34
 
35
35
  def record_locked_jobs(value)
36
- OneApm::Agent.record_metric("Workers/DelayedJob/locked_jobs", value)
36
+ OneApm::Manager.record_metric("Workers/DelayedJob/locked_jobs", value)
37
37
  end
38
38
 
39
39
  FAILED_QUERY = 'failed_at is not NULL'.freeze
@@ -73,7 +73,7 @@ module OneApm
73
73
  counts << record_counts_by("priority")
74
74
 
75
75
  all_metric = "Workers/DelayedJob/queue_length/all"
76
- OneApm::Agent.record_metric(all_metric, counts.max)
76
+ OneApm::Manager.record_metric(all_metric, counts.max)
77
77
  end
78
78
 
79
79
  QUEUE_QUERY_CONDITION = 'run_at <= ? and failed_at is NULL'.freeze
@@ -84,7 +84,7 @@ module OneApm
84
84
  all_count += count
85
85
  column_val = "default" if column_val.nil? || column_val == ""
86
86
  metric = "Workers/DelayedJob/queue_length/#{metric_segment}/#{column_val}"
87
- OneApm::Agent.record_metric(metric, count)
87
+ OneApm::Manager.record_metric(metric, count)
88
88
  end
89
89
  all_count
90
90
  end
@@ -18,10 +18,10 @@ module OneApm
18
18
  elsif platform =~ /linux/
19
19
  @sampler = ProcStatus.new
20
20
  if !@sampler.can_run?
21
- ::OneApm::Agent.logger.debug "Error attempting to use /proc/#{$$}/status file for reading memory. Using ps command instead."
21
+ OneApm::Manager.logger.debug "Error attempting to use /proc/#{$$}/status file for reading memory. Using ps command instead."
22
22
  @sampler = ShellPS.new("ps -o rsz")
23
23
  else
24
- ::OneApm::Agent.logger.debug "Using /proc/#{$$}/status for reading process memory."
24
+ OneApm::Manager.logger.debug "Using /proc/#{$$}/status for reading process memory."
25
25
  end
26
26
  elsif platform =~ /darwin9/ # 10.5
27
27
  @sampler = ShellPS.new("ps -o rsz")
@@ -55,7 +55,7 @@ module OneApm
55
55
  def poll
56
56
  sample = @sampler.get_sample
57
57
  if sample
58
- OneApm::Agent.record_metric("Memory/Used", sample)
58
+ OneApm::Manager.record_metric("Memory/Used", sample)
59
59
  end
60
60
  end
61
61
 
@@ -71,12 +71,12 @@ module OneApm
71
71
  begin
72
72
  m = get_memory
73
73
  if m.nil?
74
- ::OneApm::Agent.logger.warn "Unable to get the resident memory for process #{$$}. Disabling memory sampler."
74
+ OneApm::Manager.logger.warn "Unable to get the resident memory for process #{$$}. Disabling memory sampler."
75
75
  @broken = true
76
76
  end
77
77
  return m
78
78
  rescue => e
79
- ::OneApm::Agent.logger.warn "Unable to get the resident memory for process #{$$}. Disabling memory sampler.", e
79
+ OneApm::Manager.logger.warn "Unable to get the resident memory for process #{$$}. Disabling memory sampler.", e
80
80
  @broken = true
81
81
  return nil
82
82
  end
@@ -14,7 +14,7 @@ module OneApm
14
14
 
15
15
  def poll
16
16
  live_objects = ObjectSpace.live_objects
17
- OneApm::Agent.record_metric("GC/objects", live_objects)
17
+ OneApm::Manager.record_metric("GC/objects", live_objects)
18
18
  end
19
19
  end
20
20
  end
@@ -47,7 +47,7 @@ module OneApm
47
47
  end
48
48
  end
49
49
 
50
- def record_gc_runs_metric(snapshot, txn_count) #THREAD_LOCAL_ACCESS
50
+ def record_gc_runs_metric(snapshot, txn_count)
51
51
  if snapshot.gc_total_time || snapshot.gc_runs
52
52
  if snapshot.gc_total_time
53
53
  gc_time = snapshot.gc_total_time - @last_snapshot.gc_total_time.to_f
@@ -56,7 +56,7 @@ module OneApm
56
56
  gc_runs = snapshot.gc_runs - @last_snapshot.gc_runs
57
57
  end
58
58
  wall_clock_time = snapshot.taken_at - @last_snapshot.taken_at
59
- OneApm::Agent.instance.stats_engine.tl_record_unscoped_metrics(GC_RUNS_METRIC) do |stats|
59
+ OneApm::Manager.agent.stats_engine.tl_record_unscoped_metrics(GC_RUNS_METRIC) do |stats|
60
60
  stats.call_count += txn_count
61
61
  stats.total_call_time += gc_runs if gc_runs
62
62
  stats.total_exclusive_time += gc_time if gc_time
@@ -66,19 +66,19 @@ module OneApm
66
66
  end
67
67
  end
68
68
 
69
- def record_delta(snapshot, key, metric, txn_count) #THREAD_LOCAL_ACCESS
69
+ def record_delta(snapshot, key, metric, txn_count)
70
70
  value = snapshot.send(key)
71
71
  if value
72
72
  delta = value - @last_snapshot.send(key)
73
- OneApm::Agent.instance.stats_engine.tl_record_unscoped_metrics(metric) do |stats|
73
+ OneApm::Manager.agent.stats_engine.tl_record_unscoped_metrics(metric) do |stats|
74
74
  stats.call_count += txn_count
75
75
  stats.total_call_time += delta
76
76
  end
77
77
  end
78
78
  end
79
79
 
80
- def record_gauge_metric(metric_name, value) #THREAD_LOCAL_ACCESS
81
- OneApm::Agent.instance.stats_engine.tl_record_unscoped_metrics(metric_name) do |stats|
80
+ def record_gauge_metric(metric_name, value)
81
+ OneApm::Manager.agent.stats_engine.tl_record_unscoped_metrics(metric_name) do |stats|
82
82
  stats.call_count = value
83
83
  stats.sum_of_squares = 1
84
84
  end
@@ -14,7 +14,7 @@ module OneApm
14
14
  events.subscribe(:before_call, &method(:on_before_call))
15
15
  end
16
16
 
17
- def on_before_call(request) #THREAD_LOCAL_ACCESS
17
+ def on_before_call(request)
18
18
  encoded_header = request[SYNTHETICS_HEADER_KEY]
19
19
  return unless encoded_header
20
20
 
@@ -37,7 +37,7 @@ module OneApm
37
37
 
38
38
  def is_trusted?(incoming_payload)
39
39
  account_id = incoming_payload[1]
40
- OneApm::Agent.config[:trusted_account_ids].include?(account_id)
40
+ OneApm::Manager.config[:trusted_account_ids].include?(account_id)
41
41
  end
42
42
 
43
43
  def is_valid_payload?(incoming_payload)