newrelic_rpm 3.12.0.288 → 9.10.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1319) hide show
  1. checksums.yaml +5 -5
  2. data/.build_ignore +26 -0
  3. data/CHANGELOG.md +5681 -0
  4. data/CONTRIBUTING.md +194 -0
  5. data/Gemfile +5 -2
  6. data/LICENSE +201 -150
  7. data/README.md +87 -143
  8. data/Rakefile +39 -55
  9. data/THIRD_PARTY_NOTICES.md +28 -0
  10. data/Thorfile +5 -0
  11. data/bin/newrelic +4 -9
  12. data/bin/newrelic_rpm +15 -0
  13. data/bin/nrdebug +86 -63
  14. data/init.rb +7 -9
  15. data/install.rb +3 -3
  16. data/lib/boot/strap.rb +101 -0
  17. data/lib/new_relic/agent/adaptive_sampler.rb +108 -0
  18. data/lib/new_relic/agent/agent.rb +158 -1000
  19. data/lib/new_relic/agent/agent_helpers/connect.rb +224 -0
  20. data/lib/new_relic/agent/agent_helpers/harvest.rb +153 -0
  21. data/lib/new_relic/agent/agent_helpers/shutdown.rb +72 -0
  22. data/lib/new_relic/agent/agent_helpers/special_startup.rb +74 -0
  23. data/lib/new_relic/agent/agent_helpers/start_worker_thread.rb +175 -0
  24. data/lib/new_relic/agent/agent_helpers/startup.rb +203 -0
  25. data/lib/new_relic/agent/agent_helpers/transmit.rb +76 -0
  26. data/lib/new_relic/agent/agent_logger.rb +39 -54
  27. data/lib/new_relic/agent/attribute_filter.rb +111 -35
  28. data/lib/new_relic/agent/attribute_pre_filtering.rb +109 -0
  29. data/lib/new_relic/agent/attribute_processing.rb +12 -12
  30. data/lib/new_relic/agent/attributes.rb +153 -0
  31. data/lib/new_relic/agent/audit_logger.rb +23 -7
  32. data/lib/new_relic/agent/autostart.rb +36 -47
  33. data/lib/new_relic/agent/aws.rb +62 -0
  34. data/lib/new_relic/agent/chained_call.rb +2 -2
  35. data/lib/new_relic/agent/commands/agent_command.rb +5 -5
  36. data/lib/new_relic/agent/commands/agent_command_router.rb +18 -35
  37. data/lib/new_relic/agent/commands/thread_profiler_session.rb +20 -19
  38. data/lib/new_relic/agent/configuration/default_source.rb +1903 -823
  39. data/lib/new_relic/agent/configuration/dotted_hash.rb +7 -8
  40. data/lib/new_relic/agent/configuration/environment_source.rb +26 -14
  41. data/lib/new_relic/agent/configuration/event_harvest_config.rb +68 -0
  42. data/lib/new_relic/agent/configuration/high_security_source.rb +15 -15
  43. data/lib/new_relic/agent/configuration/manager.rb +143 -114
  44. data/lib/new_relic/agent/configuration/manual_source.rb +2 -2
  45. data/lib/new_relic/agent/configuration/mask_defaults.rb +4 -4
  46. data/lib/new_relic/agent/configuration/security_policy_source.rb +246 -0
  47. data/lib/new_relic/agent/configuration/server_source.rb +70 -27
  48. data/lib/new_relic/agent/configuration/yaml_source.rb +85 -35
  49. data/lib/new_relic/agent/configuration.rb +2 -2
  50. data/lib/new_relic/agent/connect/request_builder.rb +61 -0
  51. data/lib/new_relic/agent/connect/response_handler.rb +58 -0
  52. data/lib/new_relic/agent/custom_event_aggregator.rb +68 -56
  53. data/lib/new_relic/agent/database/explain_plan_helpers.rb +138 -0
  54. data/lib/new_relic/agent/database/obfuscation_helpers.rb +73 -49
  55. data/lib/new_relic/agent/database/obfuscator.rb +7 -25
  56. data/lib/new_relic/agent/database/postgres_explain_obfuscator.rb +5 -8
  57. data/lib/new_relic/agent/database.rb +166 -202
  58. data/lib/new_relic/agent/database_adapter.rb +35 -0
  59. data/lib/new_relic/agent/datastores/metric_helper.rb +62 -22
  60. data/lib/new_relic/agent/datastores/mongo/event_formatter.rb +50 -0
  61. data/lib/new_relic/agent/datastores/mongo/metric_translator.rb +21 -31
  62. data/lib/new_relic/agent/datastores/mongo.rb +8 -12
  63. data/lib/new_relic/agent/datastores/nosql_obfuscator.rb +41 -0
  64. data/lib/new_relic/agent/datastores/redis.rb +125 -0
  65. data/lib/new_relic/agent/datastores.rb +45 -30
  66. data/lib/new_relic/agent/deprecator.rb +2 -2
  67. data/lib/new_relic/agent/distributed_tracing/cross_app_payload.rb +44 -0
  68. data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +253 -0
  69. data/lib/new_relic/agent/distributed_tracing/distributed_trace_attributes.rb +84 -0
  70. data/lib/new_relic/agent/distributed_tracing/distributed_trace_metrics.rb +75 -0
  71. data/lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb +159 -0
  72. data/lib/new_relic/agent/distributed_tracing/distributed_trace_transport_type.rb +38 -0
  73. data/lib/new_relic/agent/distributed_tracing/trace_context.rb +245 -0
  74. data/lib/new_relic/agent/distributed_tracing/trace_context_payload.rb +127 -0
  75. data/lib/new_relic/agent/distributed_tracing.rb +148 -0
  76. data/lib/new_relic/agent/encoding_normalizer.rb +9 -24
  77. data/lib/new_relic/agent/error_collector.rb +200 -142
  78. data/lib/new_relic/agent/error_event_aggregator.rb +41 -0
  79. data/lib/new_relic/agent/error_filter.rb +174 -0
  80. data/lib/new_relic/agent/error_trace_aggregator.rb +102 -0
  81. data/lib/new_relic/agent/event_aggregator.rb +150 -0
  82. data/lib/new_relic/agent/event_buffer.rb +15 -9
  83. data/lib/new_relic/agent/event_listener.rb +2 -3
  84. data/lib/new_relic/agent/event_loop.rb +28 -26
  85. data/lib/new_relic/agent/external.rb +110 -0
  86. data/lib/new_relic/agent/guid_generator.rb +30 -0
  87. data/lib/new_relic/agent/harvester.rb +7 -10
  88. data/lib/new_relic/agent/heap.rb +139 -0
  89. data/lib/new_relic/agent/hostname.rb +44 -5
  90. data/lib/new_relic/agent/http_clients/abstract.rb +73 -0
  91. data/lib/new_relic/agent/http_clients/async_http_wrappers.rb +80 -0
  92. data/lib/new_relic/agent/http_clients/curb_wrappers.rb +36 -24
  93. data/lib/new_relic/agent/http_clients/ethon_wrappers.rb +109 -0
  94. data/lib/new_relic/agent/http_clients/excon_wrappers.rb +49 -23
  95. data/lib/new_relic/agent/http_clients/http_rb_wrappers.rb +64 -0
  96. data/lib/new_relic/agent/http_clients/httpclient_wrappers.rb +29 -22
  97. data/lib/new_relic/agent/http_clients/httpx_wrappers.rb +91 -0
  98. data/lib/new_relic/agent/http_clients/net_http_wrappers.rb +39 -11
  99. data/lib/new_relic/agent/http_clients/typhoeus_wrappers.rb +30 -20
  100. data/lib/new_relic/agent/http_clients/uri_util.rb +23 -19
  101. data/lib/new_relic/agent/instrumentation/action_cable_subscriber.rb +47 -0
  102. data/lib/new_relic/agent/instrumentation/action_controller_other_subscriber.rb +42 -0
  103. data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +61 -74
  104. data/lib/new_relic/agent/instrumentation/action_dispatch.rb +31 -0
  105. data/lib/new_relic/agent/instrumentation/action_dispatch_subscriber.rb +64 -0
  106. data/lib/new_relic/agent/instrumentation/action_mailbox.rb +30 -0
  107. data/lib/new_relic/agent/instrumentation/action_mailbox_subscriber.rb +33 -0
  108. data/lib/new_relic/agent/instrumentation/action_mailer.rb +30 -0
  109. data/lib/new_relic/agent/instrumentation/action_mailer_subscriber.rb +85 -0
  110. data/lib/new_relic/agent/instrumentation/action_view_subscriber.rb +82 -66
  111. data/lib/new_relic/agent/instrumentation/active_job.rb +52 -20
  112. data/lib/new_relic/agent/instrumentation/active_job_subscriber.rb +41 -0
  113. data/lib/new_relic/agent/instrumentation/active_merchant.rb +21 -7
  114. data/lib/new_relic/agent/instrumentation/active_record.rb +112 -42
  115. data/lib/new_relic/agent/instrumentation/active_record_helper.rb +217 -56
  116. data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +156 -0
  117. data/lib/new_relic/agent/instrumentation/active_record_prepend.rb +98 -0
  118. data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +104 -59
  119. data/lib/new_relic/agent/instrumentation/active_storage.rb +27 -0
  120. data/lib/new_relic/agent/instrumentation/active_storage_subscriber.rb +38 -0
  121. data/lib/new_relic/agent/instrumentation/active_support.rb +27 -0
  122. data/lib/new_relic/agent/instrumentation/active_support_broadcast_logger/chain.rb +69 -0
  123. data/lib/new_relic/agent/instrumentation/active_support_broadcast_logger/instrumentation.rb +17 -0
  124. data/lib/new_relic/agent/instrumentation/active_support_broadcast_logger/prepend.rb +37 -0
  125. data/lib/new_relic/agent/instrumentation/active_support_broadcast_logger.rb +23 -0
  126. data/lib/new_relic/agent/instrumentation/active_support_logger/chain.rb +23 -0
  127. data/lib/new_relic/agent/instrumentation/active_support_logger/instrumentation.rb +24 -0
  128. data/lib/new_relic/agent/instrumentation/active_support_logger/prepend.rb +12 -0
  129. data/lib/new_relic/agent/instrumentation/active_support_logger.rb +26 -0
  130. data/lib/new_relic/agent/instrumentation/active_support_subscriber.rb +41 -0
  131. data/lib/new_relic/agent/instrumentation/async_http/chain.rb +23 -0
  132. data/lib/new_relic/agent/instrumentation/async_http/instrumentation.rb +37 -0
  133. data/lib/new_relic/agent/instrumentation/async_http/prepend.rb +15 -0
  134. data/lib/new_relic/agent/instrumentation/async_http.rb +28 -0
  135. data/lib/new_relic/agent/instrumentation/bunny/chain.rb +45 -0
  136. data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +159 -0
  137. data/lib/new_relic/agent/instrumentation/bunny/prepend.rb +35 -0
  138. data/lib/new_relic/agent/instrumentation/bunny.rb +32 -0
  139. data/lib/new_relic/agent/instrumentation/concurrent_ruby/chain.rb +36 -0
  140. data/lib/new_relic/agent/instrumentation/concurrent_ruby/instrumentation.rb +20 -0
  141. data/lib/new_relic/agent/instrumentation/concurrent_ruby/prepend.rb +27 -0
  142. data/lib/new_relic/agent/instrumentation/concurrent_ruby.rb +32 -0
  143. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +106 -74
  144. data/lib/new_relic/agent/instrumentation/curb/chain.rb +91 -0
  145. data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +225 -0
  146. data/lib/new_relic/agent/instrumentation/curb/prepend.rb +61 -0
  147. data/lib/new_relic/agent/instrumentation/curb.rb +16 -175
  148. data/lib/new_relic/agent/instrumentation/custom_events.rb +12 -0
  149. data/lib/new_relic/agent/instrumentation/custom_events_subscriber.rb +38 -0
  150. data/lib/new_relic/agent/instrumentation/delayed_job/chain.rb +36 -0
  151. data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +51 -0
  152. data/lib/new_relic/agent/instrumentation/delayed_job/prepend.rb +33 -0
  153. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +95 -36
  154. data/lib/new_relic/agent/instrumentation/dynamodb/chain.rb +27 -0
  155. data/lib/new_relic/agent/instrumentation/dynamodb/instrumentation.rb +64 -0
  156. data/lib/new_relic/agent/instrumentation/dynamodb/prepend.rb +19 -0
  157. data/lib/new_relic/agent/instrumentation/dynamodb.rb +25 -0
  158. data/lib/new_relic/agent/instrumentation/elasticsearch/chain.rb +29 -0
  159. data/lib/new_relic/agent/instrumentation/elasticsearch/instrumentation.rb +120 -0
  160. data/lib/new_relic/agent/instrumentation/elasticsearch/prepend.rb +13 -0
  161. data/lib/new_relic/agent/instrumentation/elasticsearch.rb +31 -0
  162. data/lib/new_relic/agent/instrumentation/ethon/chain.rb +39 -0
  163. data/lib/new_relic/agent/instrumentation/ethon/instrumentation.rb +105 -0
  164. data/lib/new_relic/agent/instrumentation/ethon/prepend.rb +35 -0
  165. data/lib/new_relic/agent/instrumentation/ethon.rb +39 -0
  166. data/lib/new_relic/agent/instrumentation/excon/middleware.rb +29 -16
  167. data/lib/new_relic/agent/instrumentation/excon.rb +29 -31
  168. data/lib/new_relic/agent/instrumentation/fiber/chain.rb +27 -0
  169. data/lib/new_relic/agent/instrumentation/fiber/instrumentation.rb +20 -0
  170. data/lib/new_relic/agent/instrumentation/fiber/prepend.rb +25 -0
  171. data/lib/new_relic/agent/instrumentation/fiber.rb +25 -0
  172. data/lib/new_relic/agent/instrumentation/grape/chain.rb +24 -0
  173. data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +104 -0
  174. data/lib/new_relic/agent/instrumentation/grape/prepend.rb +17 -0
  175. data/lib/new_relic/agent/instrumentation/grape.rb +18 -85
  176. data/lib/new_relic/agent/instrumentation/grpc/client/chain.rb +97 -0
  177. data/lib/new_relic/agent/instrumentation/grpc/client/instrumentation.rb +93 -0
  178. data/lib/new_relic/agent/instrumentation/grpc/client/prepend.rb +111 -0
  179. data/lib/new_relic/agent/instrumentation/grpc/client/request_wrapper.rb +30 -0
  180. data/lib/new_relic/agent/instrumentation/grpc/helper.rb +32 -0
  181. data/lib/new_relic/agent/instrumentation/grpc/server/chain.rb +69 -0
  182. data/lib/new_relic/agent/instrumentation/grpc/server/instrumentation.rb +138 -0
  183. data/lib/new_relic/agent/instrumentation/grpc/server/rpc_desc_prepend.rb +35 -0
  184. data/lib/new_relic/agent/instrumentation/grpc/server/rpc_server_prepend.rb +26 -0
  185. data/lib/new_relic/agent/instrumentation/grpc_client.rb +23 -0
  186. data/lib/new_relic/agent/instrumentation/grpc_server.rb +25 -0
  187. data/lib/new_relic/agent/instrumentation/httpclient/chain.rb +24 -0
  188. data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +41 -0
  189. data/lib/new_relic/agent/instrumentation/httpclient/prepend.rb +15 -0
  190. data/lib/new_relic/agent/instrumentation/httpclient.rb +14 -22
  191. data/lib/new_relic/agent/instrumentation/httprb/chain.rb +22 -0
  192. data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +34 -0
  193. data/lib/new_relic/agent/instrumentation/httprb/prepend.rb +15 -0
  194. data/lib/new_relic/agent/instrumentation/httprb.rb +29 -0
  195. data/lib/new_relic/agent/instrumentation/httpx/chain.rb +20 -0
  196. data/lib/new_relic/agent/instrumentation/httpx/instrumentation.rb +51 -0
  197. data/lib/new_relic/agent/instrumentation/httpx/prepend.rb +15 -0
  198. data/lib/new_relic/agent/instrumentation/httpx.rb +27 -0
  199. data/lib/new_relic/agent/instrumentation/ignore_actions.rb +6 -7
  200. data/lib/new_relic/agent/instrumentation/logger/chain.rb +21 -0
  201. data/lib/new_relic/agent/instrumentation/logger/instrumentation.rb +69 -0
  202. data/lib/new_relic/agent/instrumentation/logger/prepend.rb +13 -0
  203. data/lib/new_relic/agent/instrumentation/logger.rb +26 -0
  204. data/lib/new_relic/agent/instrumentation/memcache/chain.rb +15 -0
  205. data/lib/new_relic/agent/instrumentation/memcache/dalli.rb +97 -0
  206. data/lib/new_relic/agent/instrumentation/memcache/helper.rb +59 -0
  207. data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +99 -0
  208. data/lib/new_relic/agent/instrumentation/memcache/prepend.rb +103 -0
  209. data/lib/new_relic/agent/instrumentation/memcache.rb +53 -109
  210. data/lib/new_relic/agent/instrumentation/middleware_proxy.rb +17 -16
  211. data/lib/new_relic/agent/instrumentation/middleware_tracing.rb +48 -14
  212. data/lib/new_relic/agent/instrumentation/mongo.rb +14 -110
  213. data/lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb +140 -0
  214. data/lib/new_relic/agent/instrumentation/net_http/chain.rb +24 -0
  215. data/lib/new_relic/agent/instrumentation/net_http/instrumentation.rb +50 -0
  216. data/lib/new_relic/agent/instrumentation/net_http/prepend.rb +21 -0
  217. data/lib/new_relic/agent/instrumentation/net_http.rb +44 -0
  218. data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +146 -0
  219. data/lib/new_relic/agent/instrumentation/padrino/chain.rb +38 -0
  220. data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +32 -0
  221. data/lib/new_relic/agent/instrumentation/padrino/prepend.rb +20 -0
  222. data/lib/new_relic/agent/instrumentation/padrino.rb +21 -21
  223. data/lib/new_relic/agent/instrumentation/passenger_instrumentation.rb +7 -7
  224. data/lib/new_relic/agent/instrumentation/queue_time.rb +19 -22
  225. data/lib/new_relic/agent/instrumentation/rack/chain.rb +66 -0
  226. data/lib/new_relic/agent/instrumentation/rack/helpers.rb +33 -0
  227. data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +81 -0
  228. data/lib/new_relic/agent/instrumentation/rack/prepend.rb +43 -0
  229. data/lib/new_relic/agent/instrumentation/rack.rb +49 -152
  230. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +28 -55
  231. data/lib/new_relic/agent/instrumentation/rails_middleware.rb +5 -5
  232. data/lib/new_relic/agent/instrumentation/rails_notifications/action_cable.rb +36 -0
  233. data/lib/new_relic/agent/instrumentation/rails_notifications/action_controller.rb +46 -0
  234. data/lib/new_relic/agent/instrumentation/rails_notifications/action_view.rb +30 -0
  235. data/lib/new_relic/agent/instrumentation/rails_notifications/custom_events.rb +30 -0
  236. data/lib/new_relic/agent/instrumentation/rake/chain.rb +20 -0
  237. data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +146 -0
  238. data/lib/new_relic/agent/instrumentation/rake/prepend.rb +14 -0
  239. data/lib/new_relic/agent/instrumentation/rake.rb +31 -0
  240. data/lib/new_relic/agent/instrumentation/redis/chain.rb +45 -0
  241. data/lib/new_relic/agent/instrumentation/redis/constants.rb +17 -0
  242. data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +98 -0
  243. data/lib/new_relic/agent/instrumentation/redis/middleware.rb +16 -0
  244. data/lib/new_relic/agent/instrumentation/redis/prepend.rb +29 -0
  245. data/lib/new_relic/agent/instrumentation/redis.rb +44 -0
  246. data/lib/new_relic/agent/instrumentation/resque/chain.rb +21 -0
  247. data/lib/new_relic/agent/instrumentation/resque/helper.rb +19 -0
  248. data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +38 -0
  249. data/lib/new_relic/agent/instrumentation/resque/prepend.rb +15 -0
  250. data/lib/new_relic/agent/instrumentation/resque.rb +38 -78
  251. data/lib/new_relic/agent/instrumentation/roda/chain.rb +43 -0
  252. data/lib/new_relic/agent/instrumentation/roda/ignorer.rb +45 -0
  253. data/lib/new_relic/agent/instrumentation/roda/instrumentation.rb +68 -0
  254. data/lib/new_relic/agent/instrumentation/roda/prepend.rb +24 -0
  255. data/lib/new_relic/agent/instrumentation/roda/roda_transaction_namer.rb +29 -0
  256. data/lib/new_relic/agent/instrumentation/roda.rb +36 -0
  257. data/lib/new_relic/agent/instrumentation/ruby_openai/chain.rb +36 -0
  258. data/lib/new_relic/agent/instrumentation/ruby_openai/instrumentation.rb +196 -0
  259. data/lib/new_relic/agent/instrumentation/ruby_openai/prepend.rb +20 -0
  260. data/lib/new_relic/agent/instrumentation/ruby_openai.rb +35 -0
  261. data/lib/new_relic/agent/instrumentation/sequel.rb +17 -23
  262. data/lib/new_relic/agent/instrumentation/sequel_helper.rb +13 -13
  263. data/lib/new_relic/agent/instrumentation/sidekiq/client.rb +24 -0
  264. data/lib/new_relic/agent/instrumentation/sidekiq/extensions/delayed_class.rb +30 -0
  265. data/lib/new_relic/agent/instrumentation/sidekiq/server.rb +60 -0
  266. data/lib/new_relic/agent/instrumentation/sidekiq.rb +37 -45
  267. data/lib/new_relic/agent/instrumentation/sinatra/chain.rb +55 -0
  268. data/lib/new_relic/agent/instrumentation/sinatra/ignorer.rb +31 -37
  269. data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +130 -0
  270. data/lib/new_relic/agent/instrumentation/sinatra/prepend.rb +33 -0
  271. data/lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb +13 -7
  272. data/lib/new_relic/agent/instrumentation/sinatra.rb +35 -165
  273. data/lib/new_relic/agent/instrumentation/stripe.rb +28 -0
  274. data/lib/new_relic/agent/instrumentation/stripe_subscriber.rb +77 -0
  275. data/lib/new_relic/agent/instrumentation/thread/chain.rb +24 -0
  276. data/lib/new_relic/agent/instrumentation/thread/instrumentation.rb +24 -0
  277. data/lib/new_relic/agent/instrumentation/thread/prepend.rb +22 -0
  278. data/lib/new_relic/agent/instrumentation/thread.rb +20 -0
  279. data/lib/new_relic/agent/instrumentation/tilt/chain.rb +24 -0
  280. data/lib/new_relic/agent/instrumentation/tilt/instrumentation.rb +46 -0
  281. data/lib/new_relic/agent/instrumentation/tilt/prepend.rb +13 -0
  282. data/lib/new_relic/agent/instrumentation/tilt.rb +25 -0
  283. data/lib/new_relic/agent/instrumentation/typhoeus/chain.rb +22 -0
  284. data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +84 -0
  285. data/lib/new_relic/agent/instrumentation/typhoeus/prepend.rb +14 -0
  286. data/lib/new_relic/agent/instrumentation/typhoeus.rb +14 -47
  287. data/lib/new_relic/agent/instrumentation/view_component/chain.rb +21 -0
  288. data/lib/new_relic/agent/instrumentation/view_component/instrumentation.rb +39 -0
  289. data/lib/new_relic/agent/instrumentation/view_component/prepend.rb +13 -0
  290. data/lib/new_relic/agent/instrumentation/view_component.rb +26 -0
  291. data/lib/new_relic/agent/instrumentation.rb +2 -2
  292. data/lib/new_relic/agent/internal_agent_error.rb +3 -3
  293. data/lib/new_relic/agent/javascript_instrumentor.rb +72 -58
  294. data/lib/new_relic/agent/linking_metadata.rb +44 -0
  295. data/lib/new_relic/agent/llm/chat_completion_message.rb +25 -0
  296. data/lib/new_relic/agent/llm/chat_completion_summary.rb +66 -0
  297. data/lib/new_relic/agent/llm/embedding.rb +60 -0
  298. data/lib/new_relic/agent/llm/llm_event.rb +95 -0
  299. data/lib/new_relic/agent/llm/response_headers.rb +80 -0
  300. data/lib/new_relic/agent/llm.rb +49 -0
  301. data/lib/new_relic/agent/local_log_decorator.rb +37 -0
  302. data/lib/new_relic/agent/log_event_aggregator.rb +267 -0
  303. data/lib/new_relic/agent/log_event_attributes.rb +115 -0
  304. data/lib/new_relic/agent/log_once.rb +39 -0
  305. data/lib/new_relic/agent/log_priority.rb +20 -0
  306. data/lib/new_relic/agent/logging.rb +182 -0
  307. data/lib/new_relic/agent/memory_logger.rb +11 -4
  308. data/lib/new_relic/agent/messaging.rb +358 -0
  309. data/lib/new_relic/agent/method_tracer.rb +173 -195
  310. data/lib/new_relic/agent/method_tracer_helpers.rb +109 -66
  311. data/lib/new_relic/agent/monitors/cross_app_monitor.rb +117 -0
  312. data/lib/new_relic/agent/monitors/distributed_tracing_monitor.rb +28 -0
  313. data/lib/new_relic/agent/monitors/inbound_request_monitor.rb +43 -0
  314. data/lib/new_relic/agent/monitors/synthetics_monitor.rb +64 -0
  315. data/lib/new_relic/agent/monitors.rb +26 -0
  316. data/lib/new_relic/agent/new_relic_service/encoders.rb +29 -13
  317. data/lib/new_relic/agent/new_relic_service/json_marshaller.rb +18 -24
  318. data/lib/new_relic/agent/new_relic_service/marshaller.rb +8 -29
  319. data/lib/new_relic/agent/new_relic_service/security_policy_settings.rb +61 -0
  320. data/lib/new_relic/agent/new_relic_service.rb +406 -226
  321. data/lib/new_relic/agent/noticeable_error.rb +19 -0
  322. data/lib/new_relic/agent/null_logger.rb +8 -4
  323. data/lib/new_relic/agent/obfuscator.rb +8 -12
  324. data/lib/new_relic/agent/parameter_filtering.rb +41 -14
  325. data/lib/new_relic/agent/payload_metric_mapping.rb +57 -0
  326. data/lib/new_relic/agent/pipe_channel_manager.rb +37 -27
  327. data/lib/new_relic/agent/pipe_service.rb +23 -16
  328. data/lib/new_relic/agent/prepend_supportability.rb +16 -0
  329. data/lib/new_relic/agent/priority_sampled_buffer.rb +92 -0
  330. data/lib/new_relic/agent/rules_engine/replacement_rule.rb +12 -12
  331. data/lib/new_relic/agent/rules_engine/segment_terms_rule.rb +32 -12
  332. data/lib/new_relic/agent/rules_engine.rb +30 -7
  333. data/lib/new_relic/agent/sampler.rb +13 -13
  334. data/lib/new_relic/agent/sampler_collection.rb +5 -6
  335. data/lib/new_relic/agent/samplers/cpu_sampler.rb +13 -10
  336. data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +22 -19
  337. data/lib/new_relic/agent/samplers/memory_sampler.rb +41 -25
  338. data/lib/new_relic/agent/samplers/object_sampler.rb +3 -3
  339. data/lib/new_relic/agent/samplers/vm_sampler.rb +22 -20
  340. data/lib/new_relic/agent/serverless_handler.rb +171 -0
  341. data/lib/new_relic/agent/span_event_aggregator.rb +49 -0
  342. data/lib/new_relic/agent/span_event_primitive.rb +222 -0
  343. data/lib/new_relic/agent/sql_sampler.rb +83 -47
  344. data/lib/new_relic/agent/stats.rb +80 -57
  345. data/lib/new_relic/agent/stats_engine/gc_profiler.rb +12 -13
  346. data/lib/new_relic/agent/stats_engine/stats_hash.rb +97 -40
  347. data/lib/new_relic/agent/stats_engine.rb +175 -9
  348. data/lib/new_relic/agent/synthetics_event_aggregator.rb +44 -0
  349. data/lib/new_relic/agent/system_info.rb +203 -61
  350. data/lib/new_relic/agent/threading/agent_thread.rb +20 -15
  351. data/lib/new_relic/agent/threading/backtrace_node.rb +13 -14
  352. data/lib/new_relic/agent/threading/backtrace_service.rb +23 -26
  353. data/lib/new_relic/agent/threading/thread_profile.rb +32 -46
  354. data/lib/new_relic/agent/timestamp_sampled_buffer.rb +19 -0
  355. data/lib/new_relic/agent/tracer.rb +514 -0
  356. data/lib/new_relic/agent/transaction/abstract_segment.rb +388 -0
  357. data/lib/new_relic/agent/transaction/datastore_segment.rb +155 -0
  358. data/lib/new_relic/agent/transaction/distributed_tracer.rb +185 -0
  359. data/lib/new_relic/agent/transaction/distributed_tracing.rb +171 -0
  360. data/lib/new_relic/agent/transaction/external_request_segment.rb +265 -0
  361. data/lib/new_relic/agent/transaction/message_broker_segment.rb +98 -0
  362. data/lib/new_relic/agent/transaction/request_attributes.rb +158 -0
  363. data/lib/new_relic/agent/transaction/segment.rb +102 -0
  364. data/lib/new_relic/agent/transaction/slowest_sample_buffer.rb +2 -4
  365. data/lib/new_relic/agent/transaction/synthetics_sample_buffer.rb +3 -3
  366. data/lib/new_relic/agent/transaction/trace.rb +43 -37
  367. data/lib/new_relic/agent/transaction/trace_builder.rb +56 -0
  368. data/lib/new_relic/agent/transaction/trace_context.rb +168 -0
  369. data/lib/new_relic/agent/transaction/trace_node.rb +57 -66
  370. data/lib/new_relic/agent/transaction/tracing.rb +87 -0
  371. data/lib/new_relic/agent/transaction/transaction_sample_buffer.rb +7 -7
  372. data/lib/new_relic/agent/transaction.rb +438 -396
  373. data/lib/new_relic/agent/transaction_error_primitive.rb +105 -0
  374. data/lib/new_relic/agent/transaction_event_aggregator.rb +43 -260
  375. data/lib/new_relic/agent/transaction_event_primitive.rb +127 -0
  376. data/lib/new_relic/agent/transaction_event_recorder.rb +49 -0
  377. data/lib/new_relic/agent/transaction_metrics.rb +19 -10
  378. data/lib/new_relic/agent/transaction_sampler.rb +22 -219
  379. data/lib/new_relic/agent/transaction_time_aggregator.rb +160 -0
  380. data/lib/new_relic/agent/utilization/aws.rb +48 -0
  381. data/lib/new_relic/agent/utilization/azure.rb +17 -0
  382. data/lib/new_relic/agent/utilization/gcp.rb +33 -0
  383. data/lib/new_relic/agent/utilization/pcf.rb +33 -0
  384. data/lib/new_relic/agent/utilization/vendor.rb +157 -0
  385. data/lib/new_relic/agent/utilization_data.rb +124 -37
  386. data/lib/new_relic/agent/vm/c_ruby_vm.rb +99 -0
  387. data/lib/new_relic/agent/vm/jruby_vm.rb +3 -5
  388. data/lib/new_relic/agent/vm/monotonic_gc_profiler.rb +4 -4
  389. data/lib/new_relic/agent/vm/snapshot.rb +6 -6
  390. data/lib/new_relic/agent/vm.rb +5 -8
  391. data/lib/new_relic/agent/worker_loop.rb +16 -18
  392. data/lib/new_relic/agent.rb +476 -210
  393. data/lib/new_relic/base64.rb +25 -0
  394. data/lib/new_relic/cli/command.rb +27 -26
  395. data/lib/new_relic/cli/commands/deployments.rb +108 -50
  396. data/lib/new_relic/cli/commands/install.rb +35 -36
  397. data/lib/new_relic/coerce.rb +43 -16
  398. data/lib/new_relic/collection_helper.rb +49 -67
  399. data/lib/new_relic/constants.rb +45 -0
  400. data/lib/new_relic/control/class_methods.rb +7 -7
  401. data/lib/new_relic/control/frameworks/external.rb +3 -3
  402. data/lib/new_relic/control/frameworks/rails.rb +59 -49
  403. data/lib/new_relic/control/frameworks/rails3.rb +5 -7
  404. data/lib/new_relic/control/frameworks/rails4.rb +3 -3
  405. data/lib/new_relic/control/frameworks/rails_notifications.rb +14 -0
  406. data/lib/new_relic/control/frameworks/roda.rb +20 -0
  407. data/lib/new_relic/control/frameworks/ruby.rb +5 -5
  408. data/lib/new_relic/control/frameworks/sinatra.rb +8 -2
  409. data/lib/new_relic/control/frameworks.rb +2 -2
  410. data/lib/new_relic/control/instance_methods.rb +47 -29
  411. data/lib/new_relic/control/instrumentation.rb +27 -21
  412. data/lib/new_relic/control/private_instance_methods.rb +48 -0
  413. data/lib/new_relic/control/server_methods.rb +6 -60
  414. data/lib/new_relic/control.rb +3 -5
  415. data/lib/new_relic/delayed_job_injection.rb +2 -2
  416. data/lib/new_relic/dependency_detection.rb +234 -0
  417. data/lib/new_relic/environment_report.rb +42 -36
  418. data/lib/new_relic/helper.rb +54 -22
  419. data/lib/new_relic/language_support.rb +73 -99
  420. data/lib/new_relic/latest_changes.rb +13 -12
  421. data/lib/new_relic/local_environment.rb +55 -42
  422. data/lib/new_relic/metric_data.rb +37 -39
  423. data/lib/new_relic/metric_spec.rb +9 -24
  424. data/lib/new_relic/noticed_error.rb +103 -62
  425. data/lib/new_relic/rack/agent_hooks.rb +3 -3
  426. data/lib/new_relic/rack/agent_middleware.rb +5 -5
  427. data/lib/new_relic/rack/browser_monitoring.rb +147 -114
  428. data/lib/new_relic/rack.rb +2 -2
  429. data/lib/new_relic/recipes/capistrano3.rb +12 -55
  430. data/lib/new_relic/recipes/capistrano_legacy.rb +26 -29
  431. data/lib/new_relic/recipes/helpers/send_deployment.rb +70 -0
  432. data/lib/new_relic/recipes.rb +2 -2
  433. data/lib/new_relic/supportability_helper.rb +88 -0
  434. data/lib/new_relic/thread_local_storage.rb +31 -0
  435. data/lib/new_relic/traced_thread.rb +38 -0
  436. data/lib/new_relic/version.rb +7 -63
  437. data/lib/newrelic_rpm.rb +21 -34
  438. data/lib/sequel/extensions/new_relic_instrumentation.rb +99 -0
  439. data/lib/sequel/plugins/new_relic_instrumentation.rb +64 -0
  440. data/lib/tasks/all.rb +4 -4
  441. data/lib/tasks/bump_version.rake +21 -0
  442. data/lib/tasks/config.rake +27 -119
  443. data/lib/tasks/coverage_report.rake +28 -0
  444. data/lib/tasks/helpers/config.html.erb +115 -0
  445. data/lib/tasks/helpers/config.text.erb +8 -0
  446. data/lib/tasks/helpers/format.rb +127 -0
  447. data/lib/tasks/helpers/matches.rb +12 -0
  448. data/lib/tasks/helpers/newrelicyml.rb +144 -0
  449. data/lib/tasks/helpers/prompt.rb +24 -0
  450. data/lib/tasks/helpers/version_bump.rb +62 -0
  451. data/lib/tasks/install.rake +8 -4
  452. data/lib/tasks/instrumentation_generator/README.md +63 -0
  453. data/lib/tasks/instrumentation_generator/TODO.md +33 -0
  454. data/lib/tasks/instrumentation_generator/instrumentation.thor +129 -0
  455. data/lib/tasks/instrumentation_generator/templates/Envfile.tt +9 -0
  456. data/lib/tasks/instrumentation_generator/templates/chain.tt +21 -0
  457. data/lib/tasks/instrumentation_generator/templates/chain_method.tt +7 -0
  458. data/lib/tasks/instrumentation_generator/templates/dependency_detection.tt +29 -0
  459. data/lib/tasks/instrumentation_generator/templates/instrumentation.tt +13 -0
  460. data/lib/tasks/instrumentation_generator/templates/instrumentation_method.tt +3 -0
  461. data/lib/tasks/instrumentation_generator/templates/newrelic.yml.tt +19 -0
  462. data/lib/tasks/instrumentation_generator/templates/prepend.tt +13 -0
  463. data/lib/tasks/instrumentation_generator/templates/prepend_method.tt +3 -0
  464. data/lib/tasks/instrumentation_generator/templates/test.tt +15 -0
  465. data/lib/tasks/newrelic.rb +10 -0
  466. data/lib/tasks/newrelicyml.rake +13 -0
  467. data/lib/tasks/tests.rake +87 -16
  468. data/newrelic.yml +832 -10
  469. data/newrelic_rpm.gemspec +56 -56
  470. data/recipes/newrelic.rb +3 -3
  471. data/test/agent_helper.rb +513 -115
  472. metadata +384 -912
  473. data/.gitignore +0 -27
  474. data/.project +0 -23
  475. data/.travis.yml +0 -12
  476. data/.yardopts +0 -21
  477. data/CHANGELOG +0 -2300
  478. data/GUIDELINES_FOR_CONTRIBUTING.md +0 -80
  479. data/Guardfile +0 -8
  480. data/bin/mongrel_rpm +0 -33
  481. data/bin/newrelic_cmd +0 -5
  482. data/cert/cacert.pem +0 -1177
  483. data/config/database.yml +0 -5
  484. data/config.dot +0 -287
  485. data/lib/conditional_vendored_dependency_detection.rb +0 -7
  486. data/lib/conditional_vendored_metric_parser.rb +0 -9
  487. data/lib/new_relic/agent/busy_calculator.rb +0 -117
  488. data/lib/new_relic/agent/commands/xray_session.rb +0 -55
  489. data/lib/new_relic/agent/commands/xray_session_collection.rb +0 -161
  490. data/lib/new_relic/agent/cross_app_monitor.rb +0 -178
  491. data/lib/new_relic/agent/cross_app_tracing.rb +0 -339
  492. data/lib/new_relic/agent/datastores/mongo/obfuscator.rb +0 -39
  493. data/lib/new_relic/agent/datastores/mongo/statement_formatter.rb +0 -53
  494. data/lib/new_relic/agent/hash_extensions.rb +0 -26
  495. data/lib/new_relic/agent/inbound_request_monitor.rb +0 -41
  496. data/lib/new_relic/agent/instrumentation/active_record_4.rb +0 -28
  497. data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +0 -72
  498. data/lib/new_relic/agent/instrumentation/authlogic.rb +0 -25
  499. data/lib/new_relic/agent/instrumentation/data_mapper.rb +0 -167
  500. data/lib/new_relic/agent/instrumentation/evented_subscriber.rb +0 -100
  501. data/lib/new_relic/agent/instrumentation/excon/connection.rb +0 -33
  502. data/lib/new_relic/agent/instrumentation/merb/controller.rb +0 -44
  503. data/lib/new_relic/agent/instrumentation/merb/errors.rb +0 -33
  504. data/lib/new_relic/agent/instrumentation/metric_frame.rb +0 -39
  505. data/lib/new_relic/agent/instrumentation/net.rb +0 -36
  506. data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +0 -123
  507. data/lib/new_relic/agent/instrumentation/rails/action_web_service.rb +0 -46
  508. data/lib/new_relic/agent/instrumentation/rails/errors.rb +0 -51
  509. data/lib/new_relic/agent/instrumentation/rails3/errors.rb +0 -47
  510. data/lib/new_relic/agent/instrumentation/rails4/action_controller.rb +0 -29
  511. data/lib/new_relic/agent/instrumentation/rails4/action_view.rb +0 -25
  512. data/lib/new_relic/agent/instrumentation/rails4/errors.rb +0 -46
  513. data/lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb +0 -26
  514. data/lib/new_relic/agent/instrumentation/rubyprof.rb +0 -26
  515. data/lib/new_relic/agent/instrumentation/sunspot.rb +0 -33
  516. data/lib/new_relic/agent/new_relic_service/pruby_marshaller.rb +0 -56
  517. data/lib/new_relic/agent/sampled_buffer.rb +0 -51
  518. data/lib/new_relic/agent/shim_agent.rb +0 -33
  519. data/lib/new_relic/agent/sized_buffer.rb +0 -23
  520. data/lib/new_relic/agent/stats_engine/metric_stats.rb +0 -237
  521. data/lib/new_relic/agent/stats_engine/samplers.rb +0 -28
  522. data/lib/new_relic/agent/supported_versions.rb +0 -259
  523. data/lib/new_relic/agent/synthetics_event_buffer.rb +0 -42
  524. data/lib/new_relic/agent/synthetics_monitor.rb +0 -50
  525. data/lib/new_relic/agent/traced_method_stack.rb +0 -99
  526. data/lib/new_relic/agent/transaction/attributes.rb +0 -161
  527. data/lib/new_relic/agent/transaction/developer_mode_sample_buffer.rb +0 -62
  528. data/lib/new_relic/agent/transaction/xray_sample_buffer.rb +0 -64
  529. data/lib/new_relic/agent/transaction_sample_builder.rb +0 -147
  530. data/lib/new_relic/agent/transaction_state.rb +0 -153
  531. data/lib/new_relic/agent/transaction_timings.rb +0 -57
  532. data/lib/new_relic/agent/vm/mri_vm.rb +0 -87
  533. data/lib/new_relic/agent/vm/rubinius_vm.rb +0 -132
  534. data/lib/new_relic/build.rb +0 -2
  535. data/lib/new_relic/control/frameworks/merb.rb +0 -29
  536. data/lib/new_relic/json_wrapper.rb +0 -78
  537. data/lib/new_relic/merbtasks.rb +0 -10
  538. data/lib/new_relic/metrics.rb +0 -13
  539. data/lib/new_relic/okjson.rb +0 -602
  540. data/lib/new_relic/rack/developer_mode/segment_summary.rb +0 -56
  541. data/lib/new_relic/rack/developer_mode.rb +0 -321
  542. data/lib/new_relic/rack/error_collector.rb +0 -27
  543. data/lib/new_relic/timer_lib.rb +0 -31
  544. data/lib/sequel/extensions/newrelic_instrumentation.rb +0 -79
  545. data/lib/sequel/plugins/newrelic_instrumentation.rb +0 -65
  546. data/lib/tasks/config.html.erb +0 -28
  547. data/lib/tasks/config.text.erb +0 -7
  548. data/lib/tasks/versions.html.erb +0 -27
  549. data/lib/tasks/versions.rake +0 -53
  550. data/lib/tasks/versions.txt.erb +0 -14
  551. data/test/config/newrelic.yml +0 -46
  552. data/test/config/test.cert.crt +0 -18
  553. data/test/config/test.cert.key +0 -15
  554. data/test/config/test_control.rb +0 -54
  555. data/test/environments/.gitignore +0 -16
  556. data/test/environments/lib/environments/runner.rb +0 -113
  557. data/test/environments/norails/Gemfile +0 -21
  558. data/test/environments/norails/Rakefile +0 -9
  559. data/test/environments/rails21/Gemfile +0 -25
  560. data/test/environments/rails21/Rakefile +0 -16
  561. data/test/environments/rails21/app/controllers/application.rb +0 -20
  562. data/test/environments/rails21/config/boot.rb +0 -113
  563. data/test/environments/rails21/config/database.yml +0 -26
  564. data/test/environments/rails21/config/environment.rb +0 -26
  565. data/test/environments/rails21/config/environments/development.rb +0 -10
  566. data/test/environments/rails21/config/environments/production.rb +0 -8
  567. data/test/environments/rails21/config/environments/test.rb +0 -10
  568. data/test/environments/rails21/config/routes.rb +0 -5
  569. data/test/environments/rails21/db/schema.rb +0 -5
  570. data/test/environments/rails22/Gemfile +0 -25
  571. data/test/environments/rails22/Rakefile +0 -16
  572. data/test/environments/rails22/app/controllers/application.rb +0 -20
  573. data/test/environments/rails22/config/boot.rb +0 -113
  574. data/test/environments/rails22/config/database.yml +0 -26
  575. data/test/environments/rails22/config/environment.rb +0 -25
  576. data/test/environments/rails22/config/environments/development.rb +0 -10
  577. data/test/environments/rails22/config/environments/production.rb +0 -8
  578. data/test/environments/rails22/config/environments/test.rb +0 -10
  579. data/test/environments/rails22/config/routes.rb +0 -5
  580. data/test/environments/rails22/db/schema.rb +0 -5
  581. data/test/environments/rails23/Gemfile +0 -24
  582. data/test/environments/rails23/Rakefile +0 -16
  583. data/test/environments/rails23/app/controllers/application.rb +0 -20
  584. data/test/environments/rails23/config/boot.rb +0 -127
  585. data/test/environments/rails23/config/database.yml +0 -26
  586. data/test/environments/rails23/config/environment.rb +0 -16
  587. data/test/environments/rails23/config/environments/production.rb +0 -8
  588. data/test/environments/rails23/config/environments/test.rb +0 -10
  589. data/test/environments/rails23/config/preinitializer.rb +0 -25
  590. data/test/environments/rails23/config/routes.rb +0 -5
  591. data/test/environments/rails23/db/schema.rb +0 -5
  592. data/test/environments/rails30/Gemfile +0 -23
  593. data/test/environments/rails30/Rakefile +0 -11
  594. data/test/environments/rails30/config/application.rb +0 -17
  595. data/test/environments/rails30/config/boot.rb +0 -10
  596. data/test/environments/rails30/config/database.yml +0 -26
  597. data/test/environments/rails30/config/environment.rb +0 -6
  598. data/test/environments/rails30/config/initializers/new_rails_defaults.rb +0 -11
  599. data/test/environments/rails30/db/schema.rb +0 -5
  600. data/test/environments/rails31/Gemfile +0 -24
  601. data/test/environments/rails31/Rakefile +0 -11
  602. data/test/environments/rails31/config/application.rb +0 -18
  603. data/test/environments/rails31/config/boot.rb +0 -10
  604. data/test/environments/rails31/config/database.yml +0 -26
  605. data/test/environments/rails31/config/environment.rb +0 -6
  606. data/test/environments/rails31/config/initializers/new_rails_defaults.rb +0 -21
  607. data/test/environments/rails31/db/schema.rb +0 -5
  608. data/test/environments/rails32/Gemfile +0 -26
  609. data/test/environments/rails32/Rakefile +0 -11
  610. data/test/environments/rails32/config/application.rb +0 -19
  611. data/test/environments/rails32/config/boot.rb +0 -10
  612. data/test/environments/rails32/config/database.yml +0 -31
  613. data/test/environments/rails32/config/environment.rb +0 -6
  614. data/test/environments/rails32/db/schema.rb +0 -5
  615. data/test/environments/rails40/Gemfile +0 -43
  616. data/test/environments/rails40/Rakefile +0 -11
  617. data/test/environments/rails40/config/application.rb +0 -18
  618. data/test/environments/rails40/config/boot.rb +0 -10
  619. data/test/environments/rails40/config/database.yml +0 -26
  620. data/test/environments/rails40/config/environment.rb +0 -6
  621. data/test/environments/rails40/db/schema.rb +0 -5
  622. data/test/environments/rails41/Gemfile +0 -35
  623. data/test/environments/rails41/Rakefile +0 -11
  624. data/test/environments/rails41/config/application.rb +0 -18
  625. data/test/environments/rails41/config/boot.rb +0 -10
  626. data/test/environments/rails41/config/database.yml +0 -26
  627. data/test/environments/rails41/config/environment.rb +0 -6
  628. data/test/environments/rails41/db/schema.rb +0 -5
  629. data/test/environments/rails42/Gemfile +0 -39
  630. data/test/environments/rails42/Rakefile +0 -11
  631. data/test/environments/rails42/config/application.rb +0 -18
  632. data/test/environments/rails42/config/boot.rb +0 -10
  633. data/test/environments/rails42/config/database.yml +0 -26
  634. data/test/environments/rails42/config/environment.rb +0 -6
  635. data/test/environments/rails42/db/schema.rb +0 -5
  636. data/test/fixtures/cross_agent_tests/README.md +0 -56
  637. data/test/fixtures/cross_agent_tests/attribute_configuration.json +0 -384
  638. data/test/fixtures/cross_agent_tests/cat_map.json +0 -597
  639. data/test/fixtures/cross_agent_tests/docker_container_id/README.md +0 -6
  640. data/test/fixtures/cross_agent_tests/docker_container_id/cases.json +0 -46
  641. data/test/fixtures/cross_agent_tests/docker_container_id/docker-0.9.1.txt +0 -10
  642. data/test/fixtures/cross_agent_tests/docker_container_id/docker-1.0.0.txt +0 -10
  643. data/test/fixtures/cross_agent_tests/docker_container_id/docker-1.1.2-lxc-driver.txt +0 -10
  644. data/test/fixtures/cross_agent_tests/docker_container_id/docker-1.1.2-native-driver-fs.txt +0 -10
  645. data/test/fixtures/cross_agent_tests/docker_container_id/docker-1.1.2-native-driver-systemd.txt +0 -10
  646. data/test/fixtures/cross_agent_tests/docker_container_id/docker-1.3.txt +0 -9
  647. data/test/fixtures/cross_agent_tests/docker_container_id/empty.txt +0 -0
  648. data/test/fixtures/cross_agent_tests/docker_container_id/heroku.txt +0 -1
  649. data/test/fixtures/cross_agent_tests/docker_container_id/ubuntu-14.04-lxc-container.txt +0 -10
  650. data/test/fixtures/cross_agent_tests/docker_container_id/ubuntu-14.04-no-container.txt +0 -10
  651. data/test/fixtures/cross_agent_tests/docker_container_id/ubuntu-14.10-no-container.txt +0 -10
  652. data/test/fixtures/cross_agent_tests/labels.json +0 -133
  653. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/README.md +0 -16
  654. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/basic_where.colon_obfuscated.txt +0 -3
  655. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/basic_where.explain.txt +0 -3
  656. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/basic_where.obfuscated.txt +0 -3
  657. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/basic_where.query.txt +0 -1
  658. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/current_date.colon_obfuscated.txt +0 -2
  659. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/current_date.explain.txt +0 -2
  660. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/current_date.obfuscated.txt +0 -2
  661. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/current_date.query.txt +0 -1
  662. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/date.colon_obfuscated.txt +0 -2
  663. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/date.explain.txt +0 -2
  664. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/date.obfuscated.txt +0 -2
  665. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/date.query.txt +0 -1
  666. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_newline.colon_obfuscated.txt +0 -2
  667. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_newline.explain.txt +0 -3
  668. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_newline.obfuscated.txt +0 -2
  669. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_newline.query.txt +0 -1
  670. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_quote.colon_obfuscated.txt +0 -2
  671. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_quote.explain.txt +0 -2
  672. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_quote.obfuscated.txt +0 -2
  673. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/embedded_quote.query.txt +0 -1
  674. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/floating_point.colon_obfuscated.txt +0 -2
  675. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/floating_point.explain.txt +0 -2
  676. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/floating_point.obfuscated.txt +0 -2
  677. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/floating_point.query.txt +0 -1
  678. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/function_with_strings.colon_obfuscated.txt +0 -5
  679. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/function_with_strings.explain.txt +0 -5
  680. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/function_with_strings.obfuscated.txt +0 -5
  681. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/function_with_strings.query.txt +0 -1
  682. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/quote_in_table_name.colon_obfuscated.txt +0 -2
  683. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/quote_in_table_name.explain.txt +0 -2
  684. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/quote_in_table_name.obfuscated.txt +0 -2
  685. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/quote_in_table_name.query.txt +0 -1
  686. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/subplan.colon_obfuscated.txt +0 -5
  687. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/subplan.explain.txt +0 -5
  688. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/subplan.obfuscated.txt +0 -5
  689. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/subplan.query.txt +0 -1
  690. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_integer.colon_obfuscated.txt +0 -2
  691. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_integer.explain.txt +0 -2
  692. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_integer.obfuscated.txt +0 -2
  693. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_integer.query.txt +0 -1
  694. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_regex_chars.colon_obfuscated.txt +0 -2
  695. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_regex_chars.explain.txt +0 -2
  696. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_regex_chars.obfuscated.txt +0 -2
  697. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_regex_chars.query.txt +0 -1
  698. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_substring.colon_obfuscated.txt +0 -3
  699. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_substring.explain.txt +0 -3
  700. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_substring.obfuscated.txt +0 -3
  701. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/where_with_substring.query.txt +0 -1
  702. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case1.colon_obfuscated.txt +0 -2
  703. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case1.explain.txt +0 -2
  704. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case1.obfuscated.txt +0 -2
  705. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case1.query.txt +0 -1
  706. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case2.colon_obfuscated.txt +0 -2
  707. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case2.explain.txt +0 -3
  708. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case2.obfuscated.txt +0 -2
  709. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case2.query.txt +0 -1
  710. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case3.colon_obfuscated.txt +0 -2
  711. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case3.explain.txt +0 -2
  712. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case3.obfuscated.txt +0 -2
  713. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case3.query.txt +0 -1
  714. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case4.colon_obfuscated.txt +0 -2
  715. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case4.explain.txt +0 -2
  716. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case4.obfuscated.txt +0 -2
  717. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case4.query.txt +0 -1
  718. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case5.colon_obfuscated.txt +0 -2
  719. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case5.explain.txt +0 -2
  720. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case5.obfuscated.txt +0 -2
  721. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case5.query.txt +0 -1
  722. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case6.colon_obfuscated.txt +0 -2
  723. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case6.explain.txt +0 -2
  724. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case6.obfuscated.txt +0 -2
  725. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case6.query.txt +0 -1
  726. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case7.colon_obfuscated.txt +0 -2
  727. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case7.explain.txt +0 -2
  728. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case7.obfuscated.txt +0 -2
  729. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case7.query.txt +0 -1
  730. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case8.colon_obfuscated.txt +0 -2
  731. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case8.explain.txt +0 -2
  732. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case8.obfuscated.txt +0 -2
  733. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case8.query.txt +0 -1
  734. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case9.colon_obfuscated.txt +0 -2
  735. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case9.explain.txt +0 -2
  736. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case9.obfuscated.txt +0 -2
  737. data/test/fixtures/cross_agent_tests/postgres_explain_obfuscation/with_escape_case9.query.txt +0 -1
  738. data/test/fixtures/cross_agent_tests/proc_cpuinfo/1pack_1core_1logical.txt +0 -3
  739. data/test/fixtures/cross_agent_tests/proc_cpuinfo/1pack_1core_2logical.txt +0 -14
  740. data/test/fixtures/cross_agent_tests/proc_cpuinfo/1pack_2core_2logical.txt +0 -14
  741. data/test/fixtures/cross_agent_tests/proc_cpuinfo/1pack_4core_4logical.txt +0 -28
  742. data/test/fixtures/cross_agent_tests/proc_cpuinfo/2pack_12core_24logical.txt +0 -575
  743. data/test/fixtures/cross_agent_tests/proc_cpuinfo/2pack_20core_40logical.txt +0 -999
  744. data/test/fixtures/cross_agent_tests/proc_cpuinfo/2pack_2core_2logical.txt +0 -51
  745. data/test/fixtures/cross_agent_tests/proc_cpuinfo/2pack_2core_4logical.txt +0 -28
  746. data/test/fixtures/cross_agent_tests/proc_cpuinfo/2pack_4core_4logical.txt +0 -28
  747. data/test/fixtures/cross_agent_tests/proc_cpuinfo/4pack_4core_4logical.txt +0 -103
  748. data/test/fixtures/cross_agent_tests/proc_cpuinfo/8pack_8core_8logical.txt +0 -199
  749. data/test/fixtures/cross_agent_tests/proc_cpuinfo/README.md +0 -24
  750. data/test/fixtures/cross_agent_tests/proc_cpuinfo/Xpack_Xcore_2logical.txt +0 -43
  751. data/test/fixtures/cross_agent_tests/proc_meminfo/README.md +0 -7
  752. data/test/fixtures/cross_agent_tests/proc_meminfo/meminfo_4096MB.txt +0 -47
  753. data/test/fixtures/cross_agent_tests/rules.json +0 -165
  754. data/test/fixtures/cross_agent_tests/rum_client_config.json +0 -62
  755. data/test/fixtures/cross_agent_tests/rum_footer_insertion_location/close-body-in-comment.html +0 -10
  756. data/test/fixtures/cross_agent_tests/rum_footer_insertion_location/dynamic-iframe.html +0 -19
  757. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/basic.html +0 -10
  758. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/body_with_attributes.html +0 -3
  759. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/charset_tag.html +0 -11
  760. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/charset_tag_after_x_ua_tag.html +0 -11
  761. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/charset_tag_before_x_ua_tag.html +0 -11
  762. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/charset_tag_with_spaces.html +0 -11
  763. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/comments1.html +0 -24
  764. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/comments2.html +0 -24
  765. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/content_type_charset_tag.html +0 -11
  766. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/content_type_charset_tag_after_x_ua_tag.html +0 -11
  767. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/content_type_charset_tag_before_x_ua_tag.html +0 -11
  768. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/empty_head +0 -4
  769. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/gt_in_quotes1.html +0 -27
  770. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/gt_in_quotes2.html +0 -24
  771. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/gt_in_quotes_mismatch.html +0 -24
  772. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/gt_in_single_quotes1.html +0 -25
  773. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/gt_in_single_quotes_mismatch.html +0 -25
  774. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/head_with_attributes.html +0 -10
  775. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/incomplete_non_meta_tags.html +0 -10
  776. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/no_end_header.html +0 -6
  777. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/no_header.html +0 -7
  778. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/no_html_and_no_header.html +0 -3
  779. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/no_start_header.html +0 -9
  780. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/script1.html +0 -19
  781. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/script2.html +0 -17
  782. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/x_ua_meta_tag.html +0 -10
  783. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/x_ua_meta_tag_multiline.html +0 -11
  784. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/x_ua_meta_tag_multiple_tags.html +0 -12
  785. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/x_ua_meta_tag_spaces_around_equals.html +0 -10
  786. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/x_ua_meta_tag_with_others.html +0 -11
  787. data/test/fixtures/cross_agent_tests/rum_loader_insertion_location/x_ua_meta_tag_with_spaces.html +0 -10
  788. data/test/fixtures/cross_agent_tests/sql_obfuscation/README.md +0 -30
  789. data/test/fixtures/cross_agent_tests/sql_obfuscation/sql_obfuscation.json +0 -365
  790. data/test/fixtures/cross_agent_tests/sql_parsing.json +0 -55
  791. data/test/fixtures/cross_agent_tests/synthetics/README.md +0 -65
  792. data/test/fixtures/cross_agent_tests/synthetics/synthetics.json +0 -317
  793. data/test/fixtures/cross_agent_tests/transaction_segment_terms.json +0 -101
  794. data/test/fixtures/cross_agent_tests/url_clean.json +0 -15
  795. data/test/fixtures/cross_agent_tests/url_domain_extraction.json +0 -35
  796. data/test/helpers/exceptions.rb +0 -16
  797. data/test/helpers/file_searching.rb +0 -28
  798. data/test/helpers/mongo_metric_builder.rb +0 -28
  799. data/test/helpers/runtime_detection.rb +0 -17
  800. data/test/intentional_fail.rb +0 -13
  801. data/test/multiverse/.gitignore +0 -13
  802. data/test/multiverse/README.md +0 -85
  803. data/test/multiverse/lib/multiverse/color.rb +0 -23
  804. data/test/multiverse/lib/multiverse/envfile.rb +0 -66
  805. data/test/multiverse/lib/multiverse/environment.rb +0 -19
  806. data/test/multiverse/lib/multiverse/output_collector.rb +0 -82
  807. data/test/multiverse/lib/multiverse/runner.rb +0 -117
  808. data/test/multiverse/lib/multiverse/suite.rb +0 -525
  809. data/test/multiverse/script/runner +0 -5
  810. data/test/multiverse/suites/active_record/.gitignore +0 -1
  811. data/test/multiverse/suites/active_record/Envfile +0 -67
  812. data/test/multiverse/suites/active_record/Rakefile +0 -9
  813. data/test/multiverse/suites/active_record/active_record_test.rb +0 -374
  814. data/test/multiverse/suites/active_record/app/models/models.rb +0 -27
  815. data/test/multiverse/suites/active_record/ar_method_aliasing.rb +0 -43
  816. data/test/multiverse/suites/active_record/before_suite.rb +0 -23
  817. data/test/multiverse/suites/active_record/config/database.rb +0 -79
  818. data/test/multiverse/suites/active_record/config/database.yml +0 -19
  819. data/test/multiverse/suites/active_record/config/newrelic.yml +0 -18
  820. data/test/multiverse/suites/active_record/db/migrate/20141105131800_create_users_and_aliases.rb +0 -21
  821. data/test/multiverse/suites/active_record/db/migrate/20141106082200_create_orders_and_shipments.rb +0 -25
  822. data/test/multiverse/suites/activemerchant/Envfile +0 -36
  823. data/test/multiverse/suites/activemerchant/activemerchant_test.rb +0 -62
  824. data/test/multiverse/suites/agent_only/Envfile +0 -4
  825. data/test/multiverse/suites/agent_only/agent_attributes_test.rb +0 -145
  826. data/test/multiverse/suites/agent_only/agent_run_id_handling_test.rb +0 -39
  827. data/test/multiverse/suites/agent_only/audit_log_test.rb +0 -58
  828. data/test/multiverse/suites/agent_only/collector_exception_handling_test.rb +0 -87
  829. data/test/multiverse/suites/agent_only/config/newrelic.yml +0 -27
  830. data/test/multiverse/suites/agent_only/cross_application_tracing_test.rb +0 -94
  831. data/test/multiverse/suites/agent_only/custom_analytics_events_test.rb +0 -67
  832. data/test/multiverse/suites/agent_only/custom_queue_time_test.rb +0 -60
  833. data/test/multiverse/suites/agent_only/encoding_handling_test.rb +0 -130
  834. data/test/multiverse/suites/agent_only/exclusive_time_test.rb +0 -176
  835. data/test/multiverse/suites/agent_only/harvest_timestamps_test.rb +0 -83
  836. data/test/multiverse/suites/agent_only/http_response_code_test.rb +0 -38
  837. data/test/multiverse/suites/agent_only/keepalive_test.rb +0 -24
  838. data/test/multiverse/suites/agent_only/key_transactions_test.rb +0 -118
  839. data/test/multiverse/suites/agent_only/labels_test.rb +0 -83
  840. data/test/multiverse/suites/agent_only/logging_test.rb +0 -162
  841. data/test/multiverse/suites/agent_only/marshaling_test.rb +0 -88
  842. data/test/multiverse/suites/agent_only/pipe_manager_test.rb +0 -41
  843. data/test/multiverse/suites/agent_only/rename_rule_test.rb +0 -91
  844. data/test/multiverse/suites/agent_only/rum_instrumentation_test.rb +0 -97
  845. data/test/multiverse/suites/agent_only/script/env_change.rb +0 -10
  846. data/test/multiverse/suites/agent_only/script/loading.rb +0 -20
  847. data/test/multiverse/suites/agent_only/script/symbol_env.rb +0 -10
  848. data/test/multiverse/suites/agent_only/service_timeout_test.rb +0 -39
  849. data/test/multiverse/suites/agent_only/set_transaction_name_test.rb +0 -118
  850. data/test/multiverse/suites/agent_only/ssl_test.rb +0 -20
  851. data/test/multiverse/suites/agent_only/start_up_test.rb +0 -55
  852. data/test/multiverse/suites/agent_only/synthetics_test.rb +0 -131
  853. data/test/multiverse/suites/agent_only/testing_app.rb +0 -58
  854. data/test/multiverse/suites/agent_only/thread_profiling_test.rb +0 -160
  855. data/test/multiverse/suites/agent_only/transaction_ignoring_test.rb +0 -42
  856. data/test/multiverse/suites/agent_only/utilization_data_collection_test.rb +0 -171
  857. data/test/multiverse/suites/agent_only/xray_sessions_test.rb +0 -199
  858. data/test/multiverse/suites/bare/Envfile +0 -3
  859. data/test/multiverse/suites/bare/standalone_instrumentation_test.rb +0 -43
  860. data/test/multiverse/suites/capistrano/Capfile +0 -26
  861. data/test/multiverse/suites/capistrano/Envfile +0 -18
  862. data/test/multiverse/suites/capistrano/config/deploy/production.rb +0 -9
  863. data/test/multiverse/suites/capistrano/config/deploy.rb +0 -14
  864. data/test/multiverse/suites/capistrano/config/newrelic.yml +0 -21
  865. data/test/multiverse/suites/capistrano/deployment_test.rb +0 -54
  866. data/test/multiverse/suites/capistrano2/Capfile +0 -4
  867. data/test/multiverse/suites/capistrano2/Envfile +0 -8
  868. data/test/multiverse/suites/capistrano2/config/deploy.rb +0 -19
  869. data/test/multiverse/suites/capistrano2/config/newrelic.yml +0 -21
  870. data/test/multiverse/suites/capistrano2/deployment_test.rb +0 -37
  871. data/test/multiverse/suites/config_file_loading/Envfile +0 -13
  872. data/test/multiverse/suites/config_file_loading/config_file_loading_test.rb +0 -213
  873. data/test/multiverse/suites/curb/Envfile +0 -31
  874. data/test/multiverse/suites/curb/config/newrelic.yml +0 -18
  875. data/test/multiverse/suites/curb/curb_test.rb +0 -213
  876. data/test/multiverse/suites/datamapper/Envfile +0 -30
  877. data/test/multiverse/suites/datamapper/config/newrelic.yml +0 -20
  878. data/test/multiverse/suites/datamapper/datamapper_test.rb +0 -335
  879. data/test/multiverse/suites/deferred_instrumentation/Envfile +0 -15
  880. data/test/multiverse/suites/deferred_instrumentation/config/newrelic.yml +0 -20
  881. data/test/multiverse/suites/deferred_instrumentation/sinatra_test.rb +0 -107
  882. data/test/multiverse/suites/delayed_job/Envfile +0 -102
  883. data/test/multiverse/suites/delayed_job/before_suite.rb +0 -33
  884. data/test/multiverse/suites/delayed_job/config/newrelic.yml +0 -18
  885. data/test/multiverse/suites/delayed_job/delayed_job_sampler_test.rb +0 -128
  886. data/test/multiverse/suites/delayed_job/unsupported_backend_test.rb +0 -21
  887. data/test/multiverse/suites/excon/Envfile +0 -21
  888. data/test/multiverse/suites/excon/config/newrelic.yml +0 -18
  889. data/test/multiverse/suites/excon/excon_test.rb +0 -81
  890. data/test/multiverse/suites/grape/Envfile +0 -13
  891. data/test/multiverse/suites/grape/config/newrelic.yml +0 -19
  892. data/test/multiverse/suites/grape/grape_test.rb +0 -202
  893. data/test/multiverse/suites/grape/grape_test_api.rb +0 -64
  894. data/test/multiverse/suites/grape/grape_versioning_test.rb +0 -64
  895. data/test/multiverse/suites/grape/grape_versioning_test_api.rb +0 -72
  896. data/test/multiverse/suites/grape/unsupported_version_test.rb +0 -28
  897. data/test/multiverse/suites/high_security/Envfile +0 -3
  898. data/test/multiverse/suites/high_security/config/newrelic.yml +0 -70
  899. data/test/multiverse/suites/high_security/high_security_test.rb +0 -214
  900. data/test/multiverse/suites/httpclient/Envfile +0 -13
  901. data/test/multiverse/suites/httpclient/config/newrelic.yml +0 -18
  902. data/test/multiverse/suites/httpclient/httpclient_test.rb +0 -75
  903. data/test/multiverse/suites/json/Envfile +0 -25
  904. data/test/multiverse/suites/json/config/newrelic.yml +0 -22
  905. data/test/multiverse/suites/json/json_test.rb +0 -16
  906. data/test/multiverse/suites/marshalling/Envfile +0 -12
  907. data/test/multiverse/suites/marshalling/config/newrelic.yml +0 -20
  908. data/test/multiverse/suites/marshalling/marshalling_test.rb +0 -16
  909. data/test/multiverse/suites/memcached/Envfile +0 -52
  910. data/test/multiverse/suites/memcached/dalli_test.rb +0 -89
  911. data/test/multiverse/suites/memcached/memcache_client_test.rb +0 -25
  912. data/test/multiverse/suites/memcached/memcache_test_cases.rb +0 -302
  913. data/test/multiverse/suites/memcached/memcached_test.rb +0 -159
  914. data/test/multiverse/suites/mongo/Envfile +0 -69
  915. data/test/multiverse/suites/mongo/config/newrelic.yml +0 -18
  916. data/test/multiverse/suites/mongo/helpers/mongo_operation_tests.rb +0 -489
  917. data/test/multiverse/suites/mongo/helpers/mongo_replica_set.rb +0 -97
  918. data/test/multiverse/suites/mongo/helpers/mongo_replica_set_test.rb +0 -82
  919. data/test/multiverse/suites/mongo/helpers/mongo_server.rb +0 -241
  920. data/test/multiverse/suites/mongo/helpers/mongo_server_test.rb +0 -176
  921. data/test/multiverse/suites/mongo/mongo_connection_test.rb +0 -39
  922. data/test/multiverse/suites/mongo/mongo_instrumentation_test.rb +0 -39
  923. data/test/multiverse/suites/mongo/mongo_unsupported_version_test.rb +0 -72
  924. data/test/multiverse/suites/net_http/Envfile +0 -4
  925. data/test/multiverse/suites/net_http/config/newrelic.yml +0 -18
  926. data/test/multiverse/suites/net_http/net_http_test.rb +0 -111
  927. data/test/multiverse/suites/padrino/Envfile +0 -14
  928. data/test/multiverse/suites/padrino/config/newrelic.yml +0 -20
  929. data/test/multiverse/suites/padrino/padrino_test.rb +0 -52
  930. data/test/multiverse/suites/rack/Envfile +0 -35
  931. data/test/multiverse/suites/rack/builder_map_test.rb +0 -128
  932. data/test/multiverse/suites/rack/example_app.rb +0 -100
  933. data/test/multiverse/suites/rack/http_response_code_test.rb +0 -50
  934. data/test/multiverse/suites/rack/nested_non_rack_app_test.rb +0 -66
  935. data/test/multiverse/suites/rack/rack_auto_instrumentation_test.rb +0 -144
  936. data/test/multiverse/suites/rack/rack_cascade_test.rb +0 -45
  937. data/test/multiverse/suites/rack/rack_env_mutation_test.rb +0 -53
  938. data/test/multiverse/suites/rack/rack_parameter_filtering_test.rb +0 -49
  939. data/test/multiverse/suites/rack/rack_unsupported_version_test.rb +0 -43
  940. data/test/multiverse/suites/rack/url_map_test.rb +0 -117
  941. data/test/multiverse/suites/rails/Envfile +0 -61
  942. data/test/multiverse/suites/rails/action_controller_live_rum_test.rb +0 -39
  943. data/test/multiverse/suites/rails/activejob_test.rb +0 -152
  944. data/test/multiverse/suites/rails/app/views/foos/_foo.html.haml +0 -1
  945. data/test/multiverse/suites/rails/app/views/views/_a_partial.html.erb +0 -2
  946. data/test/multiverse/suites/rails/app/views/views/_mid_partial.html.erb +0 -1
  947. data/test/multiverse/suites/rails/app/views/views/_top_partial.html.erb +0 -3
  948. data/test/multiverse/suites/rails/app/views/views/deep_partial.html.erb +0 -3
  949. data/test/multiverse/suites/rails/app/views/views/haml_view.html.haml +0 -6
  950. data/test/multiverse/suites/rails/app/views/views/index.html.erb +0 -4
  951. data/test/multiverse/suites/rails/app.rb +0 -44
  952. data/test/multiverse/suites/rails/bad_instrumentation_test.rb +0 -29
  953. data/test/multiverse/suites/rails/config/newrelic.yml +0 -30
  954. data/test/multiverse/suites/rails/dummy.txt +0 -1
  955. data/test/multiverse/suites/rails/error_tracing_test.rb +0 -322
  956. data/test/multiverse/suites/rails/gc_instrumentation_test.rb +0 -93
  957. data/test/multiverse/suites/rails/ignore_test.rb +0 -79
  958. data/test/multiverse/suites/rails/middleware_instrumentation_test.rb +0 -41
  959. data/test/multiverse/suites/rails/middlewares.rb +0 -19
  960. data/test/multiverse/suites/rails/parameter_capture_test.rb +0 -299
  961. data/test/multiverse/suites/rails/queue_time_test.rb +0 -89
  962. data/test/multiverse/suites/rails/rails2_app/app/controllers/application.rb +0 -7
  963. data/test/multiverse/suites/rails/rails2_app/config/boot.rb +0 -127
  964. data/test/multiverse/suites/rails/rails2_app/config/database.yml +0 -18
  965. data/test/multiverse/suites/rails/rails2_app/config/environment.rb +0 -16
  966. data/test/multiverse/suites/rails/rails2_app/config/environments/development.rb +0 -10
  967. data/test/multiverse/suites/rails/rails2_app/config/initializers/load_newrelic_rpm.rb +0 -9
  968. data/test/multiverse/suites/rails/rails2_app/config/preinitializer.rb +0 -25
  969. data/test/multiverse/suites/rails/rails2_app/config/routes.rb +0 -19
  970. data/test/multiverse/suites/rails/rails2_app/db/schema.rb +0 -5
  971. data/test/multiverse/suites/rails/rails3_app/app_rails3_plus.rb +0 -92
  972. data/test/multiverse/suites/rails/request_statistics_test.rb +0 -192
  973. data/test/multiverse/suites/rails/transaction_ignoring_test.rb +0 -41
  974. data/test/multiverse/suites/rails/view_instrumentation_test.rb +0 -254
  975. data/test/multiverse/suites/resque/Envfile +0 -11
  976. data/test/multiverse/suites/resque/Rakefile +0 -3
  977. data/test/multiverse/suites/resque/config/newrelic.yml +0 -19
  978. data/test/multiverse/suites/resque/instrumentation_test.rb +0 -155
  979. data/test/multiverse/suites/resque/resque_marshalling_test.rb +0 -53
  980. data/test/multiverse/suites/sequel/Envfile +0 -34
  981. data/test/multiverse/suites/sequel/config/newrelic.yml +0 -18
  982. data/test/multiverse/suites/sequel/database.rb +0 -57
  983. data/test/multiverse/suites/sequel/sequel_extension_test.rb +0 -142
  984. data/test/multiverse/suites/sequel/sequel_helpers.rb +0 -62
  985. data/test/multiverse/suites/sequel/sequel_plugin_test.rb +0 -230
  986. data/test/multiverse/suites/sequel/sequel_safety_test.rb +0 -30
  987. data/test/multiverse/suites/sidekiq/Envfile +0 -31
  988. data/test/multiverse/suites/sidekiq/after_suite.rb +0 -16
  989. data/test/multiverse/suites/sidekiq/config/newrelic.yml +0 -20
  990. data/test/multiverse/suites/sidekiq/log/.gitkeep +0 -0
  991. data/test/multiverse/suites/sidekiq/sidekiq_instrumentation_test.rb +0 -181
  992. data/test/multiverse/suites/sidekiq/sidekiq_server.rb +0 -31
  993. data/test/multiverse/suites/sidekiq/test_worker.rb +0 -59
  994. data/test/multiverse/suites/sinatra/Envfile +0 -17
  995. data/test/multiverse/suites/sinatra/config/newrelic.yml +0 -21
  996. data/test/multiverse/suites/sinatra/ignoring_test.rb +0 -208
  997. data/test/multiverse/suites/sinatra/nested_middleware_test.rb +0 -39
  998. data/test/multiverse/suites/sinatra/sinatra_classic_test.rb +0 -99
  999. data/test/multiverse/suites/sinatra/sinatra_error_tracing_test.rb +0 -45
  1000. data/test/multiverse/suites/sinatra/sinatra_metric_explosion_test.rb +0 -96
  1001. data/test/multiverse/suites/sinatra/sinatra_modular_test.rb +0 -89
  1002. data/test/multiverse/suites/sinatra/sinatra_parameter_capture_test.rb +0 -65
  1003. data/test/multiverse/suites/sinatra/sinatra_routes_test.rb +0 -49
  1004. data/test/multiverse/suites/sinatra/sinatra_test_cases.rb +0 -137
  1005. data/test/multiverse/suites/typhoeus/Envfile +0 -57
  1006. data/test/multiverse/suites/typhoeus/config/newrelic.yml +0 -18
  1007. data/test/multiverse/suites/typhoeus/typhoeus_test.rb +0 -144
  1008. data/test/multiverse/suites/yajl/Envfile +0 -13
  1009. data/test/multiverse/suites/yajl/config/newrelic.yml +0 -21
  1010. data/test/multiverse/suites/yajl/yajl_test.rb +0 -18
  1011. data/test/multiverse/test/multiverse_test.rb +0 -59
  1012. data/test/multiverse/test/suite_examples/one/a/Envfile +0 -3
  1013. data/test/multiverse/test/suite_examples/one/a/a_test.rb +0 -14
  1014. data/test/multiverse/test/suite_examples/one/a/config/newrelic.yml +0 -22
  1015. data/test/multiverse/test/suite_examples/one/b/Envfile +0 -3
  1016. data/test/multiverse/test/suite_examples/one/b/b_test.rb +0 -14
  1017. data/test/multiverse/test/suite_examples/one/b/config/newrelic.yml +0 -22
  1018. data/test/multiverse/test/suite_examples/three/a/Envfile +0 -2
  1019. data/test/multiverse/test/suite_examples/three/a/fail_test.rb +0 -10
  1020. data/test/multiverse/test/suite_examples/three/b/Envfile +0 -2
  1021. data/test/multiverse/test/suite_examples/three/b/win_test.rb +0 -10
  1022. data/test/multiverse/test/suite_examples/two/a/Envfile +0 -1
  1023. data/test/multiverse/test/suite_examples/two/a/fail_test.rb +0 -10
  1024. data/test/new_relic/FAKECHANGELOG +0 -21
  1025. data/test/new_relic/agent/agent/connect_test.rb +0 -308
  1026. data/test/new_relic/agent/agent/start_test.rb +0 -191
  1027. data/test/new_relic/agent/agent/start_worker_thread_test.rb +0 -74
  1028. data/test/new_relic/agent/agent_logger_test.rb +0 -392
  1029. data/test/new_relic/agent/agent_test.rb +0 -701
  1030. data/test/new_relic/agent/agent_test_controller.rb +0 -84
  1031. data/test/new_relic/agent/apdex_from_server_test.rb +0 -13
  1032. data/test/new_relic/agent/attribute_filter_test.rb +0 -218
  1033. data/test/new_relic/agent/attribute_processing_test.rb +0 -160
  1034. data/test/new_relic/agent/audit_logger_test.rb +0 -213
  1035. data/test/new_relic/agent/autostart_test.rb +0 -110
  1036. data/test/new_relic/agent/busy_calculator_test.rb +0 -98
  1037. data/test/new_relic/agent/commands/agent_command_router_test.rb +0 -256
  1038. data/test/new_relic/agent/commands/agent_command_test.rb +0 -37
  1039. data/test/new_relic/agent/commands/thread_profiler_session_test.rb +0 -215
  1040. data/test/new_relic/agent/commands/xray_session_collection_test.rb +0 -332
  1041. data/test/new_relic/agent/commands/xray_session_test.rb +0 -42
  1042. data/test/new_relic/agent/configuration/default_source_test.rb +0 -226
  1043. data/test/new_relic/agent/configuration/dotted_hash_test.rb +0 -53
  1044. data/test/new_relic/agent/configuration/environment_source_test.rb +0 -201
  1045. data/test/new_relic/agent/configuration/high_security_source_test.rb +0 -83
  1046. data/test/new_relic/agent/configuration/manager_test.rb +0 -460
  1047. data/test/new_relic/agent/configuration/manual_source_test.rb +0 -18
  1048. data/test/new_relic/agent/configuration/orphan_configuration_test.rb +0 -89
  1049. data/test/new_relic/agent/configuration/server_source_test.rb +0 -202
  1050. data/test/new_relic/agent/configuration/yaml_source_test.rb +0 -93
  1051. data/test/new_relic/agent/cross_app_monitor_test.rb +0 -248
  1052. data/test/new_relic/agent/cross_app_tracing_test.rb +0 -71
  1053. data/test/new_relic/agent/custom_event_aggregator_test.rb +0 -88
  1054. data/test/new_relic/agent/database/postgres_explain_obfuscator_test.rb +0 -34
  1055. data/test/new_relic/agent/database/sql_obfuscation_test.rb +0 -59
  1056. data/test/new_relic/agent/database_test.rb +0 -400
  1057. data/test/new_relic/agent/datastores/metric_helper_test.rb +0 -97
  1058. data/test/new_relic/agent/datastores/mongo/metric_translator_test.rb +0 -320
  1059. data/test/new_relic/agent/datastores/mongo/obfuscator_test.rb +0 -91
  1060. data/test/new_relic/agent/datastores/mongo/statement_formatter_test.rb +0 -72
  1061. data/test/new_relic/agent/datastores_test.rb +0 -195
  1062. data/test/new_relic/agent/deprecator_test.rb +0 -52
  1063. data/test/new_relic/agent/encoding_normalizer_test.rb +0 -66
  1064. data/test/new_relic/agent/error_collector_test.rb +0 -595
  1065. data/test/new_relic/agent/event_buffer_test_cases.rb +0 -152
  1066. data/test/new_relic/agent/event_listener_test.rb +0 -70
  1067. data/test/new_relic/agent/event_loop_test.rb +0 -202
  1068. data/test/new_relic/agent/harvester_test.rb +0 -79
  1069. data/test/new_relic/agent/hash_extensions_test.rb +0 -34
  1070. data/test/new_relic/agent/hostname_test.rb +0 -93
  1071. data/test/new_relic/agent/http_clients/uri_util_test.rb +0 -64
  1072. data/test/new_relic/agent/inbound_request_monitor_test.rb +0 -49
  1073. data/test/new_relic/agent/instrumentation/action_controller_subscriber_test.rb +0 -299
  1074. data/test/new_relic/agent/instrumentation/action_view_subscriber_test.rb +0 -239
  1075. data/test/new_relic/agent/instrumentation/active_job_test.rb +0 -20
  1076. data/test/new_relic/agent/instrumentation/active_record_helper_test.rb +0 -77
  1077. data/test/new_relic/agent/instrumentation/active_record_subscriber_test.rb +0 -132
  1078. data/test/new_relic/agent/instrumentation/controller_instrumentation_test.rb +0 -325
  1079. data/test/new_relic/agent/instrumentation/instrumentation_test.rb +0 -14
  1080. data/test/new_relic/agent/instrumentation/metric_frame_test.rb +0 -22
  1081. data/test/new_relic/agent/instrumentation/middleware_proxy_test.rb +0 -257
  1082. data/test/new_relic/agent/instrumentation/middleware_tracing_test.rb +0 -49
  1083. data/test/new_relic/agent/instrumentation/net_instrumentation_test.rb +0 -35
  1084. data/test/new_relic/agent/instrumentation/queue_time_test.rb +0 -103
  1085. data/test/new_relic/agent/instrumentation/rack_test.rb +0 -47
  1086. data/test/new_relic/agent/instrumentation/sequel_helper_test.rb +0 -36
  1087. data/test/new_relic/agent/instrumentation/sinatra/transaction_namer_test.rb +0 -55
  1088. data/test/new_relic/agent/instrumentation/sinatra_test.rb +0 -80
  1089. data/test/new_relic/agent/instrumentation/task_instrumentation_test.rb +0 -196
  1090. data/test/new_relic/agent/javascript_instrumentor_test.rb +0 -340
  1091. data/test/new_relic/agent/memory_logger_test.rb +0 -67
  1092. data/test/new_relic/agent/method_interrobang_test.rb +0 -31
  1093. data/test/new_relic/agent/method_tracer/class_methods/add_method_tracer_test.rb +0 -122
  1094. data/test/new_relic/agent/method_tracer/instance_methods/trace_execution_scoped_test.rb +0 -224
  1095. data/test/new_relic/agent/method_tracer_test.rb +0 -474
  1096. data/test/new_relic/agent/method_visibility_test.rb +0 -90
  1097. data/test/new_relic/agent/mock_scope_listener.rb +0 -27
  1098. data/test/new_relic/agent/new_relic_service_test.rb +0 -1063
  1099. data/test/new_relic/agent/obfuscator_test.rb +0 -77
  1100. data/test/new_relic/agent/parameter_filtering_test.rb +0 -39
  1101. data/test/new_relic/agent/pipe_channel_manager_test.rb +0 -278
  1102. data/test/new_relic/agent/pipe_service_test.rb +0 -145
  1103. data/test/new_relic/agent/rpm_agent_test.rb +0 -104
  1104. data/test/new_relic/agent/rules_engine_test.rb +0 -136
  1105. data/test/new_relic/agent/sampled_buffer_test.rb +0 -106
  1106. data/test/new_relic/agent/sampler_collection_test.rb +0 -90
  1107. data/test/new_relic/agent/sampler_test.rb +0 -66
  1108. data/test/new_relic/agent/samplers/cpu_sampler_test.rb +0 -51
  1109. data/test/new_relic/agent/samplers/vm_sampler_test.rb +0 -349
  1110. data/test/new_relic/agent/shim_agent_test.rb +0 -20
  1111. data/test/new_relic/agent/sized_buffer_test.rb +0 -29
  1112. data/test/new_relic/agent/sql_sampler_test.rb +0 -403
  1113. data/test/new_relic/agent/stats_engine/gc_profiler_test.rb +0 -188
  1114. data/test/new_relic/agent/stats_engine/metric_stats_test.rb +0 -347
  1115. data/test/new_relic/agent/stats_engine/samplers_test.rb +0 -98
  1116. data/test/new_relic/agent/stats_engine/stats_hash_test.rb +0 -198
  1117. data/test/new_relic/agent/stats_engine_test.rb +0 -32
  1118. data/test/new_relic/agent/stats_test.rb +0 -189
  1119. data/test/new_relic/agent/synthetics_event_buffer_test.rb +0 -54
  1120. data/test/new_relic/agent/synthetics_monitor_test.rb +0 -93
  1121. data/test/new_relic/agent/system_info_test.rb +0 -61
  1122. data/test/new_relic/agent/threading/agent_thread_test.rb +0 -149
  1123. data/test/new_relic/agent/threading/backtrace_node_test.rb +0 -184
  1124. data/test/new_relic/agent/threading/backtrace_service_test.rb +0 -595
  1125. data/test/new_relic/agent/threading/fake_thread.rb +0 -43
  1126. data/test/new_relic/agent/threading/thread_profile_test.rb +0 -272
  1127. data/test/new_relic/agent/threading/threaded_test_case.rb +0 -18
  1128. data/test/new_relic/agent/traced_method_stack_test.rb +0 -187
  1129. data/test/new_relic/agent/transaction/attributes_test.rb +0 -276
  1130. data/test/new_relic/agent/transaction/developer_mode_sample_buffer_test.rb +0 -75
  1131. data/test/new_relic/agent/transaction/slowest_sample_buffer_test.rb +0 -67
  1132. data/test/new_relic/agent/transaction/synthetics_sample_buffer_test.rb +0 -38
  1133. data/test/new_relic/agent/transaction/trace_node_test.rb +0 -361
  1134. data/test/new_relic/agent/transaction/trace_test.rb +0 -394
  1135. data/test/new_relic/agent/transaction/xray_sample_buffer_test.rb +0 -71
  1136. data/test/new_relic/agent/transaction_event_aggregator_test.rb +0 -433
  1137. data/test/new_relic/agent/transaction_interrobang_test.rb +0 -33
  1138. data/test/new_relic/agent/transaction_metrics_test.rb +0 -113
  1139. data/test/new_relic/agent/transaction_sample_builder_test.rb +0 -215
  1140. data/test/new_relic/agent/transaction_sampler_test.rb +0 -849
  1141. data/test/new_relic/agent/transaction_state_test.rb +0 -122
  1142. data/test/new_relic/agent/transaction_test.rb +0 -1435
  1143. data/test/new_relic/agent/transaction_timings_test.rb +0 -91
  1144. data/test/new_relic/agent/utilization_data_test.rb +0 -18
  1145. data/test/new_relic/agent/vm/monotonic_gc_profiler_test.rb +0 -42
  1146. data/test/new_relic/agent/vm/mri_vm_test.rb +0 -42
  1147. data/test/new_relic/agent/vm/rubinius_vm_test.rb +0 -69
  1148. data/test/new_relic/agent/vm/snapshot_test.rb +0 -13
  1149. data/test/new_relic/agent/vm_test.rb +0 -48
  1150. data/test/new_relic/agent/worker_loop_test.rb +0 -98
  1151. data/test/new_relic/agent_test.rb +0 -471
  1152. data/test/new_relic/cli/commands/deployments_test.rb +0 -121
  1153. data/test/new_relic/cli/commands/install_test.rb +0 -27
  1154. data/test/new_relic/coerce_test.rb +0 -95
  1155. data/test/new_relic/collection_helper_test.rb +0 -151
  1156. data/test/new_relic/control/class_methods_test.rb +0 -48
  1157. data/test/new_relic/control/frameworks/rails_test.rb +0 -29
  1158. data/test/new_relic/control/instance_methods_test.rb +0 -50
  1159. data/test/new_relic/control/instrumentation_test.rb +0 -56
  1160. data/test/new_relic/control_test.rb +0 -232
  1161. data/test/new_relic/data_container_tests.rb +0 -76
  1162. data/test/new_relic/dependency_detection_test.rb +0 -155
  1163. data/test/new_relic/dispatcher_test.rb +0 -59
  1164. data/test/new_relic/environment_report_test.rb +0 -107
  1165. data/test/new_relic/evil_server.rb +0 -55
  1166. data/test/new_relic/fake_collector.rb +0 -398
  1167. data/test/new_relic/fake_external_server.rb +0 -65
  1168. data/test/new_relic/fake_instance_metadata_service.rb +0 -45
  1169. data/test/new_relic/fake_rpm_site.rb +0 -35
  1170. data/test/new_relic/fake_server.rb +0 -104
  1171. data/test/new_relic/filtering_test_app.rb +0 -19
  1172. data/test/new_relic/framework_test.rb +0 -58
  1173. data/test/new_relic/http_client_test_cases.rb +0 -621
  1174. data/test/new_relic/json_wrapper_test.rb +0 -32
  1175. data/test/new_relic/language_support_test.rb +0 -74
  1176. data/test/new_relic/latest_changes_test.rb +0 -45
  1177. data/test/new_relic/license_test.rb +0 -126
  1178. data/test/new_relic/load_test.rb +0 -15
  1179. data/test/new_relic/local_environment_test.rb +0 -103
  1180. data/test/new_relic/marshalling_test_cases.rb +0 -140
  1181. data/test/new_relic/metric_data_test.rb +0 -191
  1182. data/test/new_relic/metric_parser/metric_parser_test.rb +0 -17
  1183. data/test/new_relic/metric_spec_test.rb +0 -145
  1184. data/test/new_relic/multiverse_helpers.rb +0 -271
  1185. data/test/new_relic/noticed_error_test.rb +0 -197
  1186. data/test/new_relic/rack/agent_hooks_test.rb +0 -44
  1187. data/test/new_relic/rack/agent_middleware_test.rb +0 -32
  1188. data/test/new_relic/rack/browser_monitoring_test.rb +0 -197
  1189. data/test/new_relic/rack/deferred_instrumentation_test.rb +0 -33
  1190. data/test/new_relic/rack/developer_mode/segment_summary_test.rb +0 -96
  1191. data/test/new_relic/rack/developer_mode_helper_test.rb +0 -136
  1192. data/test/new_relic/rack/developer_mode_test.rb +0 -93
  1193. data/test/new_relic/rack/error_collector_test.rb +0 -77
  1194. data/test/new_relic/transaction_ignoring_test_cases.rb +0 -102
  1195. data/test/new_relic/version_number_test.rb +0 -101
  1196. data/test/performance/README.md +0 -182
  1197. data/test/performance/lib/performance/baseline.rb +0 -36
  1198. data/test/performance/lib/performance/baseline_compare_reporter.rb +0 -103
  1199. data/test/performance/lib/performance/baseline_save_reporter.rb +0 -24
  1200. data/test/performance/lib/performance/console_reporter.rb +0 -66
  1201. data/test/performance/lib/performance/formatting_helpers.rb +0 -22
  1202. data/test/performance/lib/performance/hako_client.rb +0 -31
  1203. data/test/performance/lib/performance/hako_reporter.rb +0 -26
  1204. data/test/performance/lib/performance/instrumentation/cpu_usage.rb +0 -26
  1205. data/test/performance/lib/performance/instrumentation/gc_stats.rb +0 -58
  1206. data/test/performance/lib/performance/instrumentation/perf_tools.rb +0 -30
  1207. data/test/performance/lib/performance/instrumentation/stackprof.rb +0 -46
  1208. data/test/performance/lib/performance/instrumentor.rb +0 -96
  1209. data/test/performance/lib/performance/json_reporter.rb +0 -15
  1210. data/test/performance/lib/performance/platform.rb +0 -37
  1211. data/test/performance/lib/performance/reporting.rb +0 -36
  1212. data/test/performance/lib/performance/result.rb +0 -104
  1213. data/test/performance/lib/performance/runner.rb +0 -221
  1214. data/test/performance/lib/performance/table.rb +0 -105
  1215. data/test/performance/lib/performance/test_case.rb +0 -152
  1216. data/test/performance/lib/performance/timer.rb +0 -40
  1217. data/test/performance/lib/performance.rb +0 -38
  1218. data/test/performance/script/baselines +0 -102
  1219. data/test/performance/script/mega-runner +0 -37
  1220. data/test/performance/script/runner +0 -133
  1221. data/test/performance/suites/active_record.rb +0 -47
  1222. data/test/performance/suites/agent_attributes.rb +0 -62
  1223. data/test/performance/suites/config.rb +0 -35
  1224. data/test/performance/suites/marshalling.rb +0 -156
  1225. data/test/performance/suites/queue_time.rb +0 -21
  1226. data/test/performance/suites/rack_middleware.rb +0 -136
  1227. data/test/performance/suites/rum_autoinsertion.rb +0 -75
  1228. data/test/performance/suites/sql_obfuscation.rb +0 -30
  1229. data/test/performance/suites/startup.rb +0 -12
  1230. data/test/performance/suites/stats_hash.rb +0 -30
  1231. data/test/performance/suites/thread_profiling.rb +0 -116
  1232. data/test/performance/suites/trace_execution_scoped.rb +0 -32
  1233. data/test/performance/suites/transaction_tracing.rb +0 -106
  1234. data/test/script/build_test_gem.sh +0 -57
  1235. data/test/script/ci.sh +0 -170
  1236. data/test/script/ci_agent-tests_runner.sh +0 -82
  1237. data/test/script/ci_bench.sh +0 -52
  1238. data/test/script/ci_multiverse_runner.sh +0 -63
  1239. data/test/script/path_hash.rb +0 -49
  1240. data/test/test_helper.rb +0 -267
  1241. data/ui/helpers/developer_mode_helper.rb +0 -324
  1242. data/ui/helpers/google_pie_chart.rb +0 -53
  1243. data/ui/views/layouts/newrelic_default.rhtml +0 -48
  1244. data/ui/views/newrelic/_explain_plans.rhtml +0 -27
  1245. data/ui/views/newrelic/_sample.rhtml +0 -20
  1246. data/ui/views/newrelic/_segment.rhtml +0 -28
  1247. data/ui/views/newrelic/_segment_limit_message.rhtml +0 -1
  1248. data/ui/views/newrelic/_segment_row.rhtml +0 -12
  1249. data/ui/views/newrelic/_show_sample_detail.rhtml +0 -24
  1250. data/ui/views/newrelic/_show_sample_sql.rhtml +0 -24
  1251. data/ui/views/newrelic/_show_sample_summary.rhtml +0 -3
  1252. data/ui/views/newrelic/_sql_row.rhtml +0 -16
  1253. data/ui/views/newrelic/_stack_trace.rhtml +0 -15
  1254. data/ui/views/newrelic/_table.rhtml +0 -12
  1255. data/ui/views/newrelic/explain_sql.rhtml +0 -43
  1256. data/ui/views/newrelic/file/images/arrow-close.png +0 -0
  1257. data/ui/views/newrelic/file/images/arrow-open.png +0 -0
  1258. data/ui/views/newrelic/file/images/blue_bar.gif +0 -0
  1259. data/ui/views/newrelic/file/images/file_icon.png +0 -0
  1260. data/ui/views/newrelic/file/images/gray_bar.gif +0 -0
  1261. data/ui/views/newrelic/file/images/new-relic-rpm-desktop.gif +0 -0
  1262. data/ui/views/newrelic/file/images/new_relic_rpm_desktop.gif +0 -0
  1263. data/ui/views/newrelic/file/images/textmate.png +0 -0
  1264. data/ui/views/newrelic/file/javascript/jquery-1.4.2.js +0 -6243
  1265. data/ui/views/newrelic/file/javascript/transaction_sample.js +0 -123
  1266. data/ui/views/newrelic/file/stylesheets/style.css +0 -490
  1267. data/ui/views/newrelic/index.rhtml +0 -70
  1268. data/ui/views/newrelic/sample_not_found.rhtml +0 -2
  1269. data/ui/views/newrelic/show_sample.rhtml +0 -81
  1270. data/ui/views/newrelic/threads.rhtml +0 -45
  1271. data/vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection/version.rb +0 -7
  1272. data/vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection.rb +0 -122
  1273. data/vendor/gems/metric_parser-0.1.0.pre1/.specification +0 -116
  1274. data/vendor/gems/metric_parser-0.1.0.pre1/lib/metric_parser.rb +0 -5
  1275. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/action_mailer.rb +0 -18
  1276. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_merchant.rb +0 -35
  1277. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_record.rb +0 -37
  1278. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/apdex.rb +0 -93
  1279. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/background_transaction.rb +0 -11
  1280. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/client.rb +0 -50
  1281. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller.rb +0 -71
  1282. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_cpu.rb +0 -47
  1283. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_ext.rb +0 -21
  1284. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/database.rb +0 -52
  1285. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/database_pool.rb +0 -28
  1286. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/dot_net.rb +0 -32
  1287. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/dot_net_parser.rb +0 -21
  1288. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/errors.rb +0 -15
  1289. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/external.rb +0 -59
  1290. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/frontend.rb +0 -44
  1291. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/gc.rb +0 -24
  1292. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/hibernate_session.rb +0 -11
  1293. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/java.rb +0 -35
  1294. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/java_parser.rb +0 -21
  1295. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/jsp.rb +0 -38
  1296. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/jsp_tag.rb +0 -11
  1297. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/mem_cache.rb +0 -59
  1298. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/metric_parser.rb +0 -138
  1299. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/middleware.rb +0 -34
  1300. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/nested.rb +0 -24
  1301. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/orm.rb +0 -31
  1302. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/other_transaction.rb +0 -44
  1303. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet.rb +0 -11
  1304. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_context_listener.rb +0 -11
  1305. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_filter.rb +0 -11
  1306. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_init.rb +0 -11
  1307. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr.rb +0 -31
  1308. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr_request_handler.rb +0 -19
  1309. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring.rb +0 -58
  1310. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring_controller.rb +0 -10
  1311. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring_view.rb +0 -10
  1312. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/struts_action.rb +0 -24
  1313. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/struts_result.rb +0 -24
  1314. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/version.rb +0 -9
  1315. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb +0 -74
  1316. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_frontend.rb +0 -22
  1317. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_service.rb +0 -18
  1318. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_transaction.rb +0 -137
  1319. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser.rb +0 -70
