newrelic_rpm 6.11.0.365 → 6.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (287) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -0
  3. data/CHANGELOG.md +260 -5
  4. data/CONTRIBUTING.md +106 -19
  5. data/Gemfile +1 -1
  6. data/LICENSE +208 -38
  7. data/README.md +81 -85
  8. data/ROADMAP.md +24 -0
  9. data/THIRD_PARTY_NOTICES.md +213 -0
  10. data/bin/nrdebug +1 -1
  11. data/init.rb +1 -1
  12. data/install.rb +1 -1
  13. data/lib/new_relic/agent.rb +12 -4
  14. data/lib/new_relic/agent/adaptive_sampler.rb +1 -1
  15. data/lib/new_relic/agent/agent.rb +14 -5
  16. data/lib/new_relic/agent/agent_logger.rb +1 -1
  17. data/lib/new_relic/agent/attribute_filter.rb +1 -1
  18. data/lib/new_relic/agent/attribute_processing.rb +1 -1
  19. data/lib/new_relic/agent/attributes.rb +3 -1
  20. data/lib/new_relic/agent/audit_logger.rb +11 -1
  21. data/lib/new_relic/agent/autostart.rb +1 -1
  22. data/lib/new_relic/agent/chained_call.rb +1 -1
  23. data/lib/new_relic/agent/commands/agent_command.rb +1 -1
  24. data/lib/new_relic/agent/commands/agent_command_router.rb +1 -1
  25. data/lib/new_relic/agent/commands/thread_profiler_session.rb +1 -1
  26. data/lib/new_relic/agent/configuration.rb +1 -1
  27. data/lib/new_relic/agent/configuration/default_source.rb +28 -2
  28. data/lib/new_relic/agent/configuration/dotted_hash.rb +1 -1
  29. data/lib/new_relic/agent/configuration/environment_source.rb +1 -1
  30. data/lib/new_relic/agent/configuration/event_harvest_config.rb +1 -1
  31. data/lib/new_relic/agent/configuration/high_security_source.rb +1 -1
  32. data/lib/new_relic/agent/configuration/manager.rb +1 -1
  33. data/lib/new_relic/agent/configuration/manual_source.rb +1 -1
  34. data/lib/new_relic/agent/configuration/mask_defaults.rb +1 -1
  35. data/lib/new_relic/agent/configuration/security_policy_source.rb +1 -1
  36. data/lib/new_relic/agent/configuration/server_source.rb +1 -1
  37. data/lib/new_relic/agent/configuration/yaml_source.rb +1 -1
  38. data/lib/new_relic/agent/connect/request_builder.rb +1 -1
  39. data/lib/new_relic/agent/connect/response_handler.rb +1 -1
  40. data/lib/new_relic/agent/custom_event_aggregator.rb +1 -1
  41. data/lib/new_relic/agent/database.rb +1 -1
  42. data/lib/new_relic/agent/database/explain_plan_helpers.rb +1 -1
  43. data/lib/new_relic/agent/database/obfuscation_helpers.rb +1 -1
  44. data/lib/new_relic/agent/database/obfuscator.rb +1 -1
  45. data/lib/new_relic/agent/database/postgres_explain_obfuscator.rb +1 -1
  46. data/lib/new_relic/agent/database_adapter.rb +33 -0
  47. data/lib/new_relic/agent/datastores.rb +1 -1
  48. data/lib/new_relic/agent/datastores/metric_helper.rb +1 -1
  49. data/lib/new_relic/agent/datastores/mongo.rb +1 -1
  50. data/lib/new_relic/agent/datastores/mongo/event_formatter.rb +1 -1
  51. data/lib/new_relic/agent/datastores/mongo/metric_translator.rb +1 -1
  52. data/lib/new_relic/agent/datastores/mongo/obfuscator.rb +1 -1
  53. data/lib/new_relic/agent/datastores/mongo/statement_formatter.rb +1 -1
  54. data/lib/new_relic/agent/datastores/redis.rb +1 -1
  55. data/lib/new_relic/agent/deprecator.rb +1 -1
  56. data/lib/new_relic/agent/distributed_tracing.rb +1 -1
  57. data/lib/new_relic/agent/distributed_tracing/cross_app_payload.rb +1 -1
  58. data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +3 -3
  59. data/lib/new_relic/agent/distributed_tracing/{distributed_trace_intrinsics.rb → distributed_trace_attributes.rb} +9 -5
  60. data/lib/new_relic/agent/distributed_tracing/distributed_trace_metrics.rb +1 -1
  61. data/lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb +1 -1
  62. data/lib/new_relic/agent/distributed_tracing/distributed_trace_transport_type.rb +1 -1
  63. data/lib/new_relic/agent/distributed_tracing/trace_context.rb +1 -1
  64. data/lib/new_relic/agent/distributed_tracing/trace_context_payload.rb +1 -1
  65. data/lib/new_relic/agent/encoding_normalizer.rb +1 -1
  66. data/lib/new_relic/agent/error_collector.rb +1 -1
  67. data/lib/new_relic/agent/error_event_aggregator.rb +1 -1
  68. data/lib/new_relic/agent/error_trace_aggregator.rb +1 -1
  69. data/lib/new_relic/agent/event_aggregator.rb +1 -1
  70. data/lib/new_relic/agent/event_buffer.rb +1 -1
  71. data/lib/new_relic/agent/event_listener.rb +1 -1
  72. data/lib/new_relic/agent/event_loop.rb +1 -1
  73. data/lib/new_relic/agent/external.rb +1 -1
  74. data/lib/new_relic/agent/guid_generator.rb +1 -1
  75. data/lib/new_relic/agent/harvester.rb +1 -1
  76. data/lib/new_relic/agent/heap.rb +1 -1
  77. data/lib/new_relic/agent/hostname.rb +1 -1
  78. data/lib/new_relic/agent/http_clients/abstract.rb +1 -1
  79. data/lib/new_relic/agent/http_clients/curb_wrappers.rb +1 -1
  80. data/lib/new_relic/agent/http_clients/excon_wrappers.rb +1 -1
  81. data/lib/new_relic/agent/http_clients/http_rb_wrappers.rb +1 -1
  82. data/lib/new_relic/agent/http_clients/httpclient_wrappers.rb +1 -1
  83. data/lib/new_relic/agent/http_clients/net_http_wrappers.rb +1 -1
  84. data/lib/new_relic/agent/http_clients/typhoeus_wrappers.rb +1 -1
  85. data/lib/new_relic/agent/http_clients/uri_util.rb +9 -9
  86. data/lib/new_relic/agent/instrumentation.rb +1 -1
  87. data/lib/new_relic/agent/instrumentation/action_cable_subscriber.rb +1 -1
  88. data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +1 -1
  89. data/lib/new_relic/agent/instrumentation/action_view_subscriber.rb +5 -6
  90. data/lib/new_relic/agent/instrumentation/active_job.rb +1 -1
  91. data/lib/new_relic/agent/instrumentation/active_merchant.rb +1 -1
  92. data/lib/new_relic/agent/instrumentation/active_record.rb +84 -39
  93. data/lib/new_relic/agent/instrumentation/active_record_helper.rb +17 -6
  94. data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +1 -1
  95. data/lib/new_relic/agent/instrumentation/active_record_prepend.rb +35 -11
  96. data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +1 -1
  97. data/lib/new_relic/agent/instrumentation/active_storage.rb +1 -1
  98. data/lib/new_relic/agent/instrumentation/active_storage_subscriber.rb +1 -1
  99. data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +10 -9
  100. data/lib/new_relic/agent/instrumentation/authlogic.rb +1 -1
  101. data/lib/new_relic/agent/instrumentation/bunny.rb +3 -1
  102. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +1 -1
  103. data/lib/new_relic/agent/instrumentation/curb.rb +7 -1
  104. data/lib/new_relic/agent/instrumentation/data_mapper.rb +1 -1
  105. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +3 -1
  106. data/lib/new_relic/agent/instrumentation/excon.rb +1 -1
  107. data/lib/new_relic/agent/instrumentation/excon/connection.rb +1 -1
  108. data/lib/new_relic/agent/instrumentation/excon/middleware.rb +1 -1
  109. data/lib/new_relic/agent/instrumentation/grape.rb +1 -1
  110. data/lib/new_relic/agent/instrumentation/http.rb +1 -1
  111. data/lib/new_relic/agent/instrumentation/httpclient.rb +1 -1
  112. data/lib/new_relic/agent/instrumentation/ignore_actions.rb +1 -1
  113. data/lib/new_relic/agent/instrumentation/memcache.rb +1 -1
  114. data/lib/new_relic/agent/instrumentation/memcache/dalli.rb +1 -1
  115. data/lib/new_relic/agent/instrumentation/merb/controller.rb +1 -1
  116. data/lib/new_relic/agent/instrumentation/merb/errors.rb +1 -1
  117. data/lib/new_relic/agent/instrumentation/middleware_proxy.rb +1 -1
  118. data/lib/new_relic/agent/instrumentation/middleware_tracing.rb +9 -7
  119. data/lib/new_relic/agent/instrumentation/mongo.rb +1 -1
  120. data/lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb +25 -5
  121. data/lib/new_relic/agent/instrumentation/net.rb +46 -29
  122. data/lib/new_relic/agent/instrumentation/net_prepend.rb +40 -0
  123. data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +2 -2
  124. data/lib/new_relic/agent/instrumentation/padrino.rb +3 -1
  125. data/lib/new_relic/agent/instrumentation/passenger_instrumentation.rb +1 -1
  126. data/lib/new_relic/agent/instrumentation/queue_time.rb +1 -1
  127. data/lib/new_relic/agent/instrumentation/rack.rb +3 -1
  128. data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +1 -1
  129. data/lib/new_relic/agent/instrumentation/rails/action_web_service.rb +1 -1
  130. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +1 -1
  131. data/lib/new_relic/agent/instrumentation/rails_middleware.rb +1 -1
  132. data/lib/new_relic/agent/instrumentation/rails_notifications/action_cable.rb +1 -1
  133. data/lib/new_relic/agent/instrumentation/rails_notifications/action_controller.rb +1 -1
  134. data/lib/new_relic/agent/instrumentation/rails_notifications/action_view.rb +1 -1
  135. data/lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb +1 -1
  136. data/lib/new_relic/agent/instrumentation/rake.rb +2 -1
  137. data/lib/new_relic/agent/instrumentation/redis.rb +3 -3
  138. data/lib/new_relic/agent/instrumentation/resque.rb +1 -1
  139. data/lib/new_relic/agent/instrumentation/sequel.rb +1 -1
  140. data/lib/new_relic/agent/instrumentation/sequel_helper.rb +1 -1
  141. data/lib/new_relic/agent/instrumentation/sidekiq.rb +5 -5
  142. data/lib/new_relic/agent/instrumentation/sinatra.rb +1 -2
  143. data/lib/new_relic/agent/instrumentation/sinatra/ignorer.rb +1 -1
  144. data/lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb +1 -1
  145. data/lib/new_relic/agent/instrumentation/sunspot.rb +1 -1
  146. data/lib/new_relic/agent/instrumentation/typhoeus.rb +1 -1
  147. data/lib/new_relic/agent/internal_agent_error.rb +1 -1
  148. data/lib/new_relic/agent/javascript_instrumentor.rb +1 -1
  149. data/lib/new_relic/agent/log_once.rb +1 -1
  150. data/lib/new_relic/agent/logging.rb +1 -1
  151. data/lib/new_relic/agent/memory_logger.rb +1 -1
  152. data/lib/new_relic/agent/messaging.rb +1 -1
  153. data/lib/new_relic/agent/method_tracer.rb +7 -17
  154. data/lib/new_relic/agent/method_tracer_helpers.rb +1 -1
  155. data/lib/new_relic/agent/monitors.rb +1 -1
  156. data/lib/new_relic/agent/monitors/cross_app_monitor.rb +1 -1
  157. data/lib/new_relic/agent/monitors/distributed_tracing_monitor.rb +1 -1
  158. data/lib/new_relic/agent/monitors/inbound_request_monitor.rb +1 -1
  159. data/lib/new_relic/agent/monitors/synthetics_monitor.rb +1 -1
  160. data/lib/new_relic/agent/new_relic_service.rb +27 -4
  161. data/lib/new_relic/agent/new_relic_service/encoders.rb +1 -1
  162. data/lib/new_relic/agent/new_relic_service/json_marshaller.rb +1 -1
  163. data/lib/new_relic/agent/new_relic_service/marshaller.rb +1 -1
  164. data/lib/new_relic/agent/new_relic_service/security_policy_settings.rb +1 -1
  165. data/lib/new_relic/agent/noticible_error.rb +1 -1
  166. data/lib/new_relic/agent/null_logger.rb +1 -1
  167. data/lib/new_relic/agent/obfuscator.rb +1 -1
  168. data/lib/new_relic/agent/parameter_filtering.rb +1 -1
  169. data/lib/new_relic/agent/payload_metric_mapping.rb +1 -1
  170. data/lib/new_relic/agent/pipe_channel_manager.rb +1 -1
  171. data/lib/new_relic/agent/pipe_service.rb +1 -1
  172. data/lib/new_relic/agent/prepend_supportability.rb +1 -1
  173. data/lib/new_relic/agent/priority_sampled_buffer.rb +8 -5
  174. data/lib/new_relic/agent/range_extensions.rb +1 -1
  175. data/lib/new_relic/agent/rules_engine.rb +1 -1
  176. data/lib/new_relic/agent/rules_engine/replacement_rule.rb +1 -1
  177. data/lib/new_relic/agent/rules_engine/segment_terms_rule.rb +1 -1
  178. data/lib/new_relic/agent/sampler.rb +1 -1
  179. data/lib/new_relic/agent/sampler_collection.rb +1 -1
  180. data/lib/new_relic/agent/samplers/cpu_sampler.rb +1 -1
  181. data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +1 -1
  182. data/lib/new_relic/agent/samplers/memory_sampler.rb +2 -2
  183. data/lib/new_relic/agent/samplers/object_sampler.rb +1 -1
  184. data/lib/new_relic/agent/samplers/vm_sampler.rb +1 -1
  185. data/lib/new_relic/agent/span_event_aggregator.rb +1 -1
  186. data/lib/new_relic/agent/span_event_primitive.rb +26 -5
  187. data/lib/new_relic/agent/sql_sampler.rb +4 -4
  188. data/lib/new_relic/agent/stats.rb +1 -1
  189. data/lib/new_relic/agent/stats_engine.rb +1 -1
  190. data/lib/new_relic/agent/stats_engine/gc_profiler.rb +2 -2
  191. data/lib/new_relic/agent/stats_engine/stats_hash.rb +1 -1
  192. data/lib/new_relic/agent/supported_versions.rb +1 -1
  193. data/lib/new_relic/agent/synthetics_event_aggregator.rb +1 -1
  194. data/lib/new_relic/agent/system_info.rb +1 -1
  195. data/lib/new_relic/agent/threading/agent_thread.rb +1 -1
  196. data/lib/new_relic/agent/threading/backtrace_node.rb +1 -1
  197. data/lib/new_relic/agent/threading/backtrace_service.rb +1 -1
  198. data/lib/new_relic/agent/threading/thread_profile.rb +1 -1
  199. data/lib/new_relic/agent/timestamp_sampled_buffer.rb +1 -1
  200. data/lib/new_relic/agent/tracer.rb +1 -1
  201. data/lib/new_relic/agent/transaction.rb +20 -3
  202. data/lib/new_relic/agent/transaction/abstract_segment.rb +4 -3
  203. data/lib/new_relic/agent/transaction/datastore_segment.rb +1 -1
  204. data/lib/new_relic/agent/transaction/distributed_tracer.rb +15 -9
  205. data/lib/new_relic/agent/transaction/distributed_tracing.rb +2 -2
  206. data/lib/new_relic/agent/transaction/external_request_segment.rb +3 -3
  207. data/lib/new_relic/agent/transaction/message_broker_segment.rb +2 -1
  208. data/lib/new_relic/agent/transaction/request_attributes.rb +1 -1
  209. data/lib/new_relic/agent/transaction/segment.rb +23 -3
  210. data/lib/new_relic/agent/transaction/slowest_sample_buffer.rb +1 -1
  211. data/lib/new_relic/agent/transaction/synthetics_sample_buffer.rb +1 -1
  212. data/lib/new_relic/agent/transaction/trace.rb +1 -1
  213. data/lib/new_relic/agent/transaction/trace_builder.rb +1 -1
  214. data/lib/new_relic/agent/transaction/trace_context.rb +1 -1
  215. data/lib/new_relic/agent/transaction/trace_node.rb +1 -1
  216. data/lib/new_relic/agent/transaction/tracing.rb +1 -1
  217. data/lib/new_relic/agent/transaction/transaction_sample_buffer.rb +1 -1
  218. data/lib/new_relic/agent/transaction_error_primitive.rb +3 -3
  219. data/lib/new_relic/agent/transaction_event_aggregator.rb +1 -1
  220. data/lib/new_relic/agent/transaction_event_primitive.rb +3 -3
  221. data/lib/new_relic/agent/transaction_event_recorder.rb +1 -1
  222. data/lib/new_relic/agent/transaction_metrics.rb +1 -1
  223. data/lib/new_relic/agent/transaction_sampler.rb +1 -1
  224. data/lib/new_relic/agent/transaction_time_aggregator.rb +1 -1
  225. data/lib/new_relic/agent/utilization/aws.rb +1 -1
  226. data/lib/new_relic/agent/utilization/azure.rb +1 -1
  227. data/lib/new_relic/agent/utilization/gcp.rb +1 -1
  228. data/lib/new_relic/agent/utilization/pcf.rb +1 -1
  229. data/lib/new_relic/agent/utilization/vendor.rb +1 -1
  230. data/lib/new_relic/agent/utilization_data.rb +1 -1
  231. data/lib/new_relic/agent/vm.rb +1 -1
  232. data/lib/new_relic/agent/vm/jruby_vm.rb +1 -1
  233. data/lib/new_relic/agent/vm/monotonic_gc_profiler.rb +1 -1
  234. data/lib/new_relic/agent/vm/mri_vm.rb +7 -5
  235. data/lib/new_relic/agent/vm/snapshot.rb +1 -1
  236. data/lib/new_relic/agent/worker_loop.rb +1 -1
  237. data/lib/new_relic/cli/command.rb +1 -1
  238. data/lib/new_relic/cli/commands/deployments.rb +1 -2
  239. data/lib/new_relic/cli/commands/install.rb +1 -1
  240. data/lib/new_relic/coerce.rb +1 -1
  241. data/lib/new_relic/collection_helper.rb +1 -1
  242. data/lib/new_relic/constants.rb +5 -1
  243. data/lib/new_relic/control.rb +1 -1
  244. data/lib/new_relic/control/class_methods.rb +1 -1
  245. data/lib/new_relic/control/frameworks.rb +1 -1
  246. data/lib/new_relic/control/frameworks/external.rb +1 -1
  247. data/lib/new_relic/control/frameworks/merb.rb +1 -1
  248. data/lib/new_relic/control/frameworks/rails.rb +1 -1
  249. data/lib/new_relic/control/frameworks/rails3.rb +1 -1
  250. data/lib/new_relic/control/frameworks/rails4.rb +1 -1
  251. data/lib/new_relic/control/frameworks/rails_notifications.rb +1 -1
  252. data/lib/new_relic/control/frameworks/ruby.rb +1 -1
  253. data/lib/new_relic/control/frameworks/sinatra.rb +1 -1
  254. data/lib/new_relic/control/instance_methods.rb +1 -1
  255. data/lib/new_relic/control/instrumentation.rb +1 -1
  256. data/lib/new_relic/control/server_methods.rb +1 -1
  257. data/lib/new_relic/delayed_job_injection.rb +1 -1
  258. data/lib/new_relic/dependency_detection.rb +5 -1
  259. data/lib/new_relic/environment_report.rb +2 -8
  260. data/lib/new_relic/helper.rb +1 -1
  261. data/lib/new_relic/language_support.rb +1 -1
  262. data/lib/new_relic/latest_changes.rb +2 -2
  263. data/lib/new_relic/local_environment.rb +1 -1
  264. data/lib/new_relic/metric_data.rb +1 -1
  265. data/lib/new_relic/metric_spec.rb +1 -1
  266. data/lib/new_relic/noticed_error.rb +1 -1
  267. data/lib/new_relic/rack.rb +1 -1
  268. data/lib/new_relic/rack/agent_hooks.rb +1 -1
  269. data/lib/new_relic/rack/agent_middleware.rb +1 -1
  270. data/lib/new_relic/rack/browser_monitoring.rb +1 -1
  271. data/lib/new_relic/recipes.rb +1 -1
  272. data/lib/new_relic/recipes/capistrano3.rb +1 -1
  273. data/lib/new_relic/recipes/capistrano_legacy.rb +1 -1
  274. data/lib/new_relic/supportability_helper.rb +3 -1
  275. data/lib/new_relic/version.rb +2 -2
  276. data/lib/newrelic_rpm.rb +1 -1
  277. data/lib/sequel/extensions/newrelic_instrumentation.rb +1 -1
  278. data/lib/sequel/plugins/newrelic_instrumentation.rb +1 -1
  279. data/lib/tasks/all.rb +1 -1
  280. data/lib/tasks/multiverse.rb +10 -1
  281. data/lib/tasks/newrelic.rb +1 -1
  282. data/newrelic_rpm.gemspec +8 -7
  283. data/recipes/newrelic.rb +1 -1
  284. data/test/agent_helper.rb +26 -11
  285. metadata +14 -13
  286. data/.travis.yml +0 -241
  287. data/lib/new_relic/metrics.rb +0 -13
