newrelic_rpm 9.0.0 → 9.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (247) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +7 -81
  4. data/.rubocop_todo.yml +4 -43
  5. data/.simplecov +2 -1
  6. data/Brewfile +1 -0
  7. data/CHANGELOG.md +101 -2
  8. data/Gemfile +1 -1
  9. data/Guardfile +8 -7
  10. data/README.md +1 -2
  11. data/Rakefile +8 -8
  12. data/Thorfile +1 -1
  13. data/bin/newrelic +1 -0
  14. data/bin/newrelic_cmd +1 -0
  15. data/bin/nrdebug +20 -20
  16. data/init.rb +1 -1
  17. data/lib/new_relic/agent/agent.rb +3 -16
  18. data/lib/new_relic/agent/agent_helpers/connect.rb +4 -9
  19. data/lib/new_relic/agent/agent_helpers/harvest.rb +4 -4
  20. data/lib/new_relic/agent/agent_helpers/shutdown.rb +5 -5
  21. data/lib/new_relic/agent/agent_helpers/special_startup.rb +2 -2
  22. data/lib/new_relic/agent/agent_helpers/start_worker_thread.rb +47 -39
  23. data/lib/new_relic/agent/agent_helpers/startup.rb +13 -13
  24. data/lib/new_relic/agent/agent_helpers/transmit.rb +6 -6
  25. data/lib/new_relic/agent/agent_logger.rb +9 -9
  26. data/lib/new_relic/agent/attribute_filter.rb +2 -2
  27. data/lib/new_relic/agent/attribute_processing.rb +2 -2
  28. data/lib/new_relic/agent/audit_logger.rb +5 -5
  29. data/lib/new_relic/agent/autostart.rb +1 -1
  30. data/lib/new_relic/agent/commands/agent_command.rb +2 -2
  31. data/lib/new_relic/agent/commands/agent_command_router.rb +5 -4
  32. data/lib/new_relic/agent/commands/thread_profiler_session.rb +5 -5
  33. data/lib/new_relic/agent/configuration/default_source.rb +106 -118
  34. data/lib/new_relic/agent/configuration/environment_source.rb +2 -2
  35. data/lib/new_relic/agent/configuration/high_security_source.rb +3 -3
  36. data/lib/new_relic/agent/configuration/manager.rb +15 -2
  37. data/lib/new_relic/agent/configuration/security_policy_source.rb +10 -10
  38. data/lib/new_relic/agent/configuration/server_source.rb +24 -24
  39. data/lib/new_relic/agent/configuration/yaml_source.rb +4 -4
  40. data/lib/new_relic/agent/connect/request_builder.rb +1 -1
  41. data/lib/new_relic/agent/connect/response_handler.rb +1 -1
  42. data/lib/new_relic/agent/custom_event_aggregator.rb +4 -4
  43. data/lib/new_relic/agent/database/explain_plan_helpers.rb +1 -1
  44. data/lib/new_relic/agent/database/obfuscation_helpers.rb +2 -2
  45. data/lib/new_relic/agent/database/obfuscator.rb +2 -2
  46. data/lib/new_relic/agent/database.rb +4 -4
  47. data/lib/new_relic/agent/datastores/metric_helper.rb +5 -5
  48. data/lib/new_relic/agent/datastores/mongo/metric_translator.rb +11 -11
  49. data/lib/new_relic/agent/datastores/redis.rb +6 -6
  50. data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +7 -8
  51. data/lib/new_relic/agent/distributed_tracing/distributed_trace_attributes.rb +10 -10
  52. data/lib/new_relic/agent/distributed_tracing/distributed_trace_metrics.rb +7 -7
  53. data/lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb +1 -1
  54. data/lib/new_relic/agent/distributed_tracing/distributed_trace_transport_type.rb +6 -6
  55. data/lib/new_relic/agent/distributed_tracing/trace_context.rb +7 -7
  56. data/lib/new_relic/agent/distributed_tracing/trace_context_payload.rb +4 -4
  57. data/lib/new_relic/agent/distributed_tracing.rb +5 -5
  58. data/lib/new_relic/agent/error_collector.rb +35 -7
  59. data/lib/new_relic/agent/error_filter.rb +2 -2
  60. data/lib/new_relic/agent/error_trace_aggregator.rb +5 -4
  61. data/lib/new_relic/agent/event_loop.rb +3 -3
  62. data/lib/new_relic/agent/external.rb +1 -1
  63. data/lib/new_relic/agent/harvester.rb +1 -3
  64. data/lib/new_relic/agent/heap.rb +2 -1
  65. data/lib/new_relic/agent/hostname.rb +1 -1
  66. data/lib/new_relic/agent/http_clients/abstract.rb +9 -21
  67. data/lib/new_relic/agent/http_clients/curb_wrappers.rb +7 -3
  68. data/lib/new_relic/agent/http_clients/excon_wrappers.rb +7 -5
  69. data/lib/new_relic/agent/http_clients/http_rb_wrappers.rb +4 -0
  70. data/lib/new_relic/agent/http_clients/httpclient_wrappers.rb +6 -2
  71. data/lib/new_relic/agent/http_clients/net_http_wrappers.rb +5 -1
  72. data/lib/new_relic/agent/http_clients/typhoeus_wrappers.rb +8 -5
  73. data/lib/new_relic/agent/http_clients/uri_util.rb +2 -2
  74. data/lib/new_relic/agent/instrumentation/action_controller_other_subscriber.rb +5 -2
  75. data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +3 -2
  76. data/lib/new_relic/agent/instrumentation/action_view_subscriber.rb +3 -3
  77. data/lib/new_relic/agent/instrumentation/active_job.rb +1 -1
  78. data/lib/new_relic/agent/instrumentation/active_merchant.rb +3 -3
  79. data/lib/new_relic/agent/instrumentation/active_record.rb +3 -2
  80. data/lib/new_relic/agent/instrumentation/active_record_helper.rb +38 -35
  81. data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +3 -3
  82. data/lib/new_relic/agent/instrumentation/active_record_prepend.rb +2 -2
  83. data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +3 -2
  84. data/lib/new_relic/agent/instrumentation/bunny/chain.rb +1 -1
  85. data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +3 -3
  86. data/lib/new_relic/agent/instrumentation/bunny.rb +1 -1
  87. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +5 -3
  88. data/lib/new_relic/agent/instrumentation/curb/chain.rb +1 -1
  89. data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +5 -5
  90. data/lib/new_relic/agent/instrumentation/curb.rb +1 -1
  91. data/lib/new_relic/agent/instrumentation/custom_events_subscriber.rb +2 -1
  92. data/lib/new_relic/agent/instrumentation/delayed_job/chain.rb +1 -0
  93. data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +1 -1
  94. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +2 -1
  95. data/lib/new_relic/agent/instrumentation/elasticsearch/chain.rb +2 -2
  96. data/lib/new_relic/agent/instrumentation/elasticsearch/instrumentation.rb +4 -3
  97. data/lib/new_relic/agent/instrumentation/elasticsearch.rb +2 -2
  98. data/lib/new_relic/agent/instrumentation/excon/middleware.rb +2 -1
  99. data/lib/new_relic/agent/instrumentation/excon.rb +3 -3
  100. data/lib/new_relic/agent/instrumentation/fiber/chain.rb +1 -1
  101. data/lib/new_relic/agent/instrumentation/fiber.rb +1 -1
  102. data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +4 -4
  103. data/lib/new_relic/agent/instrumentation/grape.rb +3 -3
  104. data/lib/new_relic/agent/instrumentation/grpc/client/chain.rb +1 -1
  105. data/lib/new_relic/agent/instrumentation/grpc/client/instrumentation.rb +3 -2
  106. data/lib/new_relic/agent/instrumentation/grpc/client/prepend.rb +1 -1
  107. data/lib/new_relic/agent/instrumentation/grpc/client/request_wrapper.rb +1 -1
  108. data/lib/new_relic/agent/instrumentation/grpc/server/instrumentation.rb +4 -4
  109. data/lib/new_relic/agent/instrumentation/grpc_client.rb +1 -1
  110. data/lib/new_relic/agent/instrumentation/grpc_server.rb +1 -1
  111. data/lib/new_relic/agent/instrumentation/httprb.rb +1 -1
  112. data/lib/new_relic/agent/instrumentation/ignore_actions.rb +1 -1
  113. data/lib/new_relic/agent/instrumentation/logger.rb +1 -1
  114. data/lib/new_relic/agent/instrumentation/memcache/dalli.rb +3 -1
  115. data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +2 -2
  116. data/lib/new_relic/agent/instrumentation/memcache/prepend.rb +3 -1
  117. data/lib/new_relic/agent/instrumentation/memcache.rb +8 -8
  118. data/lib/new_relic/agent/instrumentation/middleware_proxy.rb +3 -3
  119. data/lib/new_relic/agent/instrumentation/middleware_tracing.rb +1 -1
  120. data/lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb +6 -6
  121. data/lib/new_relic/agent/instrumentation/net_http.rb +1 -1
  122. data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +1 -1
  123. data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +3 -3
  124. data/lib/new_relic/agent/instrumentation/passenger_instrumentation.rb +2 -2
  125. data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +1 -1
  126. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +3 -2
  127. data/lib/new_relic/agent/instrumentation/rails_middleware.rb +1 -1
  128. data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +7 -7
  129. data/lib/new_relic/agent/instrumentation/rake.rb +2 -2
  130. data/lib/new_relic/agent/instrumentation/redis/constants.rb +1 -1
  131. data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +2 -1
  132. data/lib/new_relic/agent/instrumentation/resque/helper.rb +1 -1
  133. data/lib/new_relic/agent/instrumentation/sequel.rb +4 -4
  134. data/lib/new_relic/agent/instrumentation/sequel_helper.rb +10 -10
  135. data/lib/new_relic/agent/instrumentation/sidekiq/extensions/delayed_class.rb +1 -1
  136. data/lib/new_relic/agent/instrumentation/sidekiq/server.rb +1 -1
  137. data/lib/new_relic/agent/instrumentation/sidekiq.rb +1 -0
  138. data/lib/new_relic/agent/instrumentation/sinatra/ignorer.rb +1 -1
  139. data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +6 -5
  140. data/lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb +1 -1
  141. data/lib/new_relic/agent/instrumentation/tilt/instrumentation.rb +2 -1
  142. data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +5 -5
  143. data/lib/new_relic/agent/javascript_instrumentor.rb +29 -24
  144. data/lib/new_relic/agent/linking_metadata.rb +2 -2
  145. data/lib/new_relic/agent/log_event_aggregator.rb +15 -15
  146. data/lib/new_relic/agent/logging.rb +73 -33
  147. data/lib/new_relic/agent/messaging.rb +7 -5
  148. data/lib/new_relic/agent/method_tracer.rb +7 -7
  149. data/lib/new_relic/agent/method_tracer_helpers.rb +1 -1
  150. data/lib/new_relic/agent/monitors/cross_app_monitor.rb +4 -4
  151. data/lib/new_relic/agent/monitors/distributed_tracing_monitor.rb +1 -1
  152. data/lib/new_relic/agent/new_relic_service/encoders.rb +1 -1
  153. data/lib/new_relic/agent/new_relic_service/json_marshaller.rb +2 -2
  154. data/lib/new_relic/agent/new_relic_service.rb +14 -15
  155. data/lib/new_relic/agent/obfuscator.rb +1 -1
  156. data/lib/new_relic/agent/parameter_filtering.rb +6 -6
  157. data/lib/new_relic/agent/pipe_channel_manager.rb +7 -6
  158. data/lib/new_relic/agent/pipe_service.rb +5 -3
  159. data/lib/new_relic/agent/priority_sampled_buffer.rb +1 -1
  160. data/lib/new_relic/agent/sampler.rb +2 -1
  161. data/lib/new_relic/agent/sampler_collection.rb +1 -1
  162. data/lib/new_relic/agent/samplers/cpu_sampler.rb +5 -5
  163. data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +9 -9
  164. data/lib/new_relic/agent/samplers/memory_sampler.rb +9 -9
  165. data/lib/new_relic/agent/samplers/object_sampler.rb +1 -1
  166. data/lib/new_relic/agent/span_event_aggregator.rb +4 -4
  167. data/lib/new_relic/agent/span_event_primitive.rb +2 -2
  168. data/lib/new_relic/agent/sql_sampler.rb +2 -2
  169. data/lib/new_relic/agent/stats.rb +1 -1
  170. data/lib/new_relic/agent/synthetics_event_aggregator.rb +1 -1
  171. data/lib/new_relic/agent/system_info.rb +10 -10
  172. data/lib/new_relic/agent/threading/agent_thread.rb +1 -1
  173. data/lib/new_relic/agent/threading/backtrace_node.rb +3 -3
  174. data/lib/new_relic/agent/threading/backtrace_service.rb +3 -7
  175. data/lib/new_relic/agent/threading/thread_profile.rb +5 -5
  176. data/lib/new_relic/agent/timestamp_sampled_buffer.rb +1 -1
  177. data/lib/new_relic/agent/tracer.rb +9 -8
  178. data/lib/new_relic/agent/transaction/abstract_segment.rb +52 -46
  179. data/lib/new_relic/agent/transaction/datastore_segment.rb +1 -1
  180. data/lib/new_relic/agent/transaction/distributed_tracer.rb +7 -6
  181. data/lib/new_relic/agent/transaction/distributed_tracing.rb +13 -14
  182. data/lib/new_relic/agent/transaction/external_request_segment.rb +11 -11
  183. data/lib/new_relic/agent/transaction/message_broker_segment.rb +1 -1
  184. data/lib/new_relic/agent/transaction/request_attributes.rb +2 -2
  185. data/lib/new_relic/agent/transaction/segment.rb +1 -1
  186. data/lib/new_relic/agent/transaction/synthetics_sample_buffer.rb +1 -1
  187. data/lib/new_relic/agent/transaction/trace.rb +1 -1
  188. data/lib/new_relic/agent/transaction/trace_context.rb +4 -4
  189. data/lib/new_relic/agent/transaction/trace_node.rb +8 -7
  190. data/lib/new_relic/agent/transaction/tracing.rb +8 -2
  191. data/lib/new_relic/agent/transaction/transaction_sample_buffer.rb +1 -1
  192. data/lib/new_relic/agent/transaction.rb +43 -36
  193. data/lib/new_relic/agent/transaction_error_primitive.rb +5 -5
  194. data/lib/new_relic/agent/transaction_event_aggregator.rb +4 -4
  195. data/lib/new_relic/agent/transaction_event_primitive.rb +3 -3
  196. data/lib/new_relic/agent/transaction_sampler.rb +3 -3
  197. data/lib/new_relic/agent/transaction_time_aggregator.rb +7 -3
  198. data/lib/new_relic/agent/utilization/aws.rb +1 -1
  199. data/lib/new_relic/agent/utilization/azure.rb +3 -3
  200. data/lib/new_relic/agent/utilization/gcp.rb +3 -3
  201. data/lib/new_relic/agent/utilization/pcf.rb +1 -1
  202. data/lib/new_relic/agent/utilization/vendor.rb +1 -1
  203. data/lib/new_relic/agent/vm/monotonic_gc_profiler.rb +1 -1
  204. data/lib/new_relic/agent/vm/mri_vm.rb +9 -8
  205. data/lib/new_relic/agent/worker_loop.rb +1 -1
  206. data/lib/new_relic/agent.rb +78 -16
  207. data/lib/new_relic/cli/command.rb +3 -3
  208. data/lib/new_relic/cli/commands/deployments.rb +26 -25
  209. data/lib/new_relic/cli/commands/install.rb +14 -14
  210. data/lib/new_relic/collection_helper.rb +2 -2
  211. data/lib/new_relic/constants.rb +7 -8
  212. data/lib/new_relic/control/class_methods.rb +3 -3
  213. data/lib/new_relic/control/frameworks/rails.rb +30 -18
  214. data/lib/new_relic/control/instance_methods.rb +5 -5
  215. data/lib/new_relic/control/instrumentation.rb +1 -15
  216. data/lib/new_relic/control/private_instance_methods.rb +1 -1
  217. data/lib/new_relic/dependency_detection.rb +14 -18
  218. data/lib/new_relic/environment_report.rb +4 -4
  219. data/lib/new_relic/helper.rb +2 -1
  220. data/lib/new_relic/language_support.rb +1 -1
  221. data/lib/new_relic/latest_changes.rb +5 -5
  222. data/lib/new_relic/noticed_error.rb +20 -18
  223. data/lib/new_relic/rack/browser_monitoring.rb +20 -16
  224. data/lib/new_relic/recipes/capistrano3.rb +1 -1
  225. data/lib/new_relic/recipes/capistrano_legacy.rb +6 -6
  226. data/lib/new_relic/recipes/helpers/send_deployment.rb +5 -5
  227. data/lib/new_relic/supportability_helper.rb +2 -0
  228. data/lib/new_relic/version.rb +2 -2
  229. data/lib/newrelic_rpm.rb +3 -3
  230. data/lib/sequel/extensions/new_relic_instrumentation.rb +3 -3
  231. data/lib/sequel/plugins/new_relic_instrumentation.rb +1 -1
  232. data/lib/tasks/config.rake +12 -12
  233. data/lib/tasks/coverage_report.rake +4 -4
  234. data/lib/tasks/helpers/format.rb +9 -9
  235. data/lib/tasks/helpers/removers.rb +5 -5
  236. data/lib/tasks/install.rake +4 -4
  237. data/lib/tasks/instrumentation_generator/instrumentation.thor +8 -8
  238. data/lib/tasks/instrumentation_generator/templates/chain.tt +1 -1
  239. data/lib/tasks/instrumentation_generator/templates/dependency_detection.tt +1 -1
  240. data/lib/tasks/multiverse.rb +13 -6
  241. data/lib/tasks/newrelic.rb +1 -0
  242. data/lib/tasks/tests.rake +6 -6
  243. data/newrelic.yml +5 -5
  244. data/newrelic_rpm.gemspec +13 -13
  245. data/test/agent_helper.rb +25 -24
  246. metadata +73 -4
  247. data/lib/new_relic/agent/range_extensions.rb +0 -27