data/CHANGELOG DELETED
@@ -1,2300 +0,0 @@
1
- # New Relic Ruby Agent Release Notes #
2
-
3
- ## v3.12.0 ##
4
-
5
- * Flexible capturing of attributes
6
-
7
- The Ruby agent now allows you more control over exactly which request
8
- parameters and job arguments are attached to transaction traces, traced
9
- errors, and Insights events. For details, see:
10
-
11
- https://docs.newrelic.com/docs/agents/ruby-agent/ruby-agent-attributes
12
-
13
- * Fixed missing URIs in traces for retried Excon requests
14
-
15
- If Excon's idempotent option retried a request, the transaction trace node
16
- for the call would miss having the URI assigned. This has been fixed.
17
-
18
- * Capturing request parameters from rescued exceptions in Grape
19
-
20
- If an exception was handled via a rescue_from in Grape, request parameters
21
- were not properly set on the error trace. This has been fixed. Thanks to
22
- Ankit Shah for helping us spot the bug.
23
-
24
- ## v3.11.2 ##
25
-
26
- * Better naming for Rack::URLMap
27
-
28
- If a Rack app made direct use of Rack::URLMap, instrumentation would miss
29
- out on using the clearest naming based on the app class. This has been
30
- fixed.
31
-
32
- * Avoid performance regression in makara database adapter
33
-
34
- Delegation in the makara database adapter caused performance issues when the
35
- agent looked up a connection in the pool. The agent now uses a faster
36
- lookup to work around this problem in makara, and allocates less as well.
37
- Thanks Mike Nelson for the help in resolving this!
38
-
39
- * Allow audit logging to STDOUT
40
-
41
- Previously audit logs of the agent's communication with New Relic could only
42
- write to a file. This prevented using the feature on cloud providers like
43
- Heroku. Now STDOUT is an allowed destination for `audit_log.path`. Logging
44
- can also be restricted to certain endpoints via `audit_log.endpoints`.
45
-
46
- For more information see https://docs.newrelic.com/docs/agents/ruby-agent/installation-configuration/ruby-agent-configuration#audit_log
47
-
48
- * Fix for crash during startup when Rails required but not used
49
-
50
- If an application requires Rails but wasn't actually running it, the Ruby
51
- agent would fail during startup. This has been fixed.
52
-
53
- * Use IO.select explicitly in the event loop
54
-
55
- If an application adds their own select method to Object/Kernel or mixes in a
56
- module that overrides the select method (as with ActionView::Helpers) we would
57
- previously have used their implementation instead of the intended IO.select,
58
- leading to all sorts of unusual errors. We now explicitly reference IO.select
59
- in the event loop to avoid these issues.
60
-
61
- * Fix for background thread hangs on old Linux kernels
62
-
63
- When running under Ruby 1.8.7 on Linux kernel versions 2.6.11 and earlier,
64
- the background thread used by the agent to report data would hang, leading
65
- to no data being reported. This has been be fixed.
66
-
67
- ## v3.11.1 ##
68
-
69
- If an application adds their own select method to Object/Kernel or mixes in a
70
- module that overrides the select method (as with ActionView::Helpers) we would
71
- previously have used their implementation instead of the intended IO.select,
72
- leading to all sorts of unusual errors. We now explicitly reference IO.select
73
- in the event loop to avoid these issues.
74
-
75
- * Fix for background thread hangs on old Linux kernels
76
-
77
- When running under Ruby 1.8.7 on Linux kernel versions 2.6.11 and earlier,
78
- the background thread used by the agent to report data would hang, leading
79
- to no data being reported. This has been be fixed.
80
-
81
- ## v3.11.1 ##
82
-
83
- The Ruby agent incorrectly rescued exceptions at a point which caused
84
- sequel_pg 1.6.11 to segfault. This has been fixed. Thanks to Oldrich
85
- Vetesnik for the report!
86
-
87
- ## v3.11.0 ##
88
-
89
- * Unified view for SQL database and NoSQL datastore products.
90
-
91
- The response time charts in the application overview page will now include
92
- NoSQL datastores, such as MongoDB, and also the product name of existing SQL
93
- databases such as MySQL, Postgres, etc.
94
-
95
- The Databases page will now enable the filtering of metrics and operations
96
- by product, and includes a table listing all operations.
97
-
98
- For existing SQL databases, in addition to the existing breakdown of SQL
99
- statements and operations, the queries are now also associated with the
100
- database product being used.
101
-
102
- For NoSQL datastores, such as MongoDB, we have now added information about
103
- operations performed against those products, similar to what is being done
104
- for SQL databases.
105
-
106
- Because this introduces a notable change to how SQL database metrics are
107
- collected, it is important that you upgrade the agent version on all hosts.
108
- If you are unable to transition to the latest agent version on all hosts at
109
- the same time, you can still access old and new metric data for SQL
110
- databases, but the information will be split across two separate views.
111
-
112
- For more information see https://docs.newrelic.com/docs/apm/applications-menu/monitoring/databases-slow-queries-dashboard
113
-
114
- * Track background transactions as Key Transactions
115
-
116
- In prior versions of the Ruby agent, only web transactions could be tracked
117
- as Key Transactions. This functionality is now available to all
118
- transactions, including custom Apdex values and X-Ray sessions.
119
-
120
- For more information see https://docs.newrelic.com/docs/apm/selected-transactions/key-transactions/key-transactions-tracking-important-transactions-or-events
121
-
122
- * More support and documentation for third-party extensions
123
-
124
- It's always been possible to write extension gems for the Ruby agent, but
125
- now there's one location with best practices and recommendations to guide
126
- you in writing extensions. Check out
127
- https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/third-party-instrumentation
128
-
129
- We've also added simpler APIs for tracing datastores and testing your
130
- extensions. It's our way of giving back to everyone who's helped build on
131
- the agent over the years. <3
132
-
133
- * Fix for anonymous class middleware naming
134
-
135
- Metric names based off anonymous middlewares lacked a class name in the UI.
136
- The Ruby agent will now look for a superclass, or default to AnonymousClass
137
- in those cases.
138
-
139
- * Improved exit behavior in the presence of Sinatra
140
-
141
- The agent uses an `at_exit` hook to ensure data from the last < 60s before a
142
- process exits is sent to New Relic. Previously, this hook was skipped if
143
- Sinatra::Application was defined. This unfortunately missed data for
144
- short-lived background processes that required, but didn't run, Sinatra. Now
145
- the agent only skips its `at_exit` hook if Sinatra actually runs from
146
- `at_exit`.
147
-
148
- ## v3.10.0 ##
149
-
150
- * Support for the Grape framework
151
-
152
- We now instrument the Grape REST API framework! To avoid conflicts with the
153
- third-party newrelic-grape gem, our instrumentation will not be installed if
154
- newrelic-grape is present in the Gemfile.
155
-
156
- For more details, see https://docs.newrelic.com/docs/agents/ruby-agent/frameworks/grape-instrumentation
157
-
158
- * Automatic Cross Application Tracing support for all Rack applications
159
-
160
- Previously Rack apps not using Rails or Sinatra needed to include the
161
- AgentHooks middleware to get Cross Application Tracing support. With
162
- these changes, this is no longer necessary. Any explicit references to
163
- AgentHooks can be removed unless the `disable_middleware_instrumentation`
164
- setting is set to `true`.
165
-
166
- * Metrics no longer reported from Puma master processes
167
-
168
- When using Puma's cluster mode with the preload_app! configuration directive,
169
- the agent will no longer start its reporting thread in the Puma master
170
- process. This should result in more accurate instance counts, and more
171
- accurate stats on the Ruby VMs page (since the master process will be
172
- excluded).
173
-
174
- * Better support for Sinatra apps used with Rack::Cascade
175
-
176
- Previously, using a Sinatra application as part of a Rack::Cascade chain would
177
- cause all transactions to be named after the Sinatra application, rather than
178
- allowing downstream applications to set the transaction name when the Sinatra
179
- application returned a 404 response. This has been fixed.
180
-
181
- * Updated support for Rubinius 2.3+ metrics
182
-
183
- Rubinius 2.3 introduced a new system for gathering metrics from the
184
- underlying VM. Data capture for the Ruby VM's page has been updated to take
185
- advantage of these. Thanks Yorick Peterse for the contribution!
186
-
187
- * Fix for missing ActiveJob traced errors
188
-
189
- ActiveJobs processed by backends where the Ruby agent lacked existing
190
- instrumentation missed reporting traced errors. This did not impact
191
- ActiveJobs used with Sidekiq or Resque, and has been fixed.
192
-
193
- * Fix possible crash in middleware tracing
194
-
195
- In rare circumstances, a failure in the agent early during tracing of a web
196
- request could lead to a cascading error when trying to capture the HTTP status
197
- code of the request. This has been fixed. Thanks to Michal Cichra for the fix!
198
-
199
- ## v3.9.9 ##
200
-
201
- * Support for Ruby 2.2
202
-
203
- A new version of Ruby is available, and the Ruby agent is ready to run on
204
- it. We've been testing things out since the early previews so you can
205
- upgrade to the latest and greatest and use New Relic right away to see how
206
- the new Ruby's performing for you.
207
-
208
- * Support for Rails 4.2 and ActiveJob
209
-
210
- Not only is a new Ruby available, but a new Rails is out too! The Ruby agent
211
- provides all the usual support for Rails that you'd expect, and we
212
- instrument the newly released ActiveJob framework that's part of 4.2.
213
-
214
- * Security fix for handling of error responses from New Relic servers
215
-
216
- This release fixes a potential security issue wherein an attacker who was able
217
- to impersonate New Relic's servers could have triggered arbitrary code
218
- execution in agent's host processes by sending a specially-crafted error
219
- response to a data submission request.
220
-
221
- This issue is mitigated by the fact that the agent uses SSL certificate
222
- checking in order to verify the identity of the New Relic servers to which it
223
- connects. SSL is enabled by default by the agent, and can be enforced
224
- account-wide by enabling High Security Mode for your account:
225
-
226
- https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/high-security
227
-
228
- * Fix for transactions with invalid URIs
229
-
230
- If an application used the agent's `ignore_url_regexes` config setting to
231
- ignore certain transactions, but received an invalid URI, the agent would
232
- fail to record the transaction. This has been fixed.
233
-
234
- * Fixed incompatibility with newrelic-grape
235
-
236
- The 3.9.8 release of the Ruby agent included disabled prototyped
237
- instrumentation for the Grape API framework. This introduced an
238
- incompatibility with the existing third party extension newrelic-grape. This
239
- has been fixed. Newrelic-grape continues to be the right solution until
240
- full agent support for Grape is available.
241
-
242
- ## v3.9.8 ##
243
-
244
- * Custom Insights events API
245
-
246
- In addition to attaching custom parameters to the events that the Ruby agent
247
- generates automatically for each transaction, you can now record custom event
248
- types into Insights with the new NewRelic::Agent.record_custom_event API.
249
-
250
- For details, see https://docs.newrelic.com/docs/insights/new-relic-insights/adding-querying-data/inserting-custom-events-new-relic-agents
251
-
252
- * Reduced memory usage for idling applications
253
-
254
- Idling applications using the agent could previously appear to leak memory
255
- because of native allocations during creation of new SSL connections to our
256
- servers. These native allocations didn't factor into triggering Ruby's
257
- garbage collector.
258
-
259
- The agent will now re-use a single TCP connection to our servers for as long
260
- as possible, resulting in improved memory usage for applications that are
261
- idling and not having GC triggered for other reasons.
262
-
263
- * Don't write to stderr during CPU sampling
264
-
265
- The Ruby agent's code for gathering CPU information would write error
266
- messages to stderr on some FreeBSD systems. This has been fixed.
267
-
268
- * LocalJumpError on Rails 2.x
269
-
270
- Under certain conditions, Rails 2.x controller instrumentation could fail
271
- with a LocalJumpError when an action was not being traced. This has been
272
- fixed.
273
-
274
- * Fixed config lookup in warbler packaged apps
275
-
276
- When running a Ruby application from a standalone warbler .jar file on
277
- JRuby, the packaged config/newrelic.yml was not properly found. This has
278
- been fixed, and thanks to Bob Beaty for the help getting it fixed!
279
-
280
- * Hash iteration failure in middleware
281
-
282
- If a background thread iterated over the keys in the Rack env hash, it could
283
- cause failures in New Relic's AgentHooks middleware. This has been fixed.
284
-
285
- ## v3.9.7 ##
286
-
287
- * Support for New Relic Synthetics
288
-
289
- The Ruby agent now gives you additional information for requests from New
290
- Relic Synthetics. More transaction traces and events give you a clearer look
291
- into how your application is performing around the world.
292
-
293
- For more details, see https://docs.newrelic.com/docs/synthetics/new-relic-synthetics/getting-started/new-relic-synthetics
294
-
295
- * Support for multiple job per fork gems with Resque
296
-
297
- The resque-jobs-per-fork and resque-multi-job-forks gems alter Resque to
298
- fork every N jobs instead of every job. This previously caused issues for
299
- the Ruby agent, but those have been resolved. These gems are fully supported.
300
-
301
- Running Resque with the FORK_PER_JOB=false environment variable setting is
302
- also supported now.
303
-
304
- For more details on our Resque support, see https://docs.newrelic.com/docs/agents/ruby-agent/background-jobs/resque-instrumentation
305
-
306
- * Support agent when starting Resque Pool from Rake task
307
-
308
- When running resque-pool with its provided rake tasks, the agent would not
309
- start up properly. Thanks Tiago Sousa for the fix!
310
-
311
- * Fix for DelayedJob + Rails 4.x queue depth metrics
312
-
313
- The Ruby agent periodically records DelayedJob queuedepth as a metric, but
314
- this didn't work properly in Rails 4.x applications. This has been fixed.
315
- Thanks Jonathan del Strother for his help with the issue!
316
-
317
- * Fix for failure in background transactions with rules.ignore_url_regexes
318
-
319
- The recently added feature for ignoring transactions via URL regexes caused
320
- errors for non-web transactions. This has been fixed.
321
-
322
- * Rename the TransactionNamer.name method to TransactionNamer.name_for
323
-
324
- The internal TransactionNamer class had a class method called 'name', with a
325
- different signature than the existing Class#name method and could cause
326
- problems when trying to introspect instances of the class.
327
-
328
- Thanks to Dennis Taylor for contributing this fix!
329
-
330
- ## v3.9.6 ##
331
-
332
- * Rails 4.2 ActiveJob support
333
-
334
- A new version of Rails is coming! One of the highlight features is
335
- ActiveJob, a framework for interacting with background job processors. This
336
- release of the Ruby agent adds instrumentation to give you insight into
337
- ActiveJob, whether you're just testing it out or running it for real.
338
-
339
- Metrics are recorded around enqueuing ActiveJobs, and background transactions
340
- are started for any ActiveJob performed where the agent didn't already
341
- provide specific instrumentation (such as DelayedJob, Resque and Sidekiq).
342
-
343
- Since Rails 4.2 is still in beta we'd love to hear any feedback on this
344
- instrumentation so it'll be rock solid for the general release!
345
-
346
- * Ruby 2.2.0-preview1 updates
347
-
348
- Ruby 2.2.0 is on its way later in the year, and the Ruby agent is ready for
349
- it. Updates to the GC stats and various other small changes have already been
350
- applied, and our automated tests are running against 2.2.0 so the agent will
351
- be ready on release day.
352
-
353
- * Ignoring transactions by URL
354
-
355
- While you could always ignore transactions by controller and action, the
356
- Ruby agent previously lacked a way to ignore by specific URLs or patterns
357
- without code changes. This release adds the config setting,
358
- `rules.ignore_url_regexes` to ignore specific transactions based on the
359
- request URL as well. For more information, see the documentation at:
360
- https://docs.newrelic.com/docs/agents/ruby-agent/installation-configuration/ignoring-specific-transactions#config-ignoring
361
-
362
- * Better dependency detection in non-Rack applications
363
-
364
- The Ruby agent runs dependency detection at key points in the Rack and Rails
365
- lifecycle, but non-Rails apps could occasionally miss out instrumenting late
366
- loaded libraries. The agent now runs an additional dependency detection
367
- during manual_start to more seamlessly install instrumentation in any app.
368
-
369
- * Excluding /newrelic routes from developer mode
370
-
371
- Recent changes to track time in middleware resulted in New Relic's developer
372
- mode capturing its own page views in the list. This has been fixed. Thanks
373
- to Ignatius Reza Lesmana for the report!
374
-
375
- * Spikes in external time
376
-
377
- Timeouts during certain external HTTP requests could result in incorrect
378
- large spikes in the time recorded by the agent. This has been fixed.
379
-
380
- * Recognize browser_monitoring.auto_instrument setting in non-Rails apps
381
-
382
- The `browser_monitoring.auto_instrument` config setting disables
383
- auto-injection of JavaScript into your pages, but was not properly obeyed in
384
- Sinatra and other non-Rails contexts. This has been fixed.
385
-
386
- * Failures to gather CPU thread time on JRuby
387
-
388
- JRuby running on certain JVM's and operating systems (FreeBSD in particular)
389
- did not always support the method being used to gather CPU burn metrics.
390
- This would result in a failure during those transactions. This has been
391
- fixed.
392
-
393
- * Fix for rare race condition in Resque instrumentation
394
-
395
- A race condition in the agent's Resque instrumentation that could cause rare
396
- Resque job failures in high-throughput Resque setups has been fixed. This bug
397
- would manifest as an exception with the following error message:
398
- "RuntimeError: can't add a new key into hash during iteration" and a backtrace
399
- leading through the PipeChannelManager class in the agent.
400
-
401
- ## v3.9.5 ##
402
-
403
- * Per-dyno data on Heroku
404
-
405
- When running on Heroku, data from the agent can now be broken out by dyno
406
- name, allowing you to more easily see what's happening on a per-dyno level.
407
- Dynos on Heroku are now treated in the same way that distinct hosts on other
408
- platforms work.
409
-
410
- By default, 'scheduler' and 'run' dyno names will be aggregated into
411
- 'scheduler.*' and 'run.*' to avoid unbounded growth in the number of reported
412
- hostnames.
413
-
414
- Read more about this feature on our Heroku docs page:
415
- https://docs.newrelic.com/docs/agents/ruby-agent/miscellaneous/ruby-agent-heroku
416
-
417
- * HTTP response codes in Insights events
418
-
419
- The Ruby agent will now capture HTTP response codes from Rack applications
420
- (including Rails and Sinatra apps) and include them under the httpResponseCode
421
- attribute on events sent to Insights.
422
-
423
- * Stricter limits on memory usage of SQL traces
424
-
425
- The agent now imposes stricter limits on the number of distinct SQL traces
426
- that it will buffer in memory at any point in time, leading to more
427
- predictable memory consumption even in exceptional circumstances.
428
-
429
- * Improved reliability of thread profiling
430
-
431
- Several issues that would previously have prevented the successful completion
432
- and transmission of thread profiles to New Relic's servers have been fixed.
433
-
434
- These issues were related to the use of recursion in processing thread
435
- profiles, and have been addressed by both limiting the maximum depth of the
436
- backtraces recorded in thread profiles, and eliminating the agent's use of
437
- recursion in processing profile data.
438
-
439
- * Allow tracing Rails view helpers with add_method_tracer
440
-
441
- Previously, attempting to trace a Rails view helper method using
442
- add_method_tracer on the view helper module would lead to a NoMethodError
443
- when the traced method was called (undefined method `trace_execution_scoped').
444
- This has been fixed.
445
-
446
- This issue was an instance of the Ruby 'dynamic module inclusion' or 'double
447
- inclusion' problem. Usage of add_method_tracer now no longer relies upon the
448
- target class having actually picked up the trace_execution_scoped method from
449
- the NewRelic::Agent::MethodTracer module.
450
-
451
- * Improved performance of queue time parsing
452
-
453
- The number of objects allocated while parsing the front-end timestamps on
454
- incoming HTTP requests has been significantly reduced.
455
-
456
- Thanks to Aleksei Magusev for the contribution!
457
-
458
- ## v3.9.4 ##
459
-
460
- * Allow agent to use alternate certificate stores
461
-
462
- When connecting via SSL to New Relic services, the Ruby agent verifies its
463
- connection via a certificate bundle shipped with the agent. This had problems
464
- with certain proxy configurations, so the `ca_bundle_path` setting in
465
- newrelic.yml can now override where the agent locates the cert bundle to use.
466
-
467
- For more information see the documentation at:
468
- https://docs.newrelic.com/docs/agents/ruby-agent/installation-configuration/ssl-settings-ruby-agent
469
-
470
- * Rails 4.2 beta in tests
471
-
472
- Although still in beta, a new version of Rails is on its way! We're
473
- already running our automated test suites against the beta to ensure New
474
- Relic is ready the day the next Rails is released.
475
-
476
- * ActiveRecord 4 cached queries fix
477
-
478
- Queries that were hitting in the ActiveRecord 4.x query cache were
479
- incorrectly being counted as database time by the agent.
480
-
481
- * Fix for error in newrelic.yml loading
482
-
483
- If your application ran with a RAILS_ENV that was not listed in newrelic.yml
484
- recent agent versions would give a NameError rather than a helpful message.
485
- This has been fixed. Thanks Oleksiy Kovyrin for the patch!
486
-
487
- ## v3.9.3 ##
488
-
489
- * Fix to prevent proxy credentials transmission
490
-
491
- This update prevents proxy credentials set in the agent config file from
492
- being transmitted to New Relic.
493
-
494
- ## v3.9.2 ##
495
-
496
- * Added API for ignoring transactions
497
-
498
- This release adds three new API calls for ignoring transactions:
499
-
500
- - `NewRelic::Agent.ignore_transaction`
501
- - `NewRelic::Agent.ignore_apdex`
502
- - `NewRelic::Agent.ignore_enduser`
503
-
504
- The first of these ignores a transaction completely: nothing about it will be
505
- reported to New Relic. The second ignores only the Apdex metric for a single
506
- transaction. The third disables javascript injection for browser monitoring
507
- for the current transaction.
508
-
509
- These methods differ from the existing newrelic_ignore_* method in that they
510
- may be called *during* a transaction based on some dynamic runtime criteria,
511
- as opposed to at the class level on startup.
512
-
513
- See the docs for more details on how to use these methods:
514
- https://docs.newrelic.com/docs/agents/ruby-agent/installation-and-configuration/ignoring-specific-transactions
515
-
516
- * Improved SQL obfuscation
517
-
518
- SQL queries containing string literals ending in backslash ('\') characters
519
- would previously not have been obfuscated correctly by the Ruby agent prior to
520
- transmission to New Relic. In addition, SQL comments were left un-obfuscated.
521
- This has been fixed, and the test coverage for SQL obfuscation has been
522
- improved.
523
-
524
- * newrelic_ignore* methods now work when called in a superclass
525
-
526
- The newrelic_ignore* family of methods previously did not apply to subclasses
527
- of the class from which it was called, meaning that Rails controllers
528
- inheriting from a single base class where newrelic_ignore had been called
529
- would not be ignored. This has been fixed.
530
-
531
- * Fix for rare crashes in Rack::Request#params on Sinatra apps
532
-
533
- Certain kinds of malformed HTTP requests could previously have caused
534
- unhandled exceptions in the Ruby agent's Sinatra instrumentation, in the
535
- Rack::Request#params method. This has been fixed.
536
-
537
- * Improved handling for rare errors caused by timeouts in Excon requests
538
-
539
- In some rare cases, the agent would emit a warning message in its log file and
540
- abort instrumentation of a transaction if a timeout occurred during an
541
- Excon request initiated from within that transaction. This has been fixed.
542
-
543
- * Improved behavior when the agent is misconfigured
544
-
545
- When the agent is misconfigured by attempting to shut it down without
546
- it ever having been started, or by attempting to disable instrumentation after
547
- instrumentation has already been installed, the agent will no longer raise an
548
- exception, but will instead log an error to its log file.
549
-
550
- * Fix for ignore_error_filter not working in some configurations
551
-
552
- The ignore_error_filter method allows you to specify a block to be evaluated
553
- in order to determine whether a given error should be ignored by the agent.
554
- If the agent was initially disabled, and then later enabled with a call to
555
- manual_start, the ignore_error_filter would not work. This has been fixed.
556
-
557
- * Fix for Capistrano 3 ignoring newrelic_revision
558
-
559
- New Relic's Capistrano recipes support passing parameters to control the
560
- values recorded with deployments, but user provided :newrelic_revision was
561
- incorrectly overwritten. This has been fixed.
562
-
563
- * Agent errors logged with ruby-prof in production
564
-
565
- If the ruby-prof gem was available in an environment without New Relic's
566
- developer mode enabled, the agent would generate errors to its log. This has
567
- been fixed.
568
-
569
- * Tighter requirements on naming for configuration environment variables
570
-
571
- The agent would previously assume any environment variable containing
572
- 'NEWRELIC' was a configuration setting. It now looks for this string as a
573
- prefix only.
574
-
575
- Thanks to Chad Woolley for the contribution!
576
-
577
- ## v3.9.1 ##
578
-
579
- * Ruby 1.8.7 users: upgrade or add JSON gem now
580
-
581
- Ruby 1.8.7 is end-of-lifed, and not receiving security updates, so we strongly
582
- encourage all users with apps on 1.8.7 to upgrade.
583
-
584
- If you're not able to upgrade yet, be aware that a coming release of the Ruby
585
- agent will require users of Ruby 1.8.7 to have the 'json' gem available within
586
- their applications in order to continue sending data to New Relic.
587
-
588
- For more details, see:
589
- https://docs.newrelic.com/docs/ruby/ruby-1.8.7-support
590
-
591
- * Support for new Cross Application Trace view
592
-
593
- This release enhances cross application tracing with a visualization of
594
- the cross application calls that a specific Transaction Trace is involved
595
- in. The new visualization helps you spot bottlenecks in external services
596
- within Transaction Traces and gives you an end-to-end understanding
597
- of how the transaction trace is used by other applications and services.
598
- This leads to faster problem diagnosis and better collaboration across
599
- teams. All agents involved in the cross application communication must
600
- be upgraded to see the complete graph. You can view cross application
601
- traces from in the Transaction Trace drill-down.
602
-
603
- * High security mode V2
604
-
605
- The Ruby agent now supports V2 of New Relic's high security mode. To enable
606
- it, you must add 'high_security: true' to your newrelic.yml file, *and* enable
607
- high security mode through the New Relic web interface. The local agent
608
- setting must be in agreement with the server-side setting, or the agent will
609
- shut down and no data will be collected.
610
-
611
- Customers who already had the server-side high security mode setting enabled
612
- must add 'high_security: true' to their agent configuration files when
613
- upgrading to this release.
614
-
615
- For details on high security mode, see:
616
- http://docs.newrelic.com/docs/accounts-partnerships/accounts/security/high-security
617
-
618
- * Improved memcached instrumentation
619
-
620
- More accurate instrumentation for the 'cas' command when using version 1.8.0
621
- or later of the memcached gem. Previous versions of the agent would count all
622
- time spent in the block given to 'cas' as memcache time, but 1.8.0 and later
623
- allows us to more accurately measure just the time spent talking to memcache.
624
-
625
- Many thanks to Francis Bogsanyi for contributing this change!
626
-
627
- * Improved support for Rails apps launched from outside the app root directory
628
-
629
- The Ruby agent attempts to resolve the location of its configuration file at
630
- runtime relative to the directory that the host process is started from.
631
-
632
- In cases where the host process was started from outside of the application's
633
- root directory (for example, if the process is started from from '/'), it will
634
- now also attempt to locate its configuration file based on the value of
635
- Rails.root for Rails applications.
636
-
637
- * Better compatibility with ActionController::Live
638
-
639
- Browser Application Monitoring auto-injection can cause request failures under
640
- certain circumstances when used with ActionController::Live, so the agent will
641
- now automatically detect usage of ActionController::Live, and not attempt
642
- auto-injection for those requests (even if auto-instrumentation is otherwise
643
- enabled).
644
-
645
- Many thanks to Rodrigo Rosenfeld Rosas for help diagnosing this issue!
646
-
647
- * Fix for occasional spikes in external services time
648
-
649
- Certain kinds of failures during HTTP requests made by an application could
650
- have previously resulted in the Ruby agent reporting erroneously large amounts
651
- of time spent in outgoing HTTP requests. This issue manifested most obviously
652
- in spikes on the 'Web external' band on the main overview graph. This issue
653
- has now been fixed.
654
-
655
- * Fix 'rake newrelic:install' for Rails 4 applications
656
-
657
- The newrelic:install rake task was previously not working for Rails 4
658
- applications and has been fixed.
659
-
660
- Thanks to Murahashi Sanemat Kenichi for contributing this fix!
661
-
662
- ## v3.9.0 ##
663
-
664
- * Rack middleware instrumentation
665
-
666
- The Ruby agent now automatically instruments Rack middlewares!
667
-
668
- This means that the agent can now give you a more complete picture of your
669
- application's response time, including time spent in middleware. It also means
670
- that requests which previously weren't captured by the agent because they
671
- never made it to the bottom of your middleware stack (usually a Rails or
672
- Sinatra application) will now be captured.
673
-
674
- After installing this version of the Ruby agent, you'll see a new 'Middleware'
675
- band on your application's overview graph, and individual middlewares will
676
- appear in transaction breakdown charts and transaction traces.
677
-
678
- The agent can instrument middlewares that are added from a config.ru file via
679
- Rack::Builder, or via Rails' middleware stack in Rails 3.0+.
680
-
681
- This instrumentation may be disabled with the
682
- disable_middlware_instrumentation configuration setting.
683
-
684
- For more details, see the documentation for this feature:
685
-
686
- - http://docs.newrelic.com/docs/ruby/rack-middlewares
687
- - http://docs.newrelic.com/docs/ruby/middleware-upgrade-changes
688
-
689
- * Capistrano 3.x support
690
-
691
- Recording application deployments using Capistrano 3.x is now supported.
692
-
693
- Many thanks to Jennifer Page for the contribution!
694
-
695
- * Better support for Sidekiq's Delayed extensions
696
-
697
- Sidekiq jobs executed via the Delayed extensions (e.g. the #delay method) will
698
- now be named after the actual class that #delay was invoked against, and will
699
- have their job arguments correctly captured if the sidekiq.capture_params
700
- configuration setting is enabled.
701
-
702
- Many thanks to printercu for the contribution!
703
-
704
- * Improved Apdex calculation with ignored error classes
705
-
706
- Previously, a transaction resulting in an exception that bubbled up to the top
707
- level would always be counted as failing for the purposes of Apdex
708
- calculations (unless the transaction name was ignored entirely). Now,
709
- exceptions whose classes have been ignored by the
710
- error_collector.ignore_errors configuration setting will not cause a
711
- transaction to be automatically counted as failing.
712
-
713
- * Allow URIs that are not parseable by stdlib's URI if addressable is present
714
-
715
- There are some URIs that are valid by RFC 3986, but not parseable by Ruby's
716
- stdlib URI class. The Ruby agent will now attempt to use the addressable gem
717
- to parse URIs if it is present, allowing requests against these problematic
718
- URIs to be instrumented.
719
-
720
- Many thanks to Craig R Webster and Amir Yalon for their help with this issue!
721
-
722
- * More robust error collection from Resque processes
723
-
724
- Previously, traced errors where the exception class was defined in the Resque
725
- worker but not in the Resque master process would not be correctly handled by
726
- the agent. This has been fixed.
727
-
728
- * Allow Sinatra apps to set the New Relic environment without setting RACK_ENV
729
-
730
- The NEW_RELIC_ENV environment variable may now be used to specify the
731
- environment the agent should use from its configuration file, independently of
732
- RACK_ENV.
733
-
734
- Many thanks to Mario Izquierdo for the contribution!
735
-
736
- * Better error handling in Browser Application Monitoring injection
737
-
738
- The agent middleware that injects the JavaScript code necessary for Browser
739
- Application Monitoring now does a better job of catching errors that might
740
- occur during the injection process.
741
-
742
- * Allow disabling of Net::HTTP instrumentation
743
-
744
- Most instrumentation in the Ruby agent can be disabled easily via a
745
- configuration setting. Our Net::HTTP instrumentation was previously an
746
- exception, but now it can also be disabled with the disable_net_http
747
- configuration setting.
748
-
749
- * Make Rails constant presence check more defensive
750
-
751
- The Ruby agent now guards against the (rare) case where an application has a
752
- Rails constant defined, but no Rails::VERSION constant (because Rails is not
753
- actually present).
754
-
755
- Many thanks to Vladimir Kiselev for the contribution!
756
-
757
- ## v3.8.1 ##
758
-
759
- * Better handling for Rack applications implemented as middlewares
760
-
761
- When using a Sinatra application as a middleware around another app (for
762
- example, a Rails app), or manually instrumenting a Rack middleware wrapped
763
- around another application, the agent would previously generate two separate
764
- transaction names in the New Relic UI (one for the middleware, and one for
765
- the inner application).
766
-
767
- As of this release, the agent will instead unify these two parts into a single
768
- transaction in the UI. The unified name will be the name assigned to the
769
- inner-most traced transaction by default. Calls to
770
- NewRelic::Agent.set_transaction_name will continue to override the default
771
- names assigned by the agent's instrumentation code.
772
-
773
- This change also makes it possible to run X-Ray sessions against transactions
774
- of the 'inner' application in cases where one instrumented app is wrapped in
775
- another that's implemented as a middleware.
776
-
777
- * Support for mongo-1.10.0
778
-
779
- The Ruby agent now instruments version 1.10.0 of the mongo gem (versions 1.8.x
780
- and 1.9.x were already supported, and continue to be).
781
-
782
- * Allow setting configuration file path via an option to manual_start
783
-
784
- Previously, passing the :config_path option to NewRelic::Agent.manual_start
785
- would not actually affect the location that the agent would use to look for
786
- its configuration file. This has been fixed, and the log messages emitted when
787
- a configuration file is not found should now be more helpful.
788
-
789
- ## v3.8.0 ##
790
-
791
- * Better support for forking and daemonizing dispatchers (e.g. Puma, Unicorn)
792
-
793
- The agent should now work out-of-the box with no special configuration on
794
- servers that fork or daemonize themselves (such as Unicorn or Puma in some
795
- configurations). The agent's background thread will be automatically restarted
796
- after the first transaction processed within each child process.
797
-
798
- This change means it's no longer necessary to set the
799
- 'restart_thread_in_children setting' in your agent configuration file if you
800
- were doing so previously.
801
-
802
- * Rails 4.1 support
803
-
804
- Rails 4.1 has shipped, and the Ruby agent is ready for it! We've been running
805
- our test suites against the release candidates with no significant issues, so
806
- we're happy to announce full compatibility with this new release of Rails.
807
-
808
- * Ruby VM measurements
809
-
810
- The Ruby agent now records more detailed information about the performance and
811
- behavior of the Ruby VM, mainly focused around Ruby's garbage collector. This
812
- information is exposed on the new 'Ruby VM' tab in the UI. For details about
813
- what is recorded, see:
814
-
815
- http://docs.newrelic.com/docs/ruby/ruby-vm-stats
816
-
817
- * Separate in-transaction GC timings for web and background processes
818
-
819
- Previously, an application with GC instrumentation enabled, and both web and
820
- background processes reporting in to it would show an overly inflated GC band
821
- on the application overview graph, because data from both web and non-web
822
- transactions would be included. This has been fixed, and GC time during web
823
- and non-web transactions is now tracked separately.
824
-
825
- * More accurate GC measurements on multi-threaded web servers
826
-
827
- The agent could previously have reported inaccurate GC times on multi-threaded
828
- web servers such as Puma. It will now correctly report GC timings in
829
- multi-threaded contexts.
830
-
831
- * Improved ActiveMerchant instrumentation
832
-
833
- The agent will now trace the store, unstore, and update methods on
834
- ActiveMerchant gateways. In addition, a bug preventing ActiveMerchant
835
- instrumentation from working on Ruby 1.9+ has been fixed.
836
-
837
- Thanks to Troex Nevelin for the contribution!
838
-
839
- * More robust Real User Monitoring script injection with charset meta tags
840
-
841
- Previous versions of the agent with Real User Monitoring enabled could have
842
- injected JavaScript code into the page above a charset meta tag. By the HTML5
843
- spec, the charset tag must appear in the first 1024 bytes of the page, so the
844
- Ruby agent will now attempt to inject RUM script after a charset tag, if one
845
- is present.
846
-
847
- * More robust connection sequence with New Relic servers
848
-
849
- A rare bug that could cause the agent's initial connection handshake with
850
- New Relic servers to silently fail has been fixed, and better logging has been
851
- added to the related code path to ease diagnosis of any future issues.
852
-
853
- * Prevent over-counting of queue time with nested transactions
854
-
855
- When using add_transaction_tracer on methods called from within a Rails or
856
- Sinatra action, it was previously possible to get inflated queue time
857
- measurements, because queue time would be recorded for both the outer
858
- transaction (the Rails or Sinatra action) and the inner transaction (the
859
- method given to add_transaction_tracer). This has been fixed, so only the
860
- outermost transaction will now record queue time.
861
-
862
- ## v3.7.3 ##
863
-
864
- * Obfuscation for PostgreSQL explain plans
865
-
866
- Fixes an agent bug with PostgreSQL where parameters from the original query
867
- could appear in explain plans sent to New Relic servers, even when SQL
868
- obfuscation was enabled. Parameters from the query are now masked in explain
869
- plans prior to transmission when transaction_tracer.record_sql is set to
870
- 'obfuscated' (the default setting).
871
-
872
- For more information, see:
873
- https://docs.newrelic.com/docs/traces/security-for-postgresql-explain-plans
874
-
875
- * More accurate categorization of SQL statements
876
-
877
- Some SQL SELECT statements that were previously being mis-categorized as
878
- 'SQL - OTHER' will now correctly be tagged as 'SQL - SELECT'. This
879
- particularly affected ActiveRecord users using PostgreSQL.
880
-
881
- * More reliable Typhoeus instrumentation
882
-
883
- Fixed an issue where an exception raised from a user-specified on_complete
884
- block would cause our Typhoeus instrumentation to fail to record the request.
885
-
886
- * Fix for Puma 2.8.0 cluster mode (3.7.3.204)
887
-
888
- Puma's 2.8.0 release renamed a hook New Relic used to support Puma's cluster
889
- mode. This resulted in missing data for users running Puma. Thanks Benjamin
890
- Kudria for the fix!
891
-
892
- * Fix for deployment command bug (3.7.3.204)
893
-
894
- Problems with file loading order could result in `newrelic deployments`
895
- failing with an unrecognized command error. This has been fixed.
896
-
897
- ## v3.7.2 ##
898
-
899
- * Mongo instrumentation improvements
900
-
901
- Users of the 'mongo' MongoDB client gem will get more detailed instrumentation
902
- including support for some operations that were not previously captured, and
903
- separation of aggregate metrics for web transactions from background jobs.
904
-
905
- An issue with ensure_index when passed a symbol or string was also fixed.
906
- Thanks Maxime RETY for the report!
907
-
908
- * More accurate error tracing in Rails 4
909
-
910
- Traced errors in Rails 4 applications will now be correctly associated with
911
- the transaction they occurred in, and custom attributes attached to the
912
- transaction will be correctly attached to the traced error as well.
913
-
914
- * More accurate partial-rendering metrics for Rails 4
915
-
916
- View partials are now correctly treated as sub-components of the containing
917
- template render in Rails 4 applications, meaning that the app server breakdown
918
- graphs for Rails 4 transactions should be more accurate and useful.
919
-
920
- * Improved Unicorn 4.8.0 compatibility
921
-
922
- A rare issue that could lead to spurious traced errors on app startup for
923
- applications using Unicorn 4.8.0 has been fixed.
924
-
925
- * meta_request gem compatibility
926
-
927
- An incompatibility with the meta_request gem has been fixed.
928
-
929
- * Typhoeus 0.6.4+ compatibility
930
-
931
- A potential crash with Typhoeus 0.6.4+ when passing a URI object instead of a
932
- String instance to one of Typhoeus's HTTP request methods has been fixed.
933
-
934
- * Sequel single threaded mode fix
935
-
936
- The agent will no longer attempt to run EXPLAIN queries for slow SQL
937
- statements issued using the Sequel gem in single-threaded mode, since
938
- doing so could potentially cause crashes.
939
-
940
- * Additional functionality for add_custom_parameters
941
-
942
- Calling add_custom_parameters adds parameters to the system codenamed
943
- Rubicon. For more information, see http://newrelic.com/software-analytics
944
-
945
- * Update gem signing cert (3.7.2.195)
946
-
947
- The certificate used to sign newrelic_rpm expired in February. This patch
948
- updates that for clients installing with verification.
949
-
950
- ## v3.7.1 ##
951
-
952
- * MongoDB support
953
-
954
- The Ruby agent provides support for the mongo gem, versions 1.8 and 1.9!
955
- Mongo calls are captured for transaction traces along with their parameters,
956
- and time spent in Mongo shows up on the Database tab.
957
-
958
- Support for more Mongo gems and more UI goodness will be coming, so watch
959
- http://docs.newrelic.com/docs/ruby/mongo for up-to-date status.
960
-
961
- * Harvest thread restarts for forked and daemonized processes
962
-
963
- Historically framework specific code was necessary for the Ruby agent to
964
- successfully report data after an app forked or daemonized. Gems or scripts
965
- with daemonizing modes had to wait for agent support or find workarounds.
966
-
967
- With 3.7.1 setting `restart_thread_in_children: true` in your newrelic.yml
968
- automatically restarts the agent in child processes without requiring custom
969
- code. For now the feature is opt-in, but future releases may default it on.
970
-
971
- * Fix for missing HTTP time
972
-
973
- The agent previously did not include connection establishment time for
974
- outgoing Net::HTTP requests. This has been corrected, and reported HTTP
975
- timings should now be more accurate.
976
-
977
- * Fix for Mongo ensure_index instrumentation (3.7.1.182)
978
-
979
- The Mongo instrumentation for ensure_index in 3.7.1.180 was not properly
980
- calling through to the uninstrumented version of this method. This has been
981
- fixed in 3.7.1.182. Thanks to Yuki Miyauchi for the fix!
982
-
983
- * Correct first reported metric timespan for forking dispatchers (3.7.1.188)
984
-
985
- The first time a newly-forked process (in some configurations) reported metric
986
- data, it would use the startup time of the parent process as the start time
987
- for that metric data instead of its own start time. This has been fixed.
988
-
989
- ## v3.7.0 ##
990
-
991
- * Official Rubinius support (for Rubinius >= 2.2.1)
992
-
993
- We're happy to say that all known issues with the Ruby agent running on
994
- Rubinius have been resolved as of Rubinius version 2.2.1! See
995
- http://docs.newrelic.com/docs/ruby/rubinius for the most up-to-date status.
996
-
997
- * RUM injection updates
998
-
999
- The Ruby agent's code for both automatic and manual injection of Real User
1000
- Monitoring scripts has been improved. No application changes are required, but
1001
- the new injection logic is simpler, faster, more robust, and paves the way for
1002
- future improvements to Real User Monitoring.
1003
-
1004
- * More robust communication with New Relic
1005
-
1006
- Failures when transmitting data to New Relic could cause data to be held over
1007
- unnecessarily to a later harvest. This has been improved both to handle
1008
- errors more robustly and consistently, and to send data as soon as possible.
1009
-
1010
- * Fix for agent not restarting on server-side config changes
1011
-
1012
- A bug in 3.6.9 caused the agent to not reset correctly after server-side
1013
- config changes. New settings would not be received without a full process
1014
- restart. This has been fixed.
1015
-
1016
- * Blacklisting rake spec tasks
1017
-
1018
- A blacklist helps the agent avoid starting during rake tasks. Some default
1019
- RSpec tasks were missing. Thanks for the contribution Kohei Hasegawa!
1020
-
1021
- ## v3.6.9 ##
1022
-
1023
- * Experimental Rubinius 2.x support
1024
-
1025
- The agent is now being tested against the latest version of Rubinius. While
1026
- support is still considered experimental, you can track the progress at
1027
- http://docs.newrelic.com/docs/ruby/rubinius for up to date status.
1028
-
1029
- * Capture arguments for Resque and Sidekiq jobs
1030
-
1031
- The agent can optionally record arguments for your Resque and Sidekiq jobs on
1032
- transaction traces and traced errors. This is disabled by default, but may be
1033
- enabled by setting resque.capture_params or sidekiq.capture_params.
1034
-
1035
- Thanks to Juan Ignacio Pumarino, Ken Mayer, Paul Henry, and Eric Saxby for
1036
- their help with this feature!
1037
-
1038
- * Supported versions rake task and documentation
1039
-
1040
- We've improved our documentation for what Ruby and gem versions we support.
1041
- Run `rake newrelic:supported_versions` or see the latest agent's versions at
1042
- https://docs.newrelic.com/docs/ruby/supported-frameworks.
1043
-
1044
- * ActiveRecord 4.0 explain plans for JRuby and Rubinius
1045
-
1046
- The agent's ActiveRecord 4.0 instrumentation could not gather SQL explain
1047
- plans on JRuby by default because of a dependency on ObjectSpace, which isn't
1048
- avialable by default. This has been fixed.
1049
-
1050
- * Fix for Curb http_put_with_newrelic
1051
-
1052
- A bug in the agent caused PUT calls in the Curb gem to crash. This has been
1053
- fixed. Thanks to Michael D'Auria and Kirk Diggler for the contributions!
1054
-
1055
- * Fix for head position on RUM injection
1056
-
1057
- Certain unusual HTML documents resulted in browser monitoring injecting
1058
- incorrect content. Thanks Alex McHale for the contribution!
1059
-
1060
- * Specify the Content-Type header in developer mode
1061
-
1062
- Thanks Jared Ning for the contribution!
1063
-
1064
- ## v3.6.8 ##
1065
-
1066
- * X-Ray Sessions support
1067
-
1068
- X-Ray Sessions provide more targeted transaction trace samples and thread
1069
- profiling for web transactions. For full details see our X-Ray sessions
1070
- documentation at https://newrelic.com/docs/site/xray-sessions.
1071
-
1072
- * Percentiles and Histograms
1073
-
1074
- The Ruby Agent now captures data that provides percentile and histogram views
1075
- in the New Relic UI.
1076
-
1077
- * CPU metrics re-enabled for JRuby >= 1.7.0
1078
-
1079
- To work around a JRuby bug, the Ruby agent stopped gathering CPU metrics on
1080
- that platform. With the bug fixed, the agent can gather those metrics again.
1081
- Thanks Bram de Vries for the contribution!
1082
-
1083
- * Missing Resque transaction traces (3.6.8.168)
1084
-
1085
- A bug in 3.6.8.164 prevented transaction traces in Resque jobs from being
1086
- communicated back to New Relic. 3.6.8.168 fixes this.
1087
-
1088
- * Retry on initial connect (3.6.8.168)
1089
-
1090
- Failure to contact New Relic on agent start-up would not properly retry. This
1091
- has been fixed.
1092
-
1093
- * Fix potential memory leak on failure to send to New Relic (3.6.8.168)
1094
-
1095
- 3.6.8.164 introduced a potential memory leak when transmission of some kinds
1096
- of data to New Relic servers failed. 3.6.8.168 fixes this.
1097
-
1098
- ## v3.6.7 ##
1099
-
1100
- * Resque-pool support
1101
-
1102
- Resque processes started via the resque-pool gem weren't recognized by the
1103
- Ruby agent. The agent now starts correctly in those worker processes.
1104
-
1105
- * Environment-based configuration
1106
-
1107
- All settings in newrelic.yml can now be configured via environment variables.
1108
- See https://newrelic.com/docs/ruby/ruby-agent-configuration for full details.
1109
-
1110
- * Additional locking option for Resque (3.6.7.159)
1111
-
1112
- There have been reports of worker process deadlocks in Resque when using the
1113
- Ruby agent. An optional lock is now available to avoid those deadlocks. See
1114
- https://newrelic.com/docs/ruby/resque-instrumentation for more details.
1115
-
1116
- * HTTP connection setup timeout (3.6.7.159)
1117
-
1118
- HTTP initialization in the agent lacked an appropriate timeout,
1119
- leading to dropouts in reporting under certain network error conditions.
1120
-
1121
- * Unnecessary requests from Resque jobs (3.6.7.159)
1122
-
1123
- An issue causing Resque jobs to unnecessarily make requests against New Relic
1124
- servers was fixed.
1125
-
1126
- * Fix compatibility issues with excon and curb instrumentation
1127
-
1128
- This release of the agent fixes a warning seen under certain circumstances
1129
- with the excon gem (most notably, when excon was used by fog), as well as
1130
- a bug with the curb instrumentation that conflicted with the feedzirra gem.
1131
-
1132
- * Allow license key to be set by Capistrano variables
1133
-
1134
- A license key can be passed via a Capistrano variable where previously it
1135
- could only be in newrelic.yml. Thanks Chris Marshall for the contribution!
1136
-
1137
- * Make HTTP client instrumentation aware of "Host" request header
1138
-
1139
- If a "Host" header is set explicitly on an HTTP request, that hostname will
1140
- be used for external metrics. Thanks Mislav Marohnić for the contribution!
1141
-
1142
- * Fix ActiveSupport::Concern warnings with MethodTracer
1143
-
1144
- Including NewRelic::Agent::MethodTracer in a class using Concerns could cause
1145
- deprecation warnings. Thanks Mike Połtyn for the contribution!
1146
-
1147
- * Fix Authlogic constant name
1148
-
1149
- Code checking for the Authlogic module was using in the wrong case. Thanks
1150
- Dharam Gollapudi for the contribution!
1151
-
1152
- ## v3.6.6 ##
1153
-
1154
- * HTTPClient and Curb support
1155
-
1156
- The Ruby agent now supports the HTTPClient and Curb HTTP libraries! Cross
1157
- application tracing and more is fully supported for these libraries. For more
1158
- details see https://newrelic.com/docs/ruby/ruby-http-clients.
1159
-
1160
- * Sinatra startup improvements
1161
-
1162
- In earlier agent versions, newrelic_rpm had to be required after Sinatra to
1163
- get instrumentation. Now the agent should start when your Sinatra app starts
1164
- up in rackup, thin, unicorn, or similar web servers.
1165
-
1166
- * Puma clustered mode support
1167
-
1168
- Clustered mode in Puma was not reporting data without manually adding a hook
1169
- to Puma's configuration. The agent will now automatically add this hook.
1170
-
1171
- * SSL certificate verification
1172
-
1173
- Early versions of the agent's SSL support provided an option to skip
1174
- certificate verification. This option has been removed.
1175
-
1176
- ## v3.6.5 ##
1177
-
1178
- * Rails 4.0 Support
1179
-
1180
- The Ruby agent is all set for the recent general release of Rails 4.0! We've
1181
- been tracking the RC's, and that work paid off. Versions 3.6.5 and 3.6.4 of
1182
- the Ruby agent should work fine with Rails 4.0.0.
1183
-
1184
- * Excon and Typhoeus support
1185
-
1186
- The Ruby agent now supports the Excon and Typhoeus HTTP libraries! For more
1187
- details see https://newrelic.com/docs/ruby/ruby-http-clients.
1188
-
1189
- ## v3.6.4 ##
1190
-
1191
- * Exception Whitelist
1192
-
1193
- We've improved exception message handling for applications running in
1194
- high security mode. Enabling 'high_security' now removes exception messages
1195
- entirely rather than simply obfuscating any SQL.
1196
-
1197
- By default this feature affects all exceptions, though you can configure a
1198
- whitelist of exceptions whose messages should be left intact.
1199
-
1200
- More details: https://newrelic.com/docs/ruby/ruby-agent-configuration
1201
-
1202
- * Fix a race condition affecting some Rails applications at startup
1203
-
1204
- Some Rails applications using newrelic_rpm were affected by a race condition
1205
- at startup that manifested as an error when model classes with associations
1206
- were first loaded. The cause of these errors has been addressed by moving the
1207
- generation of the agent's EnvironmentReport on startup from a background
1208
- thread to the main thread.
1209
-
1210
- ## v3.6.3 ##
1211
-
1212
- * Better Sinatra Support
1213
-
1214
- A number of improvements have been made to our Sinatra instrumentation.
1215
- More details: https://newrelic.com/docs/ruby/sinatra-support-in-the-ruby-agent
1216
-
1217
- Sinatra instrumentation has been updated to more accurately reflect the final
1218
- route that was actually executed, taking pass and conditions into account.
1219
-
1220
- New Relic middlewares for error collection, real user monitoring, and cross
1221
- application tracing are automatically inserted into the middleware stack.
1222
-
1223
- Ignoring routes, similar to functionality available to Rails controllers, is
1224
- now available in Sinatra as well.
1225
-
1226
- Routes in 1.4 are properly formatting in transaction names. Thanks Zachary
1227
- Anker for the contribution!
1228
-
1229
- * Padrino Support
1230
-
1231
- Along with improving our support of Sinatra, we've also extended that to
1232
- supporting Padrino, a framework that builds on Sinatra. Web transactions
1233
- should show up in New Relic now for Padrino apps automatically. The agent has
1234
- been tested against the latest Padrino in versions 0.11.x and 0.10.x.
1235
-
1236
- * Main overview graph only shows web transactions
1237
-
1238
- In the past database times from background jobs mixed with other web transaction
1239
- metrics in the main overview graph. This often skewed graphs. A common workaround
1240
- was to send background jobs to a separate application, but that should no longer
1241
- be necessary as the overview graphs now only represent web transactions.
1242
-
1243
- ## v3.6.2 ##
1244
-
1245
- * Sequel support
1246
-
1247
- The Ruby agent now supports Sequel, a database toolkit for Ruby. This
1248
- includes capturing SQL calls and model operations in transaction traces, and
1249
- recording slow SQL calls. See https://newrelic.com/docs/ruby/sequel-instrumentation
1250
- for full details.
1251
-
1252
- * Thread profiling fix
1253
-
1254
- The prior release of the agent (version 3.6.1) broke thread profiling. A
1255
- profile would appear to run, but return no data. This has been fixed.
1256
-
1257
- * Fix for over-counted Net::HTTP calls
1258
-
1259
- Under some circumstances, calls into Net::HTTP were being counted twice in
1260
- metrics and transaction traces. This has been fixed.
1261
-
1262
- * Missing traced errors for Resque applications
1263
-
1264
- Traced errors weren't displaying for some Resque workers, although the errors
1265
- were factored into the overall count graphs. This has been fixed, and traced
1266
- errors should be available again after upgrading the agent.
1267
-
1268
- ## v3.6.1 ##
1269
-
1270
- * Full URIs for HTTP requests are recorded in transaction traces
1271
-
1272
- When recording a transaction trace node for an outgoing HTTP call via
1273
- Net::HTTP, the agent will now save the full URI (instead of just the hostname)
1274
- for the request. Embedded credentials, the query string, and the fragment will
1275
- be stripped from the URI before it is saved.
1276
-
1277
- * Simplify Agent Autostart Logic
1278
-
1279
- Previously the agent would only start when it detected a supported
1280
- "Dispatcher", meaning a known web server or background task framework. This
1281
- was problematic for customers using webservers that the agent was not
1282
- configured to detect (e.g. Puma). Now the agent will attempt to report any
1283
- time it detects it is running in a monitored environment (e.g. production).
1284
- There are two exceptions to this. The agent will not autostart in a rails
1285
- console or irb session or when the process was invoked by a rake task (e.g.
1286
- rake assets:precompile). The NEWRELIC_ENABLE environment variable can be set
1287
- to true or false to force the agent to start or not start.
1288
-
1289
- * Don't attempt to resolve collector hostname when proxy is in use
1290
-
1291
- When a proxy is configured, the agent will not attempt to lookup and cache the
1292
- IP address of New Relic server to which it is sending data, since DNS may not
1293
- be available in some environments. Thanks to Bill Kirtley for the contribution
1294
-
1295
- * Added NewRelic::Agent.set_transaction_name and NewRelic::Agent.get_transaction_name
1296
-
1297
- Ordinarily the name of your transaction is defined up-front, but if you'd like to
1298
- change the name of a transaction while it is still running you can use
1299
- **NewRelic::Agent.set_transaction_name()**. Similarly, if you need to know the name
1300
- of the currently running transaction, you can use **NewRelic::Agent.get_transaction_name()**.
1301
-
1302
- ## v3.6.0 ##
1303
-
1304
- * Sidekiq support
1305
-
1306
- The Ruby agent now supports the Sidekiq background job framework. Traces from
1307
- Sidekiq jobs will automatically show up in the Background tasks on New Relic
1308
- similar to Resque and Delayed::Job tasks.
1309
-
1310
- * Improved thread safety
1311
-
1312
- The primary metrics data structures in the Ruby agent are now thread safe.
1313
- This should provide better reliability for the agent under JRuby and threaded
1314
- scenarios such as Sidekiq or Puma.
1315
-
1316
- * More robust environment report
1317
-
1318
- The agent's analysis of the local environment (e.g. OS, Processors, loaded
1319
- gems) will now work in a wider variety of app environments, including
1320
- Sinatra.
1321
-
1322
- * Experimental Rainbows! support
1323
-
1324
- The Ruby agent now automatically detects and instruments the Rainbows! web
1325
- server. This support is considered experimental at present, and has not been
1326
- tested with all dispatch modes.
1327
-
1328
- Thanks to Joseph Chen for the contribution.
1329
-
1330
- * Fix a potential file descriptor leak in Resque instrumentation
1331
-
1332
- A file descriptor leak that occurred when DontPerform exceptions were used to
1333
- abort processing of a job has been fixed. This should allow the Resque
1334
- instrumentation work correctly with the resque-lonely_job gem.
1335
-
1336
- ## v3.5.8 ##
1337
-
1338
- * Key Transactions
1339
-
1340
- The Ruby agent now supports Key Transactions! Check out more details on the
1341
- feature at https://newrelic.com/docs/site/key-transactions
1342
-
1343
- * Ruby 2.0
1344
-
1345
- The Ruby agent is compatible with Ruby 2.0.0 which was just released.
1346
-
1347
- * Improved Sinatra instrumentation
1348
-
1349
- Several cases around the use of conditions and pass in Sinatra are now
1350
- better supported by the Ruby agent. Thanks Konstantin for the help!
1351
-
1352
- * Outbound HTTP headers
1353
-
1354
- Adds a 'X-NewRelic-ID' header to outbound Net::HTTP requests. This change
1355
- helps improve the correlation of performance between services in a service-
1356
- oriented architecture for a forthcoming feature. In the meantime, to disable
1357
- the header, set this in your newrelic.yml:
1358
-
1359
- cross_application_tracer:
1360
- enabled: false
1361
-
1362
- * Automatically detect Resque dispatcher
1363
-
1364
- The agent does better auto-detection for the Resque worker process.
1365
- This should reduce the need to set NEW_RELIC_DISPATCHER=resque directly.
1366
-
1367
- ## v3.5.7 ##
1368
-
1369
- * Resolved some issues with tracking of frontend queue time, particularly
1370
- when the agent is running on an app hosted on Heroku. The agent will now
1371
- more reliably parse the headers described in
1372
- https://newrelic.com/docs/features/tracking-front-end-time and will
1373
- automatically detect whether the times provided are in seconds,
1374
- milliseconds or microseconds.
1375
-
1376
- ## v3.5.6 ##
1377
-
1378
- * Use HTTPS by default
1379
-
1380
- The agent now defaults to using SSL when it communicates with New Relic's
1381
- servers. By default is already configured New Relic does not transmit any
1382
- sensitive information (e.g. SQL parameters are masked), but SSL adds an
1383
- additional layer of security. Upgrading customers may need to remove the
1384
- "ssl: false" directive from their newrelic.yml to enable ssl. Customers on
1385
- Jruby may need to install the jruby-openssl gem to take advantage of this
1386
- feature.
1387
-
1388
- * Fix two Resque-related issues
1389
-
1390
- Fixes a possible hang on exit of an instrumented Resque master process
1391
- (https://github.com/defunkt/resque/issues/578), as well as a file descriptor
1392
- leak that could occur during startup of the Resque master process.
1393
-
1394
- * Fix for error graph over 100%
1395
-
1396
- Some errors were double counted toward the overall error total. This
1397
- resulted in graphs with error percentages over 100%. This duplication did
1398
- not impact the specific error traces captured, only the total metric.
1399
-
1400
- * Notice gracefully handled errors in Sinatra
1401
-
1402
- When show_exceptions was set to false in Sinatra, errors weren't caught
1403
- by New Relic's error collector. Now handled errors also have the chance
1404
- to get reported back.
1405
-
1406
- * Ruby 2.0 compatibility fixes
1407
-
1408
- Ruby 2.0 no longer finds protected methods by default, but will with a flag.
1409
- http://tenderlovemaking.com/2012/09/07/protected-methods-and-ruby-2-0.html
1410
-
1411
- Thanks Ravil Bayramgalin and Charlie Somerville for the fixes.
1412
-
1413
- * Auto-detect Trinidad as dispatcher
1414
-
1415
- Code already existing for detecting Trinidad as a dispatcher, but was only
1416
- accessible via an ENV variable. This now auto-detects on startup. Thanks
1417
- Robert Rasmussen for catching that.
1418
-
1419
- * Coercion of types in collector communication
1420
-
1421
- Certain metrics can be recorded with a Ruby Rational type, which JSON
1422
- serializes as a string rather than a floating point value. We now treat
1423
- coerce each outgoing value, and log issues before sending the data.
1424
-
1425
- * Developer mode fix for chart error
1426
-
1427
- Added require to fix a NameError in developer mode for summary page. Thanks
1428
- to Ryan B. Harvey.
1429
-
1430
- * Don't touch deprecated RAILS_ROOT if on Rails 3
1431
-
1432
- Under some odd startup conditions, we would look for the RAILS_ROOT constant
1433
- after failing to find the ::Rails.root in a Rails 3 app, causing deprecation
1434
- warnings. Thanks for Adrian Irving-Beer for the fix.
1435
-
1436
- ## v3.5.5 ##
1437
-
1438
- * Add thread profiling support
1439
-
1440
- Thread profiling performs statistical sampling of backtraces of all threads
1441
- within your Ruby processes. This feature requires MRI >= 1.9.2, and is
1442
- controlled via the New Relic web UI. JRuby support (in 1.9.x compat mode) is
1443
- considered experimental, due to issues with JRuby's Thread#backtrace.
1444
-
1445
- * Add audit logging capability
1446
-
1447
- The agent can now log all of the data it sends to the New Relic servers to
1448
- a special log file for human inspection. This feature is off by default, and
1449
- can be enabled by setting the audit_log.enabled configuration key to true.
1450
- You may also control the location of the audit log with the audit_log.path key.
1451
-
1452
- * Use config system for dispatcher, framework, and config file detection
1453
-
1454
- Several aspects of the agent's configuration were not being handled by the
1455
- configuration system. Detection/configuration of the dispatcher (e.g. passenger,
1456
- unicorn, resque), framework (e.g. rails3, sinatra), and newrelic.yml
1457
- location are now handled via the Agent environment, manual, and default
1458
- configuration sources.
1459
-
1460
- * Updates to logging across the agent
1461
-
1462
- We've carefully reviewed the logging messages that the agent outputs, adding
1463
- details in some cases, and removing unnecessary clutter. We've also altered
1464
- the startup sequence to ensure that we don't spam STDOUT with messages
1465
- during initialization.
1466
-
1467
- * Fix passing environment to manual_start()
1468
-
1469
- Thanks to Justin Hannus. The :env key, when passed to Agent.manual_start,
1470
- can again be used to specify which section of newrelic.yml is loaded.
1471
-
1472
- * Rails 4 support
1473
-
1474
- This release includes preliminary support for Rails 4 as of 4.0.0.beta.
1475
- Rails 4 is still in development, but the agent should work as expected for
1476
- people who are experimenting with the beta.
1477
-
1478
- ## v3.5.4 ##
1479
-
1480
- * Add queue time support for sinatra apps
1481
-
1482
- Sinatra applications can now take advantage of front end queue time
1483
- reporting. Thanks to Winfield Peterson for this contribution.
1484
-
1485
- * Simplify queue time configuration for nginx 1.2.6+
1486
-
1487
- Beginning in version 1.2.6, recently released as a development version, the
1488
- $msec variable can be used to set an http header. This change allows front
1489
- end queue time to be tracked in New Relic simply by adding this line to the
1490
- nginx config:
1491
-
1492
- proxy_set_header X-Queue-Start "t=${msec}000"
1493
-
1494
- It will no longer be necessary to compile a patched version of nginx or
1495
- compile in the perl or lua module to enable this functionality.
1496
-
1497
- Thanks to Lawrence Pit for the contribution.
1498
-
1499
- * Report back build number and stage along with version info
1500
-
1501
- In the 3.5.3 series the agent would fail to report its full version number
1502
- to NewRelic's environment report. For example it would report its version
1503
- as 3.5.3 instead of 3.5.3.25 or 3.5.3.25.beta. The agent will now report
1504
- its complete version number as defined in newrelic_rpm.gemspec.
1505
-
1506
- * The host and the port that the agent reports to can now be set from environment vars
1507
-
1508
- The host can be set with NEW_RELIC_HOST and the port with NEW_RELIC_PORT. These setting
1509
- will override any other settings in your newrelic.yml.
1510
-
1511
- * Fix RUM reporting to multiple applications
1512
-
1513
- When the agent is configured to report to multiple "roll up" applications
1514
- RUM did not work correctly.
1515
-
1516
- ## v3.5.3 ##
1517
-
1518
- * Update the collector protocol to use JSON and Ruby primitives
1519
-
1520
- The communication between the agent and the NewRelic will not longer be
1521
- marshaled Ruby objects, but rather JSON in the case of Ruby 1.9 and marshaled
1522
- Ruby primitives in the case of 1.8. This results in greater harvest efficiency
1523
- as well as feature parity with other New Relic agents.
1524
-
1525
- * Fix incorrect application of conditions in sinatra instrumentation
1526
-
1527
- The agent's sinatra instrumentation was causing sinatra's conditions to
1528
- be incorrectly applied in some obscure cases. The bug was triggered
1529
- when a condition was present on a lower priority route that would match
1530
- the current request, except for the presence of a higher priority route.
1531
-
1532
- ## v3.5.2 ##
1533
-
1534
- * Simplified process of running agent test suite and documented code
1535
- contribution process in GUIDELINES_FOR_CONTRIBUTING.
1536
-
1537
- ## v3.5.1 ##
1538
-
1539
- * Enabling Memory Profiling on Lion and Mountain Lion
1540
-
1541
- The agent's list of supported platforms for memory profiling wasn't correctly checking
1542
- for more recent versions of OS X.
1543
-
1544
- * Fixed an arity issue encountered when calling newrelic_notice_error from Rails applications.
1545
-
1546
- * End user queue time was not being properly reported, works properly now.
1547
-
1548
- * Server-side configuration for ignoring errors was not being heeded by agent.
1549
-
1550
- * Better handling of a thread safety issue.
1551
-
1552
- Some issues may remain, which we are working to address, but they should be gracefully handled
1553
- now, rather than crashing the running app.
1554
-
1555
- * Use "java_import" rather than "include_class" when require Java Jars into a JRuby app.
1556
-
1557
- Thanks to Jan Habermann for the pull request
1558
-
1559
- * Replaced alias_method mechanism with super call in DataMapper instrumentation.
1560
-
1561
- Thanks to Michael Rykov for the pull request
1562
-
1563
- * Fixed the Rubinius GC profiler.
1564
-
1565
- Thanks to Dirkjan Bussink
1566
-
1567
- * Use ActiveSupport.on_load to load controller instrumentation Rails 3.
1568
-
1569
- Thanks to Jonathan del Strother
1570
-
1571
- * Reduce the number of thread local reference in a particular high traffic method
1572
-
1573
- Thanks to Jeremy Kemper
1574
-
1575
- ## v3.5.0.1 ##
1576
-
1577
- * (Fix) Due to a serious resource leak we have ended support for versions of Phusion Passenger
1578
- older than 2.1.1. Users of older versions are encouraged upgrade to a more recent version.
1579
-
1580
- ## v3.5.0 ##
1581
-
1582
- * (Fix) RUM Stops Working After 3.4.2.1 Agent Upgrade
1583
-
1584
- v3.4.2.1 introduced a bug that caused the browser monitor auto instrumentation
1585
- (for RUM) default to be false. The correct value of true is now used
1586
-
1587
- * When the Ruby Agent detects Unicorn as the dispatcher it creates an INFO level log message
1588
- with additional information
1589
-
1590
- To help customers using Unicorn, if the agent detects it (Unicorn) is being used as the
1591
- dispatcher an INFO level log message it created that includes a link to New Relic
1592
- online doc that has additional steps that may be required to get performance data reporting.
1593
-
1594
- * (Fix) In version 3.4.2 of the Ruby Agent the server side value for Apdex T was disregarded
1595
-
1596
- With version 3.4.2 of the agent, the value set in the newrelic.yml file took precedence over the
1597
- value set in the New Relic UI. As of version 3.5.0 only the value for Apdex T set in the
1598
- New Relic UI will be used. Any setting in the yaml file will be ignored.
1599
-
1600
- * Improved Error Detection/Reporting capabilities for Rails 3 apps
1601
-
1602
- Some errors are missed by the agent's exception reporting handlers because they are
1603
- generated in the rails stack, outside of the instrumented controller action. A Rack
1604
- middleware is now included that can detect these errors as they bubble out of the middleware stack.
1605
- Note that this does not include Routing Errors.
1606
-
1607
- * The Ruby Agent now logs certain information it receives from the New Relic servers
1608
-
1609
- After connecting to the New Relic servers the agent logs the New Relic URL
1610
- of the app it is reporting to.
1611
-
1612
- * GC profiling overhead for Ruby 1.9 reduced
1613
-
1614
- For Ruby 1.9 the amount of time spent in GC profiling has been reduced.
1615
-
1616
- * Know issue with Ruby 1.8.7-p334, sqlite3-ruby 1.3.0 or older, and resque 1.23.0
1617
-
1618
- The Ruby Agent will not work in conjunction with Ruby 1.8.7-p334, sqlite3-ruby 1.3.3
1619
- or earlier, and resque 1.23.0. Your app will likely stop functioning. This is a known problem
1620
- with Ruby versions up to 1.8.7-p334. Upgrading to the last release of Ruby 1.8.7
1621
- is recommended. This issue has been present in every version of the agent we've tested
1622
- going back for a year.
1623
-
1624
-
1625
- ## v3.4.2.1 ##
1626
-
1627
- * Fix issue when app_name is nil
1628
-
1629
- If the app_name setting ends up being nil an exception got generated and the application
1630
- wouldn't run. This would notably occur when running a Heroku app locally without the
1631
- NEW_RELIC_APP_NAME environment variable set. A nil app_name is now detected and an
1632
- error logged specifying remediation.
1633
-
1634
- ## v3.4.2 ##
1635
-
1636
- * The RUM NRAGENT tk value gets more robustly sanitized to prevent potential XSS vulnerabilities
1637
-
1638
- The code that scrubs the token used in Real User Monitoring has been enhanced to be
1639
- more robust.
1640
-
1641
- * Support for Apdex T in server side configuration
1642
-
1643
- For those using server side configuration the Ruby Agent now supports setting
1644
- the Apdex T value via the New Relic UI.
1645
-
1646
- * Refactoring of agent config code
1647
-
1648
- The code that reads the configuration information and configures the agent
1649
- got substantially reorganized, consolidated, simplified, and made more robust.
1650
-
1651
- ## v3.4.1 ##
1652
- #### Bug Fixes ####
1653
- * Fix edge case in RUM auto instrumentation where X-UA-Compatible meta tag is
1654
- present but </head> tag is missing.
1655
-
1656
- There is a somewhat obscure edge case where RUM auto instrumentation will
1657
- crash a request. The issue seems to be triggered when the X-UA-Compatible
1658
- meta tag is present and the </head> tag is missing.
1659
-
1660
- * Fixed reference to @service.request_timeout to @request_timeout in
1661
- new_relic_service.rb. (Thanks to Matthew Savage)
1662
-
1663
- When a timeout occurred during connection to the collector an "undefined
1664
- method `request_timeout' for nil:NilClass'" would get raised.
1665
-
1666
- * preserve visibility on traced methods.
1667
-
1668
- Aliased methods now have the same visibility as the original traced method.
1669
- A couple of the esoteric methods created in the process weren't getting the
1670
- visibility set properly.
1671
-
1672
- * Agent service does not connect to directed shard collector after connecting
1673
- to proxy
1674
-
1675
- After connecting to collector proxy name of real collector was updated, but
1676
- ip address was not being updated causing connections to go to the proxy.
1677
- Agent now looks up ip address for real collector.
1678
-
1679
- * corrupt marshal data from pipe children crashing agent
1680
-
1681
- If the agent received corrupted data from the Reqsue worker child agent
1682
- it could crash the agent itself. fixed.
1683
-
1684
- * should reset RubyBench GC counter between polls
1685
-
1686
- On Ruby REE, the GC profiler does not reset the counter between polls. This
1687
- is only a problem if GC could happen *between* transactions, as in, for
1688
- example, out-of-band GC in Unicorn. fixed.
1689
-
1690
- v3.4.0.1
1691
- * Prevent the agent from resolving the collector address when disabled.
1692
- * Fix for error collector configuration that was introduced during beta.
1693
- * Preserve method visibility when methods are traced with #add_method_tracer and #add_transaction_tracer
1694
-
1695
- v3.4.0
1696
- * Major refactor of data transmission mechanism. This enabled child processes to send data to parent processes, which then send the data to the New Relic service. This should only affect Resque users, dramatically improving their experience.
1697
- * Moved Resque instrumentation from rpm_contrib to main agent. Resque users should discontinue use of rpm_contrib or upgrade to 2.1.11.
1698
- * Resolve issue with configuring the Error Collector when using server-side configuration.
1699
-
1700
- v3.3.5
1701
- * [FIX] Allow tracing of methods ending in ! and ?
1702
- * [PERF] Give up after scanning first 50k of the response in RUM
1703
- auto-instrumentation.
1704
- * [FIX] Don't raise when extracting metrics from SQL queries with non UTF-8 bytes.
1705
- * Replaced "Custom/DJ Locked Jobs" metric with new metrics for
1706
- monitoring DelayedJob: queue_length, failed_jobs, and locked_jobs, all under
1707
- Workers/DelayedJob. queue_length is also broken out by queue name or priority
1708
- depending on the version of DelayedJob deployed.
1709
-
1710
- v3.3.4.1
1711
- * Bug fix when rendering empty collection in Rails 3.1+
1712
-
1713
- v3.3.4
1714
- * Rails 3 view instrumentation
1715
-
1716
- v3.3.3
1717
- * Improved Sinatra instrumentation
1718
- * Limit the number of nodes collected in long running transactions to prevent leaking memory
1719
-
1720
- v3.3.2.1
1721
- * [SECURITY] fix for cookie handling by End User Monitoring instrumentation
1722
-
1723
- v3.3.2
1724
- * deployments recipe change: truncate git SHAs to 7 characters
1725
- * Fixes for obfuscation of PostgreSQL and SQLite queries
1726
- * Fix for lost database connections when using a forking framework
1727
- * Workaround for RedHat kernel bug which prevented blocking reads of /proc fs
1728
- * Do not trap signals when handling exceptions
1729
-
1730
- v3.3.1
1731
- * improved Ruby 1.8.6 support
1732
- * fix for issues with RAILS_ROOT deprecation warnings
1733
- * fixed incorrect 1.9 GC time reporting
1734
- * obfuscation for Slow SQL queries respects transaction trace config
1735
- * fix for RUM instrumentation repoting bad timing info in some cases
1736
- * refactored ActiveRecord instrumentation, no longer requires Rails
1737
-
1738
- v3.3.0
1739
- * fix for GC instrumentation when using Ruby 1.9
1740
- * new feature to correlate browser and server transaction traces
1741
- * new feature to trace slow sql statements
1742
- * fix to help cope with malformed rack responses
1743
- * do not try to instrument versions of ActiveMerchant that are too old
1744
-
1745
- v3.2.0.1
1746
- * Updated LICENSE
1747
- * Updated links to support docs
1748
-
1749
- v3.2.0
1750
- * Fix over-detection of mongrel and unicorn and only start the agent when
1751
- actual server is running
1752
- * Improve developer mode backtraces to support ruby 1.9.2, windows
1753
- * Fixed some cases where Memcache instrumentation was failing to load
1754
- * Ability to set log destination by NEW_RELIC_LOG env var
1755
- * Fix to mutex lib load issue
1756
- * Performance enhancements (thanks to Jeremy Kemper)
1757
- * Fix overly verbose STDOUT message (thanks to Anselm Helbig)
1758
-
1759
- v3.1.2
1760
- * Fixed some thread safety issues
1761
- * Work around for Ruby 1.8.7 Marshal crash bug
1762
- * Numerous community patches (Gabriel Horner, Bradley Harris, Diego Garcia,
1763
- Tommy Sullivan, Greg Hazel, John Thomas Marino, Paul Elliott, Pan Thomakos)
1764
- * Fixed RUM instrumentation bug
1765
-
1766
- v3.1.1
1767
- * Support for Rails 3.1 (thanks to Ben Hoskings via github)
1768
- * Support for Rubinius
1769
- * Fixed issues affecting some Delayed Job users where log files were not appearing
1770
- * Fixed an issue where some instrumentation might not get loaded in Rails apps
1771
- * Fix for memcached cas method (thanks to Andrew Long and Joseph Palermo )
1772
- * Fix for logger deprecation warning (thanks to Jonathan del Strother via github)
1773
- * Support for logging to STDOUT
1774
- * Support for Spymemcached client on jruby
1775
-
1776
- v3.1.0
1777
- * Support for aggregating data from short-running
1778
- processes to reduce reporting overhead
1779
- * Numerous bug fixes
1780
- * Increased unit test coverage
1781
-
1782
- v3.0.1
1783
- * Updated Real User Monitoring to reduce javascript size and improve
1784
- compatibility, fix a few known bugs
1785
-
1786
- v3.0.0
1787
- * Support for Real User Monitoring
1788
- * Back end work on internals to improve reliability
1789
- * added a 'log_file_name' and 'log_file_path' configuration variable to allow
1790
- setting the path and name of the agent log file
1791
- * Improve reliability of statistics calculations
1792
- * Remove some previously deprecated methods
1793
- * Remove Sequel instrumentation pending more work
1794
-
1795
- v2.14.1
1796
- * Avoid overriding methods named 'log' when including the MethodTracer module
1797
- * Ensure that all load paths for 'new_relic/agent' go through 'new_relic/control' first
1798
- * Remove some debugging output from tests
1799
-
1800
- v2.14.0
1801
- * Dependency detection framework to prevent multi-loading or early-loading
1802
- of instrumentation files
1803
-
1804
- v2.13.5
1805
- * Moved the API helper to the github newrelic_api gem.
1806
- * Revamped queue time to include server, queue, and middleware time
1807
- * Increased test coverage and stability
1808
- * Add Trinidad as a dispatcher (from Calavera, on github)
1809
- * Sequel instrumentation from Aman Gupta
1810
- * patches to 1.9 compatibility from dkastner on github
1811
- * Support for 1.9.2's garbage collection instrumentation from Justin Weiss
1812
- * On Heroku, existing queue time headers will be detected
1813
- * Fix rack constant scoping in dev mode for 1.9 (Rack != ::Rack)
1814
- * Fixes for instrumentation loading failing on Exception classes that
1815
- are not subclasses of StandardError
1816
- * Fix active record instrumentation load order for Rails 3
1817
-
1818
- v2.13.4
1819
- * Update DNS lookup code to remove hardcoded IP addresses
1820
-
1821
- v2.13.3
1822
- * Dalli instrumentation from Mike Perham (thanks Mike)
1823
- * Datamapper instrumentation from Jordan Ritter (thanks Jordan)
1824
- * Apdex now defaults to 0.5
1825
- !!! Please be aware that if you are not setting an apdex,
1826
- !!! this will cause a change in the apparent performance of your app.
1827
- * Make metric hashes threadsafe (fixes problems sending metrics in Jruby
1828
- threaded code)
1829
- * Delete obsolete links to metric docs in developer mode
1830
- * Detect gems when using Bundler
1831
- * Fix newrelic_ignore in Rails 3
1832
- * Break metric parser into a separate vendored gem
1833
- * When using Unicorn, preload_app: true is recommended to get proper
1834
- after_fork behavior.
1835
-
1836
- v2.13.2
1837
- * Remove a puts. Yes, a whole release for a puts.
1838
-
1839
- v2.13.1
1840
- * Add missing require in rails 3 framework control
1841
-
1842
- v2.13.0
1843
- * developer mode is now a rack middleware and can be used on any framework;
1844
- it is no longer supported automatically on versions of Rails prior to 2.3;
1845
- see README for details
1846
- * memcache key recording for transaction traces
1847
- * use system_timer gem if available, fall back to timeout lib
1848
- * address instability issues in JRuby 1.2
1849
- * renamed executable 'newrelic_cmd' to 'newrelic'; old name still supported
1850
- for backward compatibility
1851
- * added 'newrelic install' command to install a newrelic.yml file in the
1852
- current directory
1853
- * optimization to execution time measurement
1854
- * optimization to startup sequence
1855
- * change startup sequence so that instrumentation is installed after all
1856
- other gems and plugins have loaded
1857
- * add option to override automatic flushing of data on exit--send_data_on_exit
1858
- defaults to 'true'
1859
- * ignored errors no longer affect apdex score
1860
- * added record_transaction method to the api to allow recording
1861
- details from web and background transactions occurring outside RPM
1862
- * fixed a bug related to enabling a gold trial / upgrade not sending
1863
- transaction traces correctly
1864
-
1865
- v2.12.3
1866
- * fix regression in startup sequence
1867
-
1868
- v2.12.2
1869
- * fix for regression in Rails 2.1 inline rendering
1870
- * workaround bug found in some rubies that caused a segv and/or NoMemoryError
1871
- when deflating content for upload
1872
- * avoid creating connection thread in unicorn/passenger spawners
1873
-
1874
- v2.12.1
1875
- * fix bug in profile mode
1876
- * fix race condition in Delayed::Job instrumentation loading
1877
- * fix glassfish detection in latest glassfish gem
1878
-
1879
- v2.12.0
1880
- * support basic instrumentation for ActsAsSolr and Sunspot
1881
-
1882
- v2.11.3
1883
- * fix bug in startup when running JRuby
1884
-
1885
- v2.11.2
1886
- * fix for unicorn not reporting when the proc line had 'master' in it
1887
- * fix regression for passenger 2.0 and earlier
1888
- * fix after_fork in the shim
1889
-
1890
- v2.11.1
1891
- * republished gem without generated rdocs
1892
-
1893
- v2.11.0
1894
- * rails3 instrumentation (no developer mode support yet)
1895
- * removed the ensure_worker_thread started and instead defined an after_fork
1896
- handler that will set up the agent properly in forked processes.
1897
- * change at_exit handler so the shutdown always goes after other shutdown
1898
- handlers
1899
- * add visibility to active record db transactions in the rpm transaction
1900
- traces (thanks to jeremy kemper)
1901
- * fix regression in merb support which caused merb apps not to start
1902
- * added NewRelic::Agent.logger to the public api to write to the agent
1903
- log file.
1904
- * optimizations to background thread, controller instrumentation, memory
1905
- usage
1906
- * add logger method to public_api
1907
- * support list notation for ignored exceptions in the newrelic.yml
1908
-
1909
- v2.10.8
1910
- * fix bug in delayed_job instrumentation that caused the job queue sampler
1911
- to run in the wrong place
1912
- * change startup sequence and code that restarts the worker loop
1913
- thread
1914
- * detect the unicorn master and dont start the agent; hook in after_fork
1915
- * fix problem with the Authlogic metric names which caused errors in
1916
- developer mode. Authlogic metrics now adhere to the convention of
1917
- prefixing the name with 'Custom'
1918
- * allow more correct overriding of transaction trace settings in the
1919
- call to #manual_start
1920
- * simplify WorkerLoop and add better protection for concurrency
1921
- * preliminary support for rails3
1922
-
1923
- v2.10.6
1924
- * fix missing URL and referrer on some traced errors and transactions
1925
- * gather traced errors *after* executing the rescue chain in ActionController
1926
- * always load controller instrumentation
1927
- * pick up token validation from newrelic.yml
1928
-
1929
- v2.10.5
1930
- * fix bug in delayed_job instrumentation occurring when there was no DJ log
1931
-
1932
- v2.10.4
1933
- * fix incompatibility with Capistrano 2.5.16
1934
- * strip down URLs reported in transactions and errors to path only
1935
-
1936
- v2.10.3
1937
- * optimization to reduce overhead: move background samplers into foreground thread
1938
- * change default config file to ignore RoutingErrors
1939
- * moved the background task instrumentation into a separate tab in the RPM UI
1940
- * allow override of the RPM application name via NEWRELIC_APP_NAME environment variable
1941
- * revised Delayed::Job instrumentation so no manual_start is required
1942
- * send buffered data on shutdown
1943
- * expanded support for queue length and queue time
1944
- * remove calls to starts_with to fix Sinatra and non-rails deployments
1945
- * fix problem with apdex scores recording too low in some circumstances
1946
- * switch to jeweler for gem building
1947
- * minor fixes, test improvements, doc and rakefile improvements
1948
- * fix incompatibility with Hoptoad where Hoptoad was not getting errors handled by New Relic
1949
- * many other optimizations, bug fixes and documentation improvements
1950
-
1951
- v2.10.2.
1952
- * beta release of 2.10
1953
- * fix bugs with Sinatra app instrumentation
1954
- * minor doc updates
1955
-
1956
- v2.10.1.
1957
- * alpha release of 2.10
1958
- * rack support, including metal; ignores 404s; requires a module inclusion (see docs)
1959
- * sinatra support, displays actions named by the URI pattern matched
1960
- * add API method to abort transaction recording for in-flight transactions
1961
- * remove account management calls from newrelic_api.rb
1962
- * truncating extremely large transaction traces for efficiency
1963
- * fix error reporting in recipes; add newrelic_rails_env option to recipes to
1964
- override the rails env used to pull the app_name out of newrelic.yml
1965
- * added TorqueBox recognition (thanks Bob McWhirter)
1966
- * renamed config settings: enabled => monitor_mode; developer => developer_mode;
1967
- old names will still work in newrelic.yml
1968
- * instrumentation for DelayedJob (thanks Travis Tilley)
1969
- * added config switches to turn off certain instrumentation when you aren't
1970
- interested in the metrics, to save on overhead--see newrelic.yml for details.
1971
- * add profiling support to dev mode; very experimental!
1972
- * add 'multi_threaded' config option to indicate when the app is running
1973
- multi-threaded, so we can disable some instrumentation
1974
- * fix test failures in JRuby, REE
1975
- * improve Net::HTTP instrumentation so it's more efficient and distinguishes calls
1976
- between web and non-web transactions.
1977
- * database instrumentation notices all database commands in addition to the core commands
1978
- * add support for textmate to dev mode
1979
- * added add_transaction_tracer method to support instrumenting methods as
1980
- if they were web transactions; this will facilitate better visibility of background
1981
- tasks and eventually things like rack, metal and Sinatra
1982
- * adjusted apdex scores to reflect time spent in the mongrel queue
1983
- * fixed incompatibility with JRuby on startup
1984
- * implemented CPU measure for JRuby which reflects the cpu burn for
1985
- all controller actions (does not include background tasks)
1986
- * fixed scope issue with GC instrumentation, subtracting time from caller
1987
- * added # of GC calls to GC instrumentation
1988
- * renamed the dispatcher metric
1989
- * refactored stats_engine code for readability
1990
- * optimization: reduce wakeup times for harvest thread
1991
-
1992
- v2.10.0.
1993
- * alpha release of 2.10
1994
- * support unicorn
1995
- * instrumentation of GC for REE and MRE with GC patch
1996
- * support agent restarting when changes are made to the account
1997
- * removed #newrelic_notice_error from Object class, replaced by NewRelic::Agent#notice_error
1998
- * collect histogram statistics
1999
- * add custom parameters to newrelic_notice_error call to display
2000
- extra info for errors
2001
- * add method disable_all_tracing(&block) to execute a block without
2002
- capturing metrics
2003
- * newrelic_ignore now blocks all instrumentation collection for
2004
- the specified actions
2005
- * added doc to method_tracer API and removed second arg
2006
- requirement for add_method_tracer call
2007
- * instrumentation for Net::HTTP
2008
- * remove method_tracer shim to avoid timing problems in monitoring daemons
2009
- * for non-rails daemons, look at APP_ROOT and NRCONFIG env vars for custom locations
2010
-
2011
- v2.9.9.
2012
- * Disable at_exit handler for Unicorn which sometimes caused the
2013
- agent to stop reporting immediately.
2014
-
2015
- v2.9.8.
2016
- * add instrumentation for Net::HTTP calls, to show up as "External"
2017
- * added support for validating agents in the cloud.
2018
- * recognize Unicorn dispatcher
2019
- * add NewRelic module definitions to ActiveRecord instrumentation
2020
-
2021
- v2.9.5.
2022
- * Snow Leopard memory fix
2023
-
2024
- v2.9.4.
2025
- * clamp size of data sent to server
2026
- * reset statistics for passenger when forking to avoid erroneous data
2027
- * fix problem deserializing errors from the server
2028
- * fix incompatibility with postgres introduced in 2.9.
2029
-
2030
- v2.9.3.
2031
- * fix startup failure in Windows due to memory sampler
2032
- * add JRuby environment information
2033
-
2034
- v2.9.2.
2035
- * change default apdex_t to 0.5 seconds
2036
- * fix bug in deployments introduced by multi_homed setting
2037
- * support overriding the log in the agent api
2038
- * fix JRuby problem using objectspace
2039
- * display custom parameters when looking at transactions in dev mode
2040
- * display count of sql statements on the list of transactions in dev mode
2041
- * fixes for merb--thanks to Carl Lerche
2042
-
2043
- v2.9.1.
2044
- * add newrelic_ignore_apdex method to controller classes to allow
2045
- you to omit some actions from apdex statistics
2046
- * Add hook for Passenger shutdown events to get more timely shutdown
2047
- notices; this will help in more accurate memory readings in
2048
- Passenger
2049
- * add newrelic_notice_error to Object class
2050
- * optional ability to verify SSL certificates, note that this has some
2051
- performance and reliability implications
2052
- * support multi-homed host with multiple apps running on duplicate
2053
- ports
2054
-
2055
- v2.9.0.
2056
- Noteworthy Enhancements
2057
- * give visibility to templates and partials in Rails 2.1 and later, in
2058
- dev mode and production
2059
- * change active record metrics to capture statistics in adapter log()
2060
- call, resulting in lower overhead and improved visibility into
2061
- different DB operations; only AR operations that are not hitting the
2062
- query cache will be measured to avoid overhead
2063
- * added mongrel_rpm to the gem, a standalone daemon listening for custom
2064
- metric values sent from local processes (experimental); do mongrel_rpm
2065
- --help
2066
- * add API for system monitoring daemons (refer to KB articles); changed
2067
- API for manual starting of the agent; refer to
2068
- NewRelic::Agent.manual_start for details
2069
- * do certificate verification on ssl connections to
2070
- collector.newrelic.com
2071
- * support instances appearing in more than one application by allowing a
2072
- semicolon separated list of names for the newrelic.yml app_name
2073
- setting.
2074
- * combined agent logfiles into a single logfile
2075
- * use rpm server time for transaction traces rather than agent time
2076
-
2077
- Developer Mode (only) Enhancements
2078
- * show partial rendering in traces
2079
- * improved formatting of metric names in traces
2080
- * added number of queries to transactions in the transaction list
2081
- * added some sorting options for the transaction list
2082
- * added a page showing the list of active threads
2083
-
2084
- Compatibility Enhancements
2085
- * ruby 1.9.1 compatibility
2086
- * support concurrency when determining busy times, for 2.2 compatibility
2087
- * in jruby, use Java used heap for memory sampling if the system memory
2088
- is not accessible from an unsupported platform
2089
- * jruby will no longer start the agent now when running the console or
2090
- rake tasks
2091
- * API support for RPM as a footnote add-in
2092
- * webrick support restored
2093
-
2094
- Noteworthy bugfixes
2095
- * sample memory on linux by reading /proc/#{$$}/status file
2096
- * fixed ambiguous 'View' metrics showing up in controller breakdown
2097
- * removed Numeric extensions, including round_to, and to_ms
2098
- * using a different timeout mechanism when we post data to RPM
2099
- * remove usage of Rails::Info which had a side effect of enabling
2100
- ActiveRecord even when it wasn't an active framework
2101
- * moved CPU sampler off background thread and onto the harvest thread
2102
- * tests now run cleanly in any rails app using test:newrelic or
2103
- test:plugins
2104
-
2105
- Agent improvements to support future RPM enhancements
2106
- * add instrumentation to capture metrics on response codes; not yet
2107
- working in rails 2.3.*
2108
- * added http referrer to traced errors
2109
- * capture gem requirements from rails
2110
- * capture cpu utilization adjusted for processor count
2111
- * transaction sampling
2112
-
2113
- v2.8.10.
2114
- * fix thin support with rails 2.3.2 when using script/server
2115
- * fix incompatibility with rails 2.3.2 and script/server options
2116
- processing
2117
- * minor tweak to environment gathering for gem mode
2118
-
2119
- v2.8.9.
2120
- * fix problem finding the newrelic controller in dev mode
2121
- * fix incompatibility with older versions of optparse
2122
- * fix potential jvm problem with jruby
2123
- * remove test:all task definition to avoid conflicts
2124
- * change error message about window sampler in windows not supported to a
2125
- warning message
2126
-
2127
- v2.8.8.
2128
- * fix error with jruby on windows
2129
- * fix problem where webrick was being incorrectly detected causing some
2130
- problems with mongrel application assignments--had to disable webrick
2131
- for now
2132
-
2133
- v2.8.7.
2134
- * fix for ssl connection hanging problems
2135
- * fix problem recognizing mongrel in rails 2.3.2
2136
- * fastcgi support in rails 2.3.2
2137
- * put back webrick support
2138
-
2139
- v2.8.6.
2140
- * fix for capture_params when using file uploads in controller actions
2141
- * use pure ruby NS lookup for collector host to eliminate possibly
2142
- blocking applications
2143
-
2144
- v2.8.5.
2145
- * fix reference to CommandError which was breaking some cap scripts
2146
- * fix incompatibility with Rails 2.0 in the server API
2147
- * fix problem with litespeed with Lite accounts
2148
- * fix problem when ActiveRecord is disabled
2149
- * moved merb instrumentation to Merb::Controller instead of
2150
- AbstractController to address incompatibility with MailController
2151
- * fix problem in devmode displaying sql with embedded urls
2152
-
2153
- v2.8.4.
2154
- * fix bug in capistrano recipe causing cap commands to fail with error
2155
- about not finding Version class
2156
-
2157
- v2.8.3.
2158
- * refactor unit tests so they will run in a generic rails environment
2159
- * require classes in advance to avoid autoloading. this is to address
2160
- incompatibilities with desert as well as more flexibility in gem
2161
- initialization
2162
- * fixed newrelic_helper.rb 1.9 incompatibility
2163
-
2164
- v2.8.2.
2165
- * fix Ruby 1.9 syntax compatibility errors
2166
- * update the class loading sanity check, will notify server of errors
2167
- * fix agent output on script and rake task execution
2168
-
2169
- v2.8.1.
2170
- * Convert the deployment information upload script to an executable and
2171
- put in the bin directory. When installed as a gem this command is
2172
- symlinked to /usr/bin. Usage: newrelic_cmd deployments --help
2173
- * Fix issue invoking api when host is not set in newrelic.yml
2174
- * Fix deployments api so it will work from a gem
2175
- * Fix thin incompatibility in developer mode
2176
-
2177
- v2.8.0.
2178
- * add beta of api in new_relic_api.rb
2179
- * instrumented dynamic finders in ActiveRecord
2180
- * preliminary support for capturing deployment information via capistrano
2181
- * change memory sampler for solaris to use /usr/bin/ps
2182
- * allow ERB in newrelic.yml file
2183
- * merged support for merb into this version
2184
- * fix incompatibility in the developer mode with the safe_erb plugin
2185
- * fix module namespace issue causing an error accessing
2186
- NewRelic::Instrumentation modules
2187
- * fix issue where the agent sometimes failed to start up if there was a
2188
- transient network problem
2189
- * fix IgnoreSilentlyException message
2190
-
2191
- v2.7.4.
2192
- * fix error when trying to serialize some kinds of Enumerable objects
2193
- * added extra debug logging
2194
- * added app_name to app mapping
2195
-
2196
- v2.7.3.
2197
- * fix compatibility issue with 1.8.5 causing error with Dir.glob
2198
-
2199
- v2.7.2.
2200
- * fix problem with passenger edge not being a detected environment
2201
-
2202
- v2.7.1.
2203
- * fix problem with skipped dispatcher instrumentation
2204
-
2205
- v2.7.0.
2206
- * Repackage to support both plugin and Gem installation
2207
- * Support passenger/litespeed/jruby application naming
2208
- * Update method for calculating dispatcher queue time
2209
- * Show stack traces in RPM Transaction Traces
2210
- * Capture error source for TemplateErrors
2211
- * Clean up error stack traces.
2212
- * Support query plans from postgres
2213
- * Performance tuning
2214
- * bugfixes
2215
-
2216
- v2.5.3.
2217
- * fix error in transaction tracing causing traces not to show up
2218
-
2219
- v2.5.2.
2220
- * fixes for postgres explain plan support
2221
-
2222
- v2.5.1.
2223
- * bugfixes
2224
-
2225
- v2.5.0.
2226
- * add agent support for rpm 1.1 features
2227
- * Fix regression error with thin support
2228
-
2229
- v2.4.3.
2230
- * added 'newrelic_ignore' controller class method with :except and :only options for finer grained control
2231
- over the blocking of instrumentation in controllers.
2232
- * bugfixes
2233
-
2234
- v2.4.2.
2235
- * error reporting in early access
2236
-
2237
- v2.4.1.
2238
- * bugfix: initializing developer mode
2239
-
2240
- v2.4.0.
2241
- * Beta support for LiteSpeed and Passenger
2242
-
2243
- v2.3.7.
2244
- * bugfixes
2245
-
2246
- v2.3.6.
2247
- * bugfixes
2248
-
2249
- v2.3.5.
2250
- * bugfixes: pie chart data, rails 1.1 compatibility
2251
-
2252
- v2.3.4.
2253
- * bugfix
2254
-
2255
- v2.3.3.
2256
- * bugfix for non-mysql databases
2257
-
2258
- v2.3.2.
2259
- * bugfixes
2260
- * Add enhancement for Transaction Traces early access feature
2261
-
2262
- v2.3.1.
2263
- * bugfixes
2264
-
2265
- v2.3.0.
2266
- + Add support for Transaction Traces early access feature
2267
-
2268
- v2.2.2.
2269
- * bugfixes
2270
-
2271
- v2.2.1.
2272
- + Add rails 2.1 support for Developer Mode
2273
- + Changes to memory sampler: Add support for JRuby and fix Solaris support.
2274
- * Stop catching exceptions and start catching StandardError; other exception cleanup
2275
- * Add protective exception catching to the stats engine
2276
- * Improved support for thin domain sockets
2277
- * Support JRuby environments
2278
-
2279
- v2.1.6.
2280
- * bugfixes
2281
-
2282
- v2.1.5.
2283
- * bugfixes
2284
-
2285
- v2.1.4.
2286
- * bugfixes
2287
-
2288
- v2.1.3.
2289
- * bugfixes
2290
-
2291
- v2.1.2.
2292
- * bugfixes
2293
-
2294
- v2.1.1.
2295
- * bugfixes
2296
-
2297
- v2.1.0.
2298
- * release for private beta
2299
-
2300
-