@@ -1,7 +1,7 @@
1
1
  # -*- ruby -*-
2
2
  # encoding: utf-8
3
3
  # This file is distributed under New Relic's license terms.
4
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
5
5
 
6
6
  require 'sequel' unless defined?( Sequel )
7
7
  require 'newrelic_rpm' unless defined?( NewRelic )
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
 
5
5
  # This is required to load in task definitions from merb
6
6
  Dir.glob(File.join(File.dirname(__FILE__),'*.rake')) do |file|
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  #
5
5
  # Rake task for running Ruby agent multiverse tests. This file may be required
6
6
  # from third party gems. It is also used by the agent itself to run multiverse.
@@ -63,6 +63,14 @@ namespace :test do
63
63
  end
64
64
  end
65
65
 
66
+ def remove_generated_gemfile_lockfiles
67
+ file_path = File.expand_path "test/environments"
68
+ Dir.glob(File.join file_path, "**", "Gemfile.lock").each do |fn|
69
+ puts "Removing #{fn.gsub(file_path,'.../environments')}"
70
+ FileUtils.rm fn
71
+ end
72
+ end
73
+
66
74
  task :env do
67
75
  # ENV['SUITES_DIRECTORY'] = File.expand_path('../../test/multiverse/suites', __FILE__)
68
76
  require File.expand_path('../../../test/multiverse/lib/multiverse', __FILE__)