@@ -14,30 +14,6 @@ module NewRelic
14
14
  end
15
15
  end
16
16
 
17
- # Combines potentially two properties into one.
18
- # Given the example:
19
- # :disable_net_http and :prepend_net_instrumentation
20
- # if :disable_net_http is true, then returned value is "disabled"
21
- # if :prepend_net_instrumentation is false, then returned value is "chain"
22
- # otherwise, "auto" is returned.
23
- #
24
- # Intent is:
25
- # - if user sets disable_xxx property, then don't instrument
26
- # - if user set prepend to `false` then we use method_alias chaining
27
- # - auto, when returned means, try to use prepend unless conflicting gems discovered
28
- #
29
- def self.instrumentation_value_of(disable_key, prepend_key = nil)
30
- proc do
31
- if NewRelic::Agent.config[disable_key]
32
- "disabled"
33
- elsif prepend_key && !NewRelic::Agent.config[prepend_key]
34
- "chain"
35
- else
36
- "auto"
37
- end
38
- end
39
- end
40
-
41
17
  def self.instrumentation_value_from_boolean(key)
42
18
  proc do
43
19
  NewRelic::Agent.config[key] ? 'auto' : 'disabled'
@@ -47,7 +23,7 @@ module NewRelic
47
23
  # Marks the config option as deprecated in the documentation once generated.