@@ -71,6 +79,7 @@ namespace :test do
71
79
  task :clobber do
72
80
  remove_local_multiverse_databases
73
81
  remove_generated_gemfiles
82
+ remove_generated_gemfile_lockfiles
74
83
  end
75
84
 
76
85
  desc "Clean cached gemfiles from Bundler.bundle_path"
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  #
5
5
  # If you are looking to instrument rake tasks in a Rails environment, but the
6
6
  # task doesn't depend on :environment, this task may be included to ensure that
@@ -10,16 +10,16 @@ Gem::Specification.new do |s|
10
10
  s.version = NewRelic::VERSION::STRING
11
11
  s.required_ruby_version = '>= 2.0.0'
12
12
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
13
- s.authors = [ "Chris Pine", "Rachel Klein", "Tanna McClure", "Michael Lang" ]
13
+ s.authors = [ "Rachel Klein", "Tanna McClure", "Michael Lang" ]
14
14
  s.date = Time.now.strftime('%Y-%m-%d')
15
- s.licenses = ['New Relic']
15
+ s.licenses = ['Apache-2.0']
16
16
  s.description = <<-EOS
17
17
  New Relic is a performance management system, developed by New Relic,
18
18
  Inc (http://www.newrelic.com). New Relic provides you with deep
19
19
  information about the performance of your web application as it runs
20
20
  in production. The New Relic Ruby agent is dual-purposed as a either a
21
21
  Gem or plugin, hosted on
22
- https://github.com/newrelic/rpm/
22
+ https://github.com/newrelic/newrelic-ruby-agent/
23
23
  EOS
24
24
  s.email = "support@newrelic.com"
25
25
  s.executables = [ "mongrel_rpm", "newrelic_cmd", "newrelic", "nrdebug" ]
@@ -32,13 +32,14 @@ EOS
32
32
  ]
33
33
 
34
34
  s.metadata = {
35
- 'bug_tracker_uri' => 'https://support.newrelic.com/',
36
- 'changelog_uri' => 'https://github.com/newrelic/rpm/blob/master/CHANGELOG.md',
35
+ 'bug_tracker_uri' => 'https://github.com/newrelic/newrelic-ruby-agent/issues',
36
+ 'changelog_uri' => 'https://github.com/newrelic/newrelic-ruby-agent/blob/main/CHANGELOG.md',
37
37
  'documentation_uri' => 'https://docs.newrelic.com/docs/agents/ruby-agent',
38
- 'source_code_uri' => 'https://github.com/newrelic/rpm'
38
+ 'source_code_uri' => 'https://github.com/newrelic/newrelic-ruby-agent',
39
+ "homepage_uri" => "https://newrelic.com/ruby",
39
40
  }
40
41
 
41
- file_list = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|infinite_tracing)/(?!agent_helper.rb)}) }
42
+ file_list = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|infinite_tracing|\.github)/(?!agent_helper.rb)}) }
42
43
  build_file_path = 'lib/new_relic/build.rb'
43
44
  file_list << build_file_path if File.exist?(build_file_path)
44
45
  s.files = file_list
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
 
5
5
  # The capistrano recipes in plugins are automatically