48
24
  # Does not appear in logs.
49
25
  def self.deprecated_description(new_setting, description)
50
- link_ref = new_setting.to_s.tr(".", "-")
26
+ link_ref = new_setting.to_s.tr('.', '-')
51
27
  %{Please see: [#{new_setting}](docs/agents/ruby-agent/configuration/ruby-agent-configuration##{link_ref}). \n\n#{description}}
52
28
  end
53
29
 
@@ -80,34 +56,35 @@ module NewRelic
80
56
  default_settings[:transform] if default_settings
81
57
  end
82
58
 
83
- def self.config_search_paths
59
+ def self.config_search_paths # rubocop:disable Metrics/AbcSize
84
60
  proc {
85
- paths = [
86
- File.join("config", "newrelic.yml"),
87
- File.join("newrelic.yml"),
88
- File.join("config", "newrelic.yml.erb"),
89
- File.join("newrelic.yml.erb")
90
- ]
61
+ yaml = 'newrelic.yml'
62
+ config_yaml = File.join('config', yaml)
63
+ erb = 'newrelic.yml.erb'
64
+ config_erb = File.join('config', erb)
65
+
66
+ paths = [config_yaml, yaml, config_erb, erb]
91
67
 
92
68
  if NewRelic::Control.instance.root
93
- paths << File.join(NewRelic::Control.instance.root, "config", "newrelic.yml")
94
- paths << File.join(NewRelic::Control.instance.root, "newrelic.yml")
95
- paths << File.join(NewRelic::Control.instance.root, "config", "newrelic.yml.erb")
96
- paths << File.join(NewRelic::Control.instance.root, "newrelic.yml.erb")
69
+ paths << File.join(NewRelic::Control.instance.root, config_yaml)
70
+ paths << File.join(NewRelic::Control.instance.root, yaml)
71
+ paths << File.join(NewRelic::Control.instance.root, config_erb)
72
+ paths << File.join(NewRelic::Control.instance.root, erb)
97
73
  end
98
74
 
99
75
  if ENV['HOME']
100
- paths << File.join(ENV['HOME'], ".newrelic", "newrelic.yml")
101
- paths << File.join(ENV['HOME'], "newrelic.yml")
102
- paths << File.join(ENV['HOME'], ".newrelic", "newrelic.yml.erb")
103
- paths << File.join(ENV['HOME'], "newrelic.yml.erb")
76
+ paths << File.join(ENV['HOME'], '.newrelic', yaml)
77
+ paths << File.join(ENV['HOME'], yaml)
78
+ paths << File.join(ENV['HOME'], '.newrelic', erb)
79
+ paths << File.join(ENV['HOME'], erb)
104
80
  end
105
81
 
106
82
  # If we're packaged for warbler, we can tell from GEM_HOME
107
- if ENV["GEM_HOME"] && ENV["GEM_HOME"].end_with?(".jar!")
108
- app_name = File.basename(ENV["GEM_HOME"], ".jar!")
109
- paths << File.join(ENV["GEM_HOME"], app_name, "config", "newrelic.yml")
110
- paths << File.join(ENV["GEM_HOME"], app_name, "config", "newrelic.yml.erb")
83
+ # the following line needs else branch coverage
84
+ if ENV['GEM_HOME'] && ENV['GEM_HOME'].end_with?('.jar!') # rubocop:disable Style/SafeNavigation
85
+ app_name = File.basename(ENV['GEM_HOME'], '.jar!')
86
+ paths << File.join(ENV['GEM_HOME'], app_name, config_yaml)
87
+ paths << File.join(ENV['GEM_HOME'], app_name, config_erb)
111
88
  end
112
89
 
113
90
  paths
@@ -206,11 +183,11 @@ module NewRelic
206
183
  # only used for deployment task
207
184
  proc do
208
185
  api_version = if NewRelic::Agent.config[:api_key].nil? || NewRelic::Agent.config[:api_key].empty?
209
- "rpm"
186
+ 'rpm'
210
187
  else
211
- "api"
188
+ 'api'
212
189
  end
213
- api_region = "eu." if String(NewRelic::Agent.config[:license_key]).start_with?('eu')
190
+ api_region = 'eu.' if String(NewRelic::Agent.config[:license_key]).start_with?('eu')
214
191
 
215
192
  "#{api_version}.#{api_region}newrelic.com"
216
193
  end
@@ -341,7 +318,7 @@ module NewRelic
341
318
  :public => true,
342
319
  :type => String,
343
320
  :allowed_from_server => false,
344
- :description => 'Your New Relic <LicenseKey />.'
321
+ :description => 'Your New Relic <InlinePopover type="licenseKey" />.'
345
322
  },
346
323
  :log_level => {
347
324
  :default => 'info',
@@ -376,7 +353,7 @@ module NewRelic
376
353
  :public => true,
377
354
  :type => String,
378
355
  :allowed_from_server => false,
379
- :description => 'Your New Relic [user key](/docs/apis/intro-apis/new-relic-api-keys/#overview-keys). Required when using the New Relic REST API v2 to record deployments using the `newrelic deployments` command.'
356
+ :description => 'Your New Relic <InlinePopover type="userKey" />. Required when using the New Relic REST API v2 to record deployments using the `newrelic deployments` command.'
380
357
  },
381
358
  :backport_fast_active_record_connection_lookup => {
382
359
  :default => false,
@@ -409,7 +386,7 @@ module NewRelic
409
386
  When `true`, the agent captures HTTP request parameters and attaches them to transaction traces, traced errors, and [`TransactionError` events](/attribute-dictionary?attribute_name=&events_tids%5B%5D=8241).
410
387
 
411
388
  <Callout variant="caution">
412
- When using the `capture_params` setting, the Ruby agent will not attempt to filter secret information. <b>Recommendation:</b> To filter secret information from request parameters, use the [`attributes.include` setting](/docs/agents/ruby-agent/attributes/enable-disable-attributes-ruby) instead. For more information, see the <a href="/docs/agents/ruby-agent/attributes/ruby-attribute-examples#ex_req_params">Ruby attribute examples</a>.
389
+ When using the `capture_params` setting, the Ruby agent will not attempt to filter secret information. `Recommendation:` To filter secret information from request parameters, use the [`attributes.include` setting](/docs/agents/ruby-agent/attributes/enable-disable-attributes-ruby) instead. For more information, see the <a href="/docs/agents/ruby-agent/attributes/ruby-attribute-examples#ex_req_params">Ruby attribute examples</a>.
413
390
  </Callout>
414
391
  DESCRIPTION
415
392
  },
@@ -425,14 +402,20 @@ module NewRelic
425
402
  :public => true,
426
403
  :type => String,
427
404
  :allowed_from_server => false,
428
- :description => 'Path to <b>newrelic.yml</b>. If undefined, the agent checks the following directories (in order): <b>config/newrelic.yml</b>, <b>newrelic.yml</b>, <b>$HOME/.newrelic/newrelic.yml</b> and <b>$HOME/newrelic.yml</b>.'
405
+ :description => <<~DESC
406
+ Path to `newrelic.yml`. If undefined, the agent checks the following directories (in order):
407
+ * `config/newrelic.yml`
408
+ * `newrelic.yml`
409
+ * `$HOME/.newrelic/newrelic.yml`
410
+ * `$HOME/newrelic.yml`
411
+ DESC
429
412
  },
430
413
  :'exclude_newrelic_header' => {
431
414
  :default => false,
432
415
  :public => true,
433
416
  :type => Boolean,
434
417
  :allowed_from_server => true,
435
- :description => "Allows newrelic distributed tracing headers to be suppressed on outbound requests."
418
+ :description => 'Allows newrelic distributed tracing headers to be suppressed on outbound requests.'
436
419
  },
437
420
  :force_install_exit_handler => {
438
421
  :default => false,
@@ -645,7 +628,7 @@ module NewRelic
645
628
  :type => Boolean,
646
629
  :allowed_from_server => true,
647
630
  :dynamic_name => true,
648
- :description => 'If `true`, the agent collects [TransactionError events](/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights).'
631
+ :description => 'If `true`, the agent collects [`TransactionError` events](/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights).'
649
632
  },
650
633
  :'error_collector.enabled' => {
651
634
  :default => true,
@@ -725,7 +708,7 @@ module NewRelic
725
708
  :public => true,
726
709
  :type => Integer,
727
710
  :allowed_from_server => true,
728
- :description => 'Defines the maximum number of [TransactionError events](/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights) reported per harvest cycle.'
711
+ :description => 'Defines the maximum number of [`TransactionError` events](/docs/insights/new-relic-insights/decorating-events/error-event-default-attributes-insights) reported per harvest cycle.'
729
712
  },
730
713
  # Browser monitoring
731
714
  :'browser_monitoring.auto_instrument' => {
@@ -959,12 +942,12 @@ module NewRelic
959
942
  :description => 'If `true`, enables an audit log which logs communications with the New Relic [collector](/docs/using-new-relic/welcome-new-relic/get-started/glossary/#collector).'
960
943
  },
961
944
  :'audit_log.endpoints' => {
962
- :default => [".*"],
945
+ :default => ['.*'],
963
946
  :public => true,
964
947
  :type => Array,
965
948
  :allowed_from_server => false,
966
949
  :transform => DefaultSource.method(:convert_to_regexp_list),
967
- :description => 'List of allowed endpoints to include in audit log'
950
+ :description => 'List of allowed endpoints to include in audit log.'
968
951
  },
969
952
  :'audit_log.path' => {
970
953
  :default => DefaultSource.audit_log_path,
@@ -980,21 +963,21 @@ module NewRelic
980
963
  :public => true,
981
964
  :type => String,
982
965
  :allowed_from_server => false,
983
- :description => 'Specify a list of constants that should prevent the agent from starting automatically. Separate individual constants with a comma `,`. For example, `Rails::Console,UninstrumentedBackgroundJob`.'
966
+ :description => 'Specify a list of constants that should prevent the agent from starting automatically. Separate individual constants with a comma `,`. For example, `"Rails::Console,UninstrumentedBackgroundJob"`.'
984
967
  },
985
968
  :'autostart.denylisted_executables' => {
986
969
  :default => 'irb,rspec',
987
970
  :public => true,
988
971
  :type => String,
989
972
  :allowed_from_server => false,
990
- :description => 'Defines a comma-delimited list of executables that the agent should not instrument. For example, `rake,my_ruby_script.rb`.'
973
+ :description => 'Defines a comma-delimited list of executables that the agent should not instrument. For example, `"rake,my_ruby_script.rb"`.'
991
974
  },
992
975
  :'autostart.denylisted_rake_tasks' => {
993
976
  :default => AUTOSTART_DENYLISTED_RAKE_TASKS,
994
977
  :public => true,
995
978
  :type => String,
996
979
  :allowed_from_server => false,
997
- :description => 'Defines a comma-delimited list of Rake tasks that the agent should not instrument. For example, `assets:precompile,db:migrate`.'
980
+ :description => 'Defines a comma-delimited list of Rake tasks that the agent should not instrument. For example, `"assets:precompile,db:migrate"`.'
998
981
  },
999
982
  # Code level metrics
1000
983
  :'code_level_metrics.enabled' => {
@@ -1158,7 +1141,7 @@ module NewRelic
1158
1141
  :public => true,
1159
1142
  :type => Boolean,
1160
1143
  :allowed_from_server => false,
1161
- :description => 'If `true`, disables the use of GC::Profiler to measure time spent in garbage collection'
1144
+ :description => 'If `true`, disables the use of `GC::Profiler` to measure time spent in garbage collection'
1162
1145
  },
1163
1146
  :disable_memory_sampler => {
1164
1147
  :default => false,
@@ -1173,7 +1156,7 @@ module NewRelic
1173
1156
  :public => true,
1174
1157
  :type => Boolean,
1175
1158
  :allowed_from_server => false,
1176
- :description => 'If `true`, the agent won\'t wrap third-party middlewares in instrumentation (regardless of whether they are installed via Rack::Builder or Rails).'
1159
+ :description => 'If `true`, the agent won\'t wrap third-party middlewares in instrumentation (regardless of whether they are installed via `Rack::Builder` or Rails).'
1177
1160
  },
1178
1161
  :disable_samplers => {
1179
1162
  :default => false,
@@ -1209,7 +1192,7 @@ module NewRelic
1209
1192
 
1210
1193
  To continue using cross application tracing, update the following options in your `newrelic.yml` configuration file:
1211
1194
 
1212
- ```
1195
+ ```yaml
1213
1196
  # newrelic.yml
1214
1197
 
1215
1198
  cross_application_tracer:
@@ -1272,7 +1255,7 @@ module NewRelic
1272
1255
  :type => Array,
1273
1256
  :allowed_from_server => false,
1274
1257
  :transform => DefaultSource.method(:convert_to_list),
1275
- :description => 'Ordinarily the agent reports dyno names with a trailing dot and process ID (for example, <b>worker.3</b>). You can remove this trailing data by specifying the prefixes you want to report without trailing data (for example, <b>worker</b>).'
1258
+ :description => 'Ordinarily the agent reports dyno names with a trailing dot and process ID (for example, `worker.3`). You can remove this trailing data by specifying the prefixes you want to report without trailing data (for example, `worker`).'
1276
1259
  },
1277
1260
  # Infinite tracing
1278
1261
  :'infinite_tracing.trace_observer.host' => {
@@ -1281,10 +1264,10 @@ module NewRelic
1281
1264
  :type => String,
1282
1265
  :allowed_from_server => false,
1283
1266
  :external => :infinite_tracing,
1284
- :description => "Configures the hostname for the trace observer Host. " \
1285
- "When configured, enables tail-based sampling by sending all recorded spans " \
1286
- "to a trace observer for further sampling decisions, irrespective of any usual " \
1287
- "agent sampling decision."
1267
+ :description => 'Configures the hostname for the trace observer Host. ' \
1268
+ 'When configured, enables tail-based sampling by sending all recorded spans ' \
1269
+ 'to a trace observer for further sampling decisions, irrespective of any usual ' \
1270
+ 'agent sampling decision.'
1288
1271
  },
1289
1272
  :'infinite_tracing.trace_observer.port' => {
1290
1273
  :default => 443,
@@ -1292,7 +1275,7 @@ module NewRelic
1292
1275
  :type => Integer,
1293
1276
  :allowed_from_server => false,
1294
1277
  :external => :infinite_tracing,
1295
- :description => "Configures the TCP/IP port for the trace observer Host"
1278
+ :description => 'Configures the TCP/IP port for the trace observer Host'
1296
1279
  },
1297
1280
  # Instrumentation
1298
1281
  :'instrumentation.active_support_logger' => {
@@ -1302,7 +1285,7 @@ module NewRelic
1302
1285
  :public => true,
1303
1286
  :type => String,
1304
1287
  :allowed_from_server => false,
1305
- :description => 'Controls auto-instrumentation of ActiveSupport::Logger at start up. May be one of [auto|prepend|chain|disabled].'
1288
+ :description => 'Controls auto-instrumentation of `ActiveSupport::Logger` at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1306
1289
  },
1307
1290
  :'instrumentation.bunny' => {
1308
1291
  :default => 'auto',
@@ -1310,7 +1293,7 @@ module NewRelic
1310
1293
  :type => String,
1311
1294
  :dynamic_name => true,
1312
1295
  :allowed_from_server => false,
1313
- :description => 'Controls auto-instrumentation of bunny at start up. May be one of [auto|prepend|chain|disabled].'
1296
+ :description => 'Controls auto-instrumentation of bunny at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1314
1297
  },
1315
1298
  :'instrumentation.fiber' => {
1316
1299
  :default => 'auto',
@@ -1318,7 +1301,7 @@ module NewRelic
1318
1301
  :type => String,
1319
1302
  :dynamic_name => true,
1320
1303
  :allowed_from_server => false,
1321
- :description => 'Controls auto-instrumentation of the Fiber class at start up. May be one of [auto|prepend|chain|disabled].'
1304
+ :description => 'Controls auto-instrumentation of the Fiber class at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1322
1305
  },
1323
1306
  :'instrumentation.concurrent_ruby' => {
1324
1307
  :default => 'auto',
@@ -1326,7 +1309,7 @@ module NewRelic
1326
1309
  :type => String,
1327
1310
  :dynamic_name => true,
1328
1311
  :allowed_from_server => false,
1329
- :description => 'Controls auto-instrumentation of the concurrent-ruby library at start up. May be one of [auto|prepend|chain|disabled].'
1312
+ :description => 'Controls auto-instrumentation of the concurrent-ruby library at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1330
1313
  },
1331
1314
  :'instrumentation.curb' => {
1332
1315
  :default => 'auto',
@@ -1335,7 +1318,7 @@ module NewRelic
1335
1318
  :type => String,
1336
1319
  :dynamic_name => true,
1337
1320
  :allowed_from_server => false,
1338
- :description => 'Controls auto-instrumentation of Curb at start up. May be one of [auto|prepend|chain|disabled].'
1321
+ :description => 'Controls auto-instrumentation of Curb at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1339
1322
  },
1340
1323
  :'instrumentation.delayed_job' => {
1341
1324
  :default => 'auto',
@@ -1344,7 +1327,7 @@ module NewRelic
1344
1327
  :type => String,
1345
1328
  :dynamic_name => true,
1346
1329
  :allowed_from_server => false,
1347
- :description => 'Controls auto-instrumentation of Delayed Job at start up. May be one of [auto|prepend|chain|disabled].'
1330
+ :description => 'Controls auto-instrumentation of Delayed Job at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1348
1331
  },
1349
1332
  :'instrumentation.elasticsearch' => {
1350
1333
  :default => 'auto',
@@ -1352,7 +1335,7 @@ module NewRelic
1352
1335
  :type => String,
1353
1336
  :dynamic_name => true,
1354
1337
  :allowed_from_server => false,
1355
- :description => 'Controls auto-instrumentation of the elasticsearch library at start up. May be one of [auto|prepend|chain|disabled].'
1338
+ :description => 'Controls auto-instrumentation of the elasticsearch library at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1356
1339
  },
1357
1340
  :'instrumentation.excon' => {
1358
1341
  :default => 'enabled',
@@ -1361,7 +1344,7 @@ module NewRelic
1361
1344
  :type => String,
1362
1345
  :dynamic_name => true,
1363
1346
  :allowed_from_server => false,
1364
- :description => "Controls auto-instrumentation of Excon at start up. May be one of [enabled|disabled]."
1347
+ :description => 'Controls auto-instrumentation of Excon at start up. May be one of: `enabled`, `disabled`.'
1365
1348
  },
1366
1349
  :'instrumentation.grape' => {
1367
1350
  :default => 'auto',
@@ -1369,16 +1352,16 @@ module NewRelic
1369
1352
  :type => String,
1370
1353
  :dynamic_name => true,
1371
1354
  :allowed_from_server => false,
1372
- :description => "Controls auto-instrumentation of Grape at start up. May be one of [auto|prepend|chain|disabled]."
1355
+ :description => 'Controls auto-instrumentation of Grape at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1373
1356
  },
1374
1357
  :'instrumentation.grpc_client' => {
1375
- :default => instrumentation_value_of(:disable_grpc_client),
1358
+ :default => 'auto',
1376
1359
  :documentation_default => 'auto',
1377
1360
  :public => true,
1378
1361
  :type => String,
1379
1362
  :dynamic_name => true,
1380
1363
  :allowed_from_server => false,
1381
- :description => 'Controls auto-instrumentation of gRPC clients at start up. May be one of [auto|prepend|chain|disabled].'
1364
+ :description => 'Controls auto-instrumentation of gRPC clients at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1382
1365
  },
1383
1366
  :'instrumentation.grpc.host_denylist' => {
1384
1367
  :default => [],
@@ -1386,16 +1369,16 @@ module NewRelic
1386
1369
  :type => Array,
1387
1370
  :allowed_from_server => false,
1388
1371
  :transform => DefaultSource.method(:convert_to_regexp_list),
1389
- :description => %Q(Specifies a list of hostname patterns separated by commas that will match gRPC hostnames that traffic is to be ignored by New Relic for. New Relic's gRPC client instrumentation will ignore traffic streamed to a host matching any of these patterns, and New Relic's gRPC server instrumentation will ignore traffic for a server running on a host whose hostname matches any of these patterns. By default, no traffic is ignored when gRPC instrumentation is itself enabled. For example, "private.com$,exception.*")
1372
+ :description => %Q(Specifies a list of hostname patterns separated by commas that will match gRPC hostnames that traffic is to be ignored by New Relic for. New Relic's gRPC client instrumentation will ignore traffic streamed to a host matching any of these patterns, and New Relic's gRPC server instrumentation will ignore traffic for a server running on a host whose hostname matches any of these patterns. By default, no traffic is ignored when gRPC instrumentation is itself enabled. For example, `"private.com$,exception.*"`)
1390
1373
  },
1391
1374
  :'instrumentation.grpc_server' => {
1392
- :default => instrumentation_value_of(:disable_grpc_server),
1375
+ :default => 'auto',
1393
1376
  :documentation_default => 'auto',
1394
1377
  :public => true,
1395
1378
  :type => String,
1396
1379
  :dynamic_name => true,
1397
1380
  :allowed_from_server => false,
1398
- :description => 'Controls auto-instrumentation of gRPC servers at start up. May be one of [auto|prepend|chain|disabled].'
1381
+ :description => 'Controls auto-instrumentation of gRPC servers at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1399
1382
  },
1400
1383
  :'instrumentation.httpclient' => {
1401
1384
  :default => 'auto',
@@ -1404,7 +1387,7 @@ module NewRelic
1404
1387
  :type => String,
1405
1388
  :dynamic_name => true,
1406
1389
  :allowed_from_server => false,
1407
- :description => "Controls auto-instrumentation of HTTPClient at start up. May be one of [auto|prepend|chain|disabled]."
1390
+ :description => 'Controls auto-instrumentation of HTTPClient at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1408
1391
  },
1409
1392
  :'instrumentation.httprb' => {
1410
1393
  :default => 'auto',
@@ -1413,7 +1396,7 @@ module NewRelic
1413
1396
  :type => String,
1414
1397
  :dynamic_name => true,
1415
1398
  :allowed_from_server => false,
1416
- :description => 'Controls auto-instrumentation of http.rb gem at start up. May be one of [auto|prepend|chain|disabled].'
1399
+ :description => 'Controls auto-instrumentation of http.rb gem at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1417
1400
  },
1418
1401
  :'instrumentation.logger' => {
1419
1402
  :default => instrumentation_value_from_boolean(:'application_logging.enabled'),
@@ -1422,7 +1405,7 @@ module NewRelic
1422
1405
  :type => String,
1423
1406
  :dynamic_name => true,
1424
1407
  :allowed_from_server => false,
1425
- :description => 'Controls auto-instrumentation of Ruby standard library Logger at start up. May be one of [auto|prepend|chain|disabled].'
1408
+ :description => 'Controls auto-instrumentation of Ruby standard library Logger at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1426
1409
  },
1427
1410
  :'instrumentation.memcache' => {
1428
1411
  :default => 'auto',
@@ -1430,7 +1413,7 @@ module NewRelic
1430
1413
  :type => String,
1431
1414
  :dynamic_name => true,
1432
1415
  :allowed_from_server => false,
1433
- :description => 'Controls auto-instrumentation of dalli gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
1416
+ :description => 'Controls auto-instrumentation of dalli gem for Memcache at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1434
1417
  },
1435
1418
  :'instrumentation.memcached' => {
1436
1419
  :default => 'auto',
@@ -1439,16 +1422,16 @@ module NewRelic
1439
1422
  :type => String,
1440
1423
  :dynamic_name => true,
1441
1424
  :allowed_from_server => false,
1442
- :description => 'Controls auto-instrumentation of memcached gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
1425
+ :description => 'Controls auto-instrumentation of memcached gem for Memcache at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1443
1426
  },
1444
1427
  :'instrumentation.memcache_client' => {
1445
- :default => instrumentation_value_of(:disable_memcache_client),
1428
+ :default => 'auto',
1446
1429
  :documentation_default => 'auto',
1447
1430
  :public => true,
1448
1431
  :type => String,
1449
1432
  :dynamic_name => true,
1450
1433
  :allowed_from_server => false,
1451
- :description => 'Controls auto-instrumentation of memcache-client gem for Memcache at start up. May be one of [auto|prepend|chain|disabled].'
1434
+ :description => 'Controls auto-instrumentation of memcache-client gem for Memcache at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1452
1435
  },
1453
1436
  :'instrumentation.mongo' => {
1454
1437
  :default => 'enabled',
@@ -1457,7 +1440,7 @@ module NewRelic
1457
1440
  :type => String,
1458
1441
  :dynamic_name => true,
1459
1442
  :allowed_from_server => false,
1460
- :description => "Controls auto-instrumentation of Mongo at start up. May be one of [enabled|disabled]."
1443
+ :description => 'Controls auto-instrumentation of Mongo at start up. May be one of: `enabled`, `disabled`.'
1461
1444
  },
1462
1445
  :'instrumentation.net_http' => {
1463
1446
  :default => 'auto',
@@ -1466,7 +1449,7 @@ module NewRelic
1466
1449
  :type => String,
1467
1450
  :dynamic_name => true,
1468
1451
  :allowed_from_server => false,
1469
- :description => "Controls auto-instrumentation of Net::HTTP at start up. May be one of [auto|prepend|chain|disabled]."
1452
+ :description => 'Controls auto-instrumentation of `Net::HTTP` at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1470
1453
  },
1471
1454
  :'instrumentation.puma_rack' => {
1472
1455
  :default => value_of(:'instrumentation.rack'),
@@ -1475,9 +1458,9 @@ module NewRelic
1475
1458
  :type => String,
1476
1459
  :dynamic_name => true,
1477
1460
  :allowed_from_server => false,
1478
- :description => "Controls auto-instrumentation of Puma::Rack. When enabled, the agent hooks into the " \
1479
- "`to_app` method in Puma::Rack::Builder to find gems to instrument during " \
1480
- "application startup. May be one of [auto|prepend|chain|disabled]."
1461
+ :description => 'Controls auto-instrumentation of `Puma::Rack`. When enabled, the agent hooks into the ' \
1462
+ '`to_app` method in `Puma::Rack::Builder` to find gems to instrument during ' \
1463
+ 'application startup. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1481
1464
  },
1482
1465
  :'instrumentation.puma_rack_urlmap' => {
1483
1466
  :default => value_of(:'instrumentation.rack_urlmap'),
@@ -1486,7 +1469,7 @@ module NewRelic
1486
1469
  :type => String,
1487
1470
  :dynamic_name => true,
1488
1471
  :allowed_from_server => false,
1489
- :description => 'Controls auto-instrumentation of Puma::Rack::URLMap at start up. May be one of [auto|prepend|chain|disabled].'
1472
+ :description => 'Controls auto-instrumentation of `Puma::Rack::URLMap` at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1490
1473
  },
1491
1474
  :'instrumentation.rack' => {
1492
1475
  :default => 'auto',
@@ -1495,9 +1478,9 @@ module NewRelic
1495
1478
  :type => String,
1496
1479
  :dynamic_name => true,
1497
1480
  :allowed_from_server => false,
1498
- :description => "Controls auto-instrumentation of Rack. When enabled, the agent hooks into the " \
1499
- "`to_app` method in Rack::Builder to find gems to instrument during " \
1500
- "application startup. May be one of [auto|prepend|chain|disabled]."
1481
+ :description => 'Controls auto-instrumentation of Rack. When enabled, the agent hooks into the ' \
1482
+ '`to_app` method in `Rack::Builder` to find gems to instrument during ' \
1483
+ 'application startup. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1501
1484
  },
1502
1485
  :'instrumentation.rack_urlmap' => {
1503
1486
  :default => 'auto',
@@ -1506,7 +1489,7 @@ module NewRelic
1506
1489
  :type => String,
1507
1490
  :dynamic_name => true,
1508
1491
  :allowed_from_server => false,
1509
- :description => 'Controls auto-instrumentation of Rack::URLMap at start up. May be one of [auto|prepend|chain|disabled].'
1492
+ :description => 'Controls auto-instrumentation of `Rack::URLMap` at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1510
1493
  },
1511
1494
  :'instrumentation.rake' => {
1512
1495
  :default => 'auto',
@@ -1514,7 +1497,7 @@ module NewRelic
1514
1497
  :type => String,
1515
1498
  :dynamic_name => true,
1516
1499
  :allowed_from_server => false,
1517
- :description => "Controls auto-instrumentation of rake at start up. May be one of [auto|prepend|chain|disabled]."
1500
+ :description => 'Controls auto-instrumentation of rake at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1518
1501
  },
1519
1502
  :'instrumentation.redis' => {
1520
1503
  :default => 'auto',
@@ -1522,7 +1505,7 @@ module NewRelic
1522
1505
  :type => String,
1523
1506
  :dynamic_name => true,
1524
1507
  :allowed_from_server => false,
1525
- :description => "Controls auto-instrumentation of Redis at start up. May be one of [auto|prepend|chain|disabled]."
1508
+ :description => 'Controls auto-instrumentation of Redis at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1526
1509
  },
1527
1510
  :'instrumentation.resque' => {
1528
1511
  :default => 'auto',
@@ -1531,7 +1514,7 @@ module NewRelic
1531
1514
  :type => String,
1532
1515
  :dynamic_name => true,
1533
1516
  :allowed_from_server => false,
1534
- :description => "Controls auto-instrumentation of resque at start up. May be one of [auto|prepend|chain|disabled]."
1517
+ :description => 'Controls auto-instrumentation of resque at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1535
1518
  },
1536
1519
  :'instrumentation.sinatra' => {
1537
1520
  :default => 'auto',
@@ -1539,7 +1522,7 @@ module NewRelic
1539
1522
  :type => String,
1540
1523
  :dynamic_name => true,
1541
1524
  :allowed_from_server => false,
1542
- :description => "Controls auto-instrumentation of Sinatra at start up. May be one of [auto|prepend|chain|disabled]."
1525
+ :description => 'Controls auto-instrumentation of Sinatra at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1543
1526
  },
1544
1527
  :'instrumentation.thread' => {
1545
1528
  :default => 'auto',
@@ -1547,29 +1530,29 @@ module NewRelic
1547
1530
  :type => String,
1548
1531
  :dynamic_name => true,
1549
1532
  :allowed_from_server => false,
1550
- :description => "Controls auto-instrumentation of the Thread class at start up to allow the agent to correctly nest spans inside of an asynchronous transaction. This does not enable the agent to automatically trace all threads created (see `instrumentation.thread.tracing`). May be one of [auto|prepend|chain|disabled]."
1533
+ :description => 'Controls auto-instrumentation of the Thread class at start up to allow the agent to correctly nest spans inside of an asynchronous transaction. This does not enable the agent to automatically trace all threads created (see `instrumentation.thread.tracing`). May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1551
1534
  },
1552
1535
  :'instrumentation.thread.tracing' => {
1553
1536
  :default => true,
1554
1537
  :public => true,
1555
1538
  :type => Boolean,
1556
1539
  :allowed_from_server => false,
1557
- :description => "Controls auto-instrumentation of the Thread class at start up to automatically add tracing to all Threads created in the application."
1540
+ :description => 'Controls auto-instrumentation of the Thread class at start up to automatically add tracing to all Threads created in the application.'
1558
1541
  },
1559
1542
  :'thread_ids_enabled' => {
1560
1543
  :default => false,
1561
1544
  :public => false,
1562
1545
  :type => Boolean,
1563
1546
  :allowed_from_server => false,
1564
- :description => "If enabled, will append the current Thread and Fiber object ids onto the segment names of segments created in Threads and concurrent-ruby"
1547
+ :description => 'If enabled, will append the current Thread and Fiber object ids onto the segment names of segments created in Threads and concurrent-ruby'
1565
1548
  },
1566
1549
  :'instrumentation.tilt' => {
1567
- :default => "auto",
1550
+ :default => 'auto',
1568
1551
  :public => true,
1569
1552
  :type => String,
1570
1553
  :dynamic_name => true,
1571
1554
  :allowed_from_server => false,
1572
- :description => 'Controls auto-instrumentation of the Tilt template rendering library at start up. May be one of [auto|prepend|chain|disabled].'
1555
+ :description => 'Controls auto-instrumentation of the Tilt template rendering library at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1573
1556
  },
1574
1557
  :'instrumentation.typhoeus' => {
1575
1558
  :default => 'auto',
@@ -1578,7 +1561,7 @@ module NewRelic
1578
1561
  :type => String,
1579
1562
  :dynamic_name => true,
1580
1563
  :allowed_from_server => false,
1581
- :description => "Controls auto-instrumentation of Typhoeus at start up. May be one of [auto|prepend|chain|disabled]."
1564
+ :description => 'Controls auto-instrumentation of Typhoeus at start up. May be one of: `auto`, `prepend`, `chain`, `disabled`.'
1582
1565
  },
1583
1566
  # Message tracer
1584
1567
  :'message_tracer.segment_parameters.enabled' => {
@@ -1686,14 +1669,14 @@ module NewRelic
1686
1669
  :public => true,
1687
1670
  :type => String,
1688
1671
  :allowed_from_server => true,
1689
- :description => 'Defines an obfuscation level for slow SQL queries. Valid options are `obfuscated`, `raw`, or `none`).'
1672
+ :description => 'Defines an obfuscation level for slow SQL queries. Valid options are `obfuscated`, `raw`, or `none`.'
1690
1673
  },
1691
1674
  :'slow_sql.use_longer_sql_id' => {
1692
1675
  :default => false,
1693
1676
  :public => true,
1694
1677
  :type => Boolean,
1695
1678
  :allowed_from_server => true,
1696
- :description => 'Generate a longer sql_id for slow SQL traces. sql_id is used for aggregation of similar queries.'
1679
+ :description => 'Generate a longer `sql_id` for slow SQL traces. `sql_id` is used for aggregation of similar queries.'
1697
1680
  },
1698
1681
  # Span events
1699
1682
  :'span_events.enabled' => {
@@ -1709,14 +1692,14 @@ module NewRelic
1709
1692
  :type => Integer,
1710
1693
  :allowed_from_server => false,
1711
1694
  :external => :infinite_tracing,
1712
- :description => "Sets the maximum number of span events to buffer when streaming to the trace observer."
1695
+ :description => 'Sets the maximum number of span events to buffer when streaming to the trace observer.'
1713
1696
  },
1714
1697
  :'span_events.max_samples_stored' => {
1715
1698
  :default => 2000,
1716
1699
  :public => true,
1717
1700
  :type => Integer,
1718
1701
  :allowed_from_server => true,
1719
- :description => 'Defines the maximum number of span events reported from a single harvest. Any Integer between 1 and 10000 is valid.'
1702
+ :description => 'Defines the maximum number of span events reported from a single harvest. Any Integer between `1` and `10000` is valid.'
1720
1703
  },
1721
1704
  # Strip exception messages
1722
1705
  :'strip_exception_messages.enabled' => {
@@ -2016,7 +1999,7 @@ module NewRelic
2016
1999
  :public => false,
2017
2000
  :type => String,
2018
2001
  :allowed_from_server => false,
2019
- :description => "URI for the New Relic data collection service."
2002
+ :description => 'URI for the New Relic data collection service.'
2020
2003
  },
2021
2004
  :'infinite_tracing.batching' => {
2022
2005
  :default => true,
@@ -2024,8 +2007,8 @@ module NewRelic
2024
2007
  :type => Boolean,
2025
2008
  :allowed_from_server => false,
2026
2009
  :external => :infinite_tracing,
2027
- :description => "If `true` (the default), data sent to the trace observer is batched\ninstead of sending " \
2028
- "each span individually."
2010
+ :description => 'If `true` (the default), data sent to the trace observer is batched instead of ' \
2011
+ 'sending each span individually.'
2029
2012
  },
2030
2013
  :'infinite_tracing.compression_level' => {
2031
2014
  :default => :high,
@@ -2033,8 +2016,13 @@ module NewRelic
2033
2016
  :type => Symbol,
2034
2017
  :allowed_from_server => false,
2035
2018
  :external => :infinite_tracing,
2036
- :description => "Configure the compression level for data sent to the trace observer\nMay be one of " \
2037
- "[none|low|medium|high]\n'high' is the default. Set the level to 'none' to disable compression"
2019
+ :description => <<~DESC
2020
+ Configure the compression level for data sent to the trace observer.
2021
+
2022
+ May be one of: `:none`, `:low`, `:medium`, `:high`.
2023
+
2024
+ Set the level to `:none` to disable compression.
2025
+ DESC
2038
2026
  },
2039
2027
  :js_agent_file => {
2040
2028
  :default => '',