6
6
  # loaded from here. From gems, they are available from
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
 
5
5
  # These helpers should not have any gem dependencies except on newrelic_rpm
6
6
  # itself, and should be usable from within any multiverse suite.
@@ -8,7 +8,7 @@
8
8
  require 'json'
9
9
  require 'net/http'
10
10
  begin
11
- require 'net/http/status'
11
+ require 'net/http/status'
12
12
  rescue LoadError
13
13
  # NOP -- Net::HTTP::STATUS_CODES was introduced in Ruby 2.5
14
14
  end
@@ -86,6 +86,14 @@ def last_transaction_event
86
86
  harvest_transaction_events!.last.last
87
87
  end
88
88
 
89
+ def harvest_span_events!
90
+ NewRelic::Agent.instance.span_event_aggregator.harvest!
91
+ end
92
+
93
+ def last_span_event
94
+ harvest_span_events!.last.last
95
+ end
96
+
89
97
  def harvest_error_events!
90
98
  NewRelic::Agent.instance.error_collector.error_event_aggregator.harvest!
91
99
  end
@@ -125,6 +133,12 @@ def assert_equal_unordered left, right
125
133
  left.each { |element| assert_includes(right, element) }
126
134
  end
127
135
 
136
+ def assert_log_contains(log, message)
137
+ lines = log.array
138
+ failure_message = "Did not find '#{message}' in log. Log contained:\n#{lines.join('')}"
139
+ assert (lines.any? { |line| line.match(message) }), failure_message
140
+ end
141
+
128
142
  def assert_audit_log_contains audit_log_contents, needle
129
143
  # Original request bodies dumped to the log have symbol keys, but once
130
144
  # they go through a dump/load, they're strings again, so we strip
@@ -404,6 +418,7 @@ end
404
418
  # build 'em as appropriate so we can test 'em
405
419
  def build_deferred_error_attributes segment
406
420
  return unless segment.noticed_error
421
+ return if segment.noticed_error_attributes.frozen?
407
422
  segment.noticed_error.build_error_attributes
408
423
  end
409
424
 
@@ -413,7 +428,7 @@ def capture_segment_with_error
413
428
  with_segment do |segment|
414
429
  segment_with_error = segment
415
430
  raise "oops!"
416
- end
431
+ end
417
432
  rescue Exception => exception
418
433
  assert segment_with_error, "expected to have a segment_with_error"
419
434
  build_deferred_error_attributes segment_with_error
@@ -694,7 +709,7 @@ end
694
709
  # a core bug in the JVM implementation of Ruby. Root cause was not
695
710
  # discovered, but it was found that a combination of retrying and using
696
711
  # mutex lock around the update operation was the only consistently working
697
- # solution as the error continued to surface without the mutex and
712
+ # solution as the error continued to surface without the mutex and
698
713
  # retry alone wasn't enough, either.
699
714
  #
700
715
  # JRUBY: oraclejdk8 + jruby-9.2.6.0
@@ -707,7 +722,7 @@ class EnvUpdater
707
722
  @mutex = Mutex.new
708
723
  end
709
724
 
710
- # Will attempt the given block up to MAX_RETRIES before
725
+ # Will attempt the given block up to MAX_RETRIES before
711
726
  # surfacing the exception down the chain.
712
727
  def with_retry retry_limit=MAX_RETRIES
713
728
  retries ||= 0
@@ -759,13 +774,13 @@ class EnvUpdater
759
774
  ensure
760
775
  safe_restore(old_env)
761
776
  end
762
- end
777
+ end
763
778
 
764
779
  # must call instance here to ensure only one @mutex for all threads.
765
780
  instance
766
781
  end
767
782
 
768
- # Changes ENV settings to given and runs given block and restores ENV
783
+ # Changes ENV settings to given and runs given block and restores ENV
769
784
  # to original values before returning.
770
785
  def with_environment env, &block
771
786
  EnvUpdater.inject(env) { yield }
@@ -873,7 +888,7 @@ def reset_buffers_and_caches
873
888
  end
874
889
 
875
890
  def message_for_status_code code
876
- # Net::HTTP::STATUS_CODES was introduced in Ruby 2.5
891
+ # Net::HTTP::STATUS_CODES was introduced in Ruby 2.5
877
892
  if defined?(Net::HTTP::STATUS_CODES)
878
893
  return Net::HTTP::STATUS_CODES[code]
879
894
  end
@@ -882,11 +897,11 @@ def message_for_status_code code
882
897
  when 200 then "OK"
883
898
  when 404 then "Not Found"
884
899
  when 403 then "Forbidden"
885
- else "Unknown"
900
+ else "Unknown"
886
901
  end
887
902
  end
888
903
 
889
- # wraps the given headers in a Net::HTTPResponse which has accompanying
904
+ # wraps the given headers in a Net::HTTPResponse which has accompanying
890
905
  # http status code associated with it.
891
906
  # a "status_code" may be passed in the headers to alter the HTTP Status Code
892
907
  # that is wrapped in the response.
@@ -909,7 +924,7 @@ def assert_match_or_equal expected, value
909
924
  end
910
925
  end
911
926
 
912
- # selects the last segment with a noticed_error and checks
927
+ # selects the last segment with a noticed_error and checks
913
928
  # the expectations against it.
914
929
  def assert_segment_noticed_error txn, segment_name, error_classes, error_message
915
930
  error_segment = txn.segments.reverse.detect{|s| s.noticed_error}
metadata CHANGED
@@ -1,17 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newrelic_rpm
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.11.0.365
4
+ version: 6.15.0
5
5
  platform: ruby
6
6
  authors:
7
- - Chris Pine
8
7
  - Rachel Klein
9
8
  - Tanna McClure
10
9
  - Michael Lang
11
10
  autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2020-05-28 00:00:00.000000000 Z
13
+ date: 2021-01-19 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: rake
@@ -187,7 +186,7 @@ description: |
187
186
  information about the performance of your web application as it runs
188
187
  in production. The New Relic Ruby agent is dual-purposed as a either a
189
188
  Gem or plugin, hosted on
190
- https://github.com/newrelic/rpm/
189
+ https://github.com/newrelic/newrelic-ruby-agent/
191
190
  email: support@newrelic.com
192
191
  executables:
193
192
  - mongrel_rpm
@@ -204,7 +203,6 @@ extra_rdoc_files:
204
203
  files:
205
204
  - ".gitignore"
206
205
  - ".project"
207
- - ".travis.yml"
208
206
  - ".yardopts"
209
207
  - CHANGELOG.md
210
208
  - CONTRIBUTING.md
@@ -212,7 +210,9 @@ files:
212
210
  - Guardfile
213
211
  - LICENSE
214
212
  - README.md
213
+ - ROADMAP.md
215
214
  - Rakefile
215
+ - THIRD_PARTY_NOTICES.md
216
216
  - bin/mongrel_rpm
217
217
  - bin/newrelic
218
218
  - bin/newrelic_cmd
@@ -255,6 +255,7 @@ files:
255
255
  - lib/new_relic/agent/database/obfuscation_helpers.rb
256
256
  - lib/new_relic/agent/database/obfuscator.rb
257
257
  - lib/new_relic/agent/database/postgres_explain_obfuscator.rb
258
+ - lib/new_relic/agent/database_adapter.rb
258
259
  - lib/new_relic/agent/datastores.rb
259
260
  - lib/new_relic/agent/datastores/metric_helper.rb
260
261
  - lib/new_relic/agent/datastores/mongo.rb
@@ -267,7 +268,7 @@ files:
267
268
  - lib/new_relic/agent/distributed_tracing.rb
268
269
  - lib/new_relic/agent/distributed_tracing/cross_app_payload.rb
269
270
  - lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb
270
- - lib/new_relic/agent/distributed_tracing/distributed_trace_intrinsics.rb
271
+ - lib/new_relic/agent/distributed_tracing/distributed_trace_attributes.rb
271
272
  - lib/new_relic/agent/distributed_tracing/distributed_trace_metrics.rb
272
273
  - lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb
273
274
  - lib/new_relic/agent/distributed_tracing/distributed_trace_transport_type.rb
@@ -330,6 +331,7 @@ files:
330
331
  - lib/new_relic/agent/instrumentation/mongo.rb
331
332
  - lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb
332
333
  - lib/new_relic/agent/instrumentation/net.rb
334
+ - lib/new_relic/agent/instrumentation/net_prepend.rb
333
335
  - lib/new_relic/agent/instrumentation/notifications_subscriber.rb
334
336
  - lib/new_relic/agent/instrumentation/padrino.rb
335
337
  - lib/new_relic/agent/instrumentation/passenger_instrumentation.rb
@@ -444,7 +446,6 @@ files:
444
446
  - lib/new_relic/agent/vm/mri_vm.rb
445
447
  - lib/new_relic/agent/vm/snapshot.rb
446
448
  - lib/new_relic/agent/worker_loop.rb
447
- - lib/new_relic/build.rb
448
449
  - lib/new_relic/cli/command.rb
449
450
  - lib/new_relic/cli/commands/deployments.rb
450
451
  - lib/new_relic/cli/commands/install.rb
@@ -474,7 +475,6 @@ files:
474
475
  - lib/new_relic/local_environment.rb
475
476
  - lib/new_relic/metric_data.rb
476
477
  - lib/new_relic/metric_spec.rb
477
- - lib/new_relic/metrics.rb
478
478
  - lib/new_relic/noticed_error.rb
479
479
  - lib/new_relic/rack.rb
480
480
  - lib/new_relic/rack/agent_hooks.rb
@@ -503,12 +503,13 @@ files:
503
503
  - test/agent_helper.rb
504
504
  homepage: https://github.com/newrelic/rpm
505
505
  licenses:
506
- - New Relic
506
+ - Apache-2.0
507
507
  metadata:
508
- bug_tracker_uri: https://support.newrelic.com/
509
- changelog_uri: https://github.com/newrelic/rpm/blob/master/CHANGELOG.md
508
+ bug_tracker_uri: https://github.com/newrelic/newrelic-ruby-agent/issues
509
+ changelog_uri: https://github.com/newrelic/newrelic-ruby-agent/blob/main/CHANGELOG.md
510
510
  documentation_uri: https://docs.newrelic.com/docs/agents/ruby-agent
511
- source_code_uri: https://github.com/newrelic/rpm
511
+ source_code_uri: https://github.com/newrelic/newrelic-ruby-agent
512
+ homepage_uri: https://newrelic.com/ruby
512
513
  post_install_message:
513
514
  rdoc_options: []
514
515
  require_paths:
@@ -524,7 +525,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
524
525
  - !ruby/object:Gem::Version
525
526
  version: 1.3.1
526
527
  requirements: []
527
- rubygems_version: 3.0.6
528
+ rubygems_version: 3.1.4
528
529
  signing_key:
529
530
  specification_version: 4
530
531
  summary: New Relic Ruby Agent
@@ -1,241 +0,0 @@
1
- services:
2
- - mysql
3
- - redis-server
4
- - memcached
5
- - rabbitmq
6
-
7
- notifications:
8
- slack:
9
- secure: Ziq6vzXmc1S+SZnJF7DyjprRgzZKvVK5TXtnNJAoH4EFchziCqko+75hMxDZ/6Y2kShcijgbzZSkIIVSiuYyx0Jgxdsmwed7yrs91uv2WsUw2/l+taOTBIAMa/m9PZppsRqmkywxWeeTPL6cf65Vg3PYRuqzj83nczUFJo4UNrA=
10
-
11
- language: ruby
12
-
13
- dist: precise
14
- sudo: required
15
- jdk:
16
- - oraclejdk8
17
-
18
- before_install:
19
- # RUBY-2072 Prevent Travis setup failure before our test even starts
20
- - jdk_switcher use oraclejdk8
21
- - sudo rm -f /etc/apt/sources.list.d/travis_ci_zeromq3.list
22
- - gem --version
23
- - "echo 'gem: --no-rdoc --no-ri --no-document' > ~/.gemrc"
24
- - ./test/script/before_install/conditionally_upgrade_rubygems.sh
25
- - ./test/script/before_install/gemstash_mirror.sh
26
- - "echo GEMSTASH_MIRROR: $GEMSTASH_MIRROR"
27
- - bundle --version
28
-
29
- install: bundle install --jobs 4
30
-
31
- addons:
32
- apt:
33
- update: true
34
- packages:
35
- - libgmp3-dev
36
- - openssl
37
- - libssl-dev
38
- - build-essential
39
- - haveged
40
-
41
- before_script: ./test/script/before_script/install_mongodb.sh
42
-
43
- script: ./test/script/ci.sh
44
-
45
- branches:
46
- only:
47
- - master
48
- - dev
49
- - release
50
- - RUBY-2227_w3c_trace_context_poc
51
-
52
- rvm:
53
- # Run slowest builds first to try and optimize overall cycle time.
54
- - jruby-9.2.6.0
55
- - 2.7.0
56
- - 2.6.1
57
- - 2.5.3
58
- - 2.4.2
59
- - 2.3.5
60
- - 2.2.8
61
- - 2.1.10
62
- - 2.0.0-p648
63
-
64
- jdk:
65
- - oraclejdk8
66
-
67
- env:
68
- global:
69
- - BUNDLE_PATH=/home/travis/bundle
70
- - MONGODB=2.6.11
71
- - JAVA_OPTS="-XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xmx1024m -XX:CICompilerCount=1 -Xshare:auto"
72
- - JRUBY_OPTS="-Xcompile.invokedynamic=false -J-Djruby.compile.mode=OFF"
73
- - RBXOPT="-Xcompiler.no_rbc -Xint"
74
- - SERIALIZE=1
75
- - TESTOPTS="-v"
76
- - VERBOSE = 1
77
- matrix:
78
- - TYPE=UNIT ENVIRONMENT=rails30
79
- - TYPE=UNIT ENVIRONMENT=rails31
80
- - TYPE=UNIT ENVIRONMENT=rails32
81
- - TYPE=UNIT ENVIRONMENT=rails40
82
- - TYPE=UNIT ENVIRONMENT=rails41
83
- - TYPE=UNIT ENVIRONMENT=rails42
84
- - TYPE=UNIT ENVIRONMENT=rails50
85
- - TYPE=UNIT ENVIRONMENT=rails51
86
- - TYPE=UNIT ENVIRONMENT=rails52
87
- - TYPE=UNIT ENVIRONMENT=rails60
88
- - TYPE=UNIT ENVIRONMENT=norails
89
- - TYPE=FUNCTIONAL GROUP=agent
90
- - TYPE=FUNCTIONAL GROUP=api
91
- - TYPE=FUNCTIONAL GROUP=background
92
- - TYPE=FUNCTIONAL GROUP=database
93
- - TYPE=FUNCTIONAL GROUP=httpclients
94
- - TYPE=FUNCTIONAL GROUP=rails
95
- - TYPE=FUNCTIONAL GROUP=serialization
96
- - TYPE=FUNCTIONAL GROUP=sinatra
97
- - TYPE=FUNCTIONAL GROUP=rest
98
- - TYPE=FUNCTIONAL GROUP=background_2
99
- - TYPE=FUNCTIONAL GROUP=infinite_tracing
100
- - TYPE=NULLVERSE
101
-
102
- matrix:
103
- allow_failures:
104
- - rvm: jruby-9.2.6.0
105
- env: TYPE=FUNCTIONAL GROUP=agent
106
- fast_finish: true
107
- exclude:
108
- # Unsupported Rails/Ruby combinations
109
- # 2.7
110
- - rvm: 2.7.0
111
- env: TYPE=UNIT ENVIRONMENT=rails30
112
- - rvm: 2.7.0
113
- env: TYPE=UNIT ENVIRONMENT=rails31
114
- - rvm: 2.7.0
115
- env: TYPE=UNIT ENVIRONMENT=rails32
116
- - rvm: 2.7.0
117
- env: TYPE=UNIT ENVIRONMENT=rails40
118
- - rvm: 2.7.0
119
- env: TYPE=UNIT ENVIRONMENT=rails41
120
-
121
- - rvm: 2.7.0
122
- env: TYPE=UNIT ENVIRONMENT=rails42 # rails (= 4.2.11) depends on bundler (< 2.0, >= 1.3.0)
123
- - rvm: 2.7.0
124
- env: TYPE=UNIT ENVIRONMENT=rails50 # rails (= 5.0.0) depends on bundler (< 2.0, >= 1.3.0)
125
- - rvm: 2.7.0
126
- env: TYPE=UNIT ENVIRONMENT=rails51 # rails (= 5.1.0) depends on bundler (< 2.0, >= 1.3.0)
127
- - rvm: 2.7.0
128
- env: TYPE=UNIT ENVIRONMENT=rails52 # rails (= 5.2.0) depends on bundler (< 2.0, >= 1.3.0)
129
- - rvm: 2.7.0
130
- env: TYPE=FUNCTIONAL GROUP=api # blocked: https://github.com/solnic/coercible/issues/27
131
- - rvm: 2.7.0
132
- env: TYPE=FUNCTIONAL GROUP=sinatra # padrino (~> 0.14.0) depends on bundler (~> 1.0)
133
-
134
- - rvm: 2.7.0
135
- env: TYPE=UNIT ENVIRONMENT=rails42 # rails (= 4.2.11) depends on bundler (< 2.0, >= 1.3.0)
136
- - rvm: 2.7.0
137
- env: TYPE=UNIT ENVIRONMENT=rails50 # rails (= 5.0.0) depends on bundler (< 2.0, >= 1.3.0)
138
- - rvm: 2.7.0
139
- env: TYPE=UNIT ENVIRONMENT=rails51 # rails (= 5.1.0) depends on bundler (< 2.0, >= 1.3.0)
140
- - rvm: 2.7.0
141
- env: TYPE=UNIT ENVIRONMENT=rails52 # rails (= 5.2.0) depends on bundler (< 2.0, >= 1.3.0)
142
- - rvm: 2.7.0
143
- env: TYPE=FUNCTIONAL GROUP=api # blocked: https://github.com/solnic/coercible/issues/27
144
- - rvm: 2.7.0
145
- env: TYPE=FUNCTIONAL GROUP=sinatra # padrino (~> 0.14.0) depends on bundler (~> 1.0)
146
-
147
- # 2.6
148
- - rvm: 2.6.1
149
- env: TYPE=UNIT ENVIRONMENT=rails30
150
- - rvm: 2.6.1
151
- env: TYPE=UNIT ENVIRONMENT=rails31
152
- - rvm: 2.6.1
153
- env: TYPE=UNIT ENVIRONMENT=rails32
154
- - rvm: 2.6.1
155
- env: TYPE=UNIT ENVIRONMENT=rails40
156
- - rvm: 2.6.1
157
- env: TYPE=UNIT ENVIRONMENT=rails41
158
-
159
- # 2.5
160
- - rvm: 2.5.3
161
- env: TYPE=UNIT ENVIRONMENT=rails30
162
- - rvm: 2.5.3
163
- env: TYPE=UNIT ENVIRONMENT=rails31
164
- - rvm: 2.5.3
165
- env: TYPE=UNIT ENVIRONMENT=rails32
166
- - rvm: 2.5.3
167
- env: TYPE=UNIT ENVIRONMENT=rails40
168
- - rvm: 2.5.3
169
- env: TYPE=UNIT ENVIRONMENT=rails41
170
-
171
- # 2.4
172
- - rvm: 2.4.2
173
- env: TYPE=UNIT ENVIRONMENT=rails30
174
- - rvm: 2.4.2
175
- env: TYPE=UNIT ENVIRONMENT=rails31
176
- - rvm: 2.4.2
177
- env: TYPE=UNIT ENVIRONMENT=rails32
178
- - rvm: 2.4.2
179
- env: TYPE=UNIT ENVIRONMENT=rails40
180
- - rvm: 2.4.2
181
- env: TYPE=UNIT ENVIRONMENT=rails41
182
- - rvm: 2.4.2
183
- env: TYPE=UNIT ENVIRONMENT=rails60
184
-
185
- # 2.3
186
- - rvm: 2.3.5
187
- env: TYPE=UNIT ENVIRONMENT=rails60
188
-
189
- # 2.2
190
- - rvm: 2.2.8
191
- env: TYPE=UNIT ENVIRONMENT=rails60
192
-
193
- # 2.1
194
- - rvm: 2.1.10
195
- env: TYPE=UNIT ENVIRONMENT=rails50
196
- - rvm: 2.1.10
197
- env: TYPE=UNIT ENVIRONMENT=rails51
198
- - rvm: 2.1.10
199
- env: TYPE=UNIT ENVIRONMENT=rails52
200
- - rvm: 2.1.10
201
- env: TYPE=UNIT ENVIRONMENT=rails60
202
-
203
- # 2.0
204
- - rvm: 2.0.0-p648
205
- env: TYPE=UNIT ENVIRONMENT=rails50
206
- - rvm: 2.0.0-p648
207
- env: TYPE=UNIT ENVIRONMENT=rails51
208
- - rvm: 2.0.0-p648
209
- env: TYPE=UNIT ENVIRONMENT=rails52
210
- - rvm: 2.0.0-p648
211
- env: TYPE=UNIT ENVIRONMENT=rails60
212
-
213
- # jruby 9.2.6.0 (Compatible with MRI 2.5)
214
- - rvm: jruby-9.2.6.0
215
- env: TYPE=UNIT ENVIRONMENT=rails30
216
- - rvm: jruby-9.2.6.0
217
- env: TYPE=UNIT ENVIRONMENT=rails31
218
- - rvm: jruby-9.2.6.0
219
- env: TYPE=UNIT ENVIRONMENT=rails32
220
- - rvm: jruby-9.2.6.0
221
- env: TYPE=UNIT ENVIRONMENT=rails40
222
- - rvm: jruby-9.2.6.0
223
- env: TYPE=UNIT ENVIRONMENT=rails41
224
- - rvm: jruby-9.2.6.0
225
- env: TYPE=UNIT ENVIRONMENT=rails60
226
- - rvm: jruby-9.2.6.0
227
- env: TYPE=UNIT ENVIRONMENT=rails52
228
-
229
- # Excluding unsupported Rubies for grpc
230
- - rvm: 2.0.0-p648
231
- env: TYPE=FUNCTIONAL GROUP=infinite_tracing
232
- - rvm: 2.1.10
233
- env: TYPE=FUNCTIONAL GROUP=infinite_tracing
234
- - rvm: 2.2.8
235
- env: TYPE=FUNCTIONAL GROUP=infinite_tracing
236
- - rvm: 2.3.5
237
- env: TYPE=FUNCTIONAL GROUP=infinite_tracing
238
- - rvm: 2.4.2
239
- env: TYPE=FUNCTIONAL GROUP=infinite_tracing
240
- - rvm: jruby-9.2.6.0
241
- env: TYPE=FUNCTIONAL GROUP=infinite_tracing