newrelic_rpm 3.16.2.321 → 3.16.3.323

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +15 -14
  3. data/CHANGELOG +21 -1
  4. data/lib/new_relic/agent.rb +25 -10
  5. data/lib/new_relic/agent/agent.rb +3 -1
  6. data/lib/new_relic/agent/audit_logger.rb +1 -0
  7. data/lib/new_relic/agent/commands/thread_profiler_session.rb +1 -0
  8. data/lib/new_relic/agent/configuration/default_source.rb +8 -0
  9. data/lib/new_relic/agent/configuration/manager.rb +1 -1
  10. data/lib/new_relic/agent/error_collector.rb +5 -1
  11. data/lib/new_relic/agent/http_clients/http_rb_wrappers.rb +59 -0
  12. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +1 -1
  13. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +3 -1
  14. data/lib/new_relic/agent/instrumentation/http.rb +36 -0
  15. data/lib/new_relic/agent/instrumentation/rack.rb +1 -1
  16. data/lib/new_relic/agent/new_relic_service/encoders.rb +1 -0
  17. data/lib/new_relic/agent/pipe_channel_manager.rb +1 -0
  18. data/lib/new_relic/agent/sampler.rb +7 -7
  19. data/lib/new_relic/agent/samplers/memory_sampler.rb +2 -0
  20. data/lib/new_relic/agent/supported_versions.rb +8 -1
  21. data/lib/new_relic/agent/threading/backtrace_service.rb +1 -0
  22. data/lib/new_relic/agent/transaction.rb +7 -4
  23. data/lib/new_relic/agent/transaction/attributes.rb +1 -0
  24. data/lib/new_relic/agent/transaction/trace_node.rb +5 -10
  25. data/lib/new_relic/agent/transaction_state.rb +1 -0
  26. data/lib/new_relic/agent/worker_loop.rb +3 -2
  27. data/lib/new_relic/cli/commands/deployments.rb +3 -0
  28. data/lib/new_relic/cli/commands/install.rb +2 -1
  29. data/lib/new_relic/control/frameworks/rails.rb +4 -4
  30. data/lib/new_relic/helper.rb +0 -4
  31. data/lib/new_relic/metric_data.rb +1 -0
  32. data/lib/new_relic/noticed_error.rb +2 -0
  33. data/lib/new_relic/version.rb +1 -1
  34. data/lib/tasks/config.rake +1 -1
  35. data/lib/tasks/tests.rake +1 -1
  36. data/lib/tasks/versions.rake +2 -2
  37. data/newrelic_rpm.gemspec +1 -1
  38. data/test/agent_helper.rb +5 -10
  39. data/test/fixtures/cross_agent_tests/docker_container_id/README.md +2 -2
  40. data/test/fixtures/cross_agent_tests/labels.json +71 -9
  41. data/test/fixtures/cross_agent_tests/rules.json +1 -1
  42. data/test/fixtures/cross_agent_tests/synthetics/README.md +2 -2
  43. data/test/fixtures/cross_agent_tests/synthetics/synthetics.json +5 -5
  44. data/test/multiverse/lib/multiverse/runner.rb +1 -1
  45. data/test/multiverse/suites/agent_only/labels_test.rb +1 -1
  46. data/test/multiverse/suites/agent_only/start_up_test.rb +11 -0
  47. data/test/multiverse/suites/httprb/Envfile +19 -0
  48. data/test/multiverse/suites/httprb/config/newrelic.yml +18 -0
  49. data/test/multiverse/suites/httprb/httprb_test.rb +78 -0
  50. data/test/multiverse/suites/rails/error_tracing_test.rb +19 -0
  51. data/test/new_relic/agent/agent_logger_test.rb +0 -14
  52. data/test/new_relic/agent/commands/thread_profiler_session_test.rb +1 -0
  53. data/test/new_relic/agent/configuration/manager_test.rb +3 -2
  54. data/test/new_relic/agent/error_collector_test.rb +27 -2
  55. data/test/new_relic/agent/instrumentation/middleware_proxy_test.rb +2 -3
  56. data/test/new_relic/agent/instrumentation/net_instrumentation_test.rb +2 -0
  57. data/test/new_relic/agent/method_tracer_test.rb +1 -0
  58. data/test/new_relic/agent/sampler_test.rb +2 -2
  59. data/test/new_relic/agent/synthetics_event_aggregator_test.rb +1 -0
  60. data/test/new_relic/agent/threading/backtrace_service_test.rb +8 -0
  61. data/test/new_relic/agent/transaction/trace_node_test.rb +4 -4
  62. data/test/new_relic/agent_test.rb +31 -0
  63. data/test/new_relic/cli/commands/deployments_test.rb +11 -6
  64. data/test/new_relic/control/class_methods_test.rb +5 -1
  65. data/test/performance/lib/performance/instrumentation/gc_stats.rb +1 -1
  66. data/test/performance/lib/performance/instrumentation/stackprof.rb +2 -2
  67. data/test/performance/lib/performance/platform.rb +1 -0
  68. data/test/performance/suites/active_record_subscriber.rb +100 -0
  69. data/ui/helpers/developer_mode_helper.rb +2 -1
  70. data/ui/helpers/google_pie_chart.rb +1 -0
  71. data/ui/views/newrelic/explain_sql.rhtml +1 -1
  72. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/action_mailer.rb +1 -1
  73. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_merchant.rb +1 -1
  74. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_record.rb +1 -1
  75. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/apdex.rb +1 -1
  76. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller.rb +1 -1
  77. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_cpu.rb +1 -1
  78. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/errors.rb +1 -1
  79. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/external.rb +1 -1
  80. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/mem_cache.rb +1 -4
  81. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/middleware.rb +1 -2
  82. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/nested.rb +1 -2
  83. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/other_transaction.rb +1 -1
  84. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb +1 -1
  85. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_frontend.rb +1 -1
  86. data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_service.rb +1 -1
  87. metadata +8 -3
@@ -6,15 +6,16 @@ require File.expand_path(File.join(File.dirname(__FILE__),'..','..','..','test_h
6
6
  require 'new_relic/cli/command'
7
7
  require 'new_relic/cli/commands/deployments'
8
8
 
9
+ NewRelic::Cli::Deployments.class_eval do
10
+ attr_accessor :messages, :exit_status, :errors, :revision, :license_key
11
+ def err(message); @errors = "#{@errors ||= nil}#{message}"; end
12
+ def info(message); @messages = "#{@messages ||=nil}#{message}"; end
13
+ def just_exit(status=0); @exit_status ||= status; end
14
+ end
15
+
9
16
  class NewRelic::Cli::DeploymentsTest < Minitest::Test
10
17
 
11
18
  def setup
12
- NewRelic::Cli::Deployments.class_eval do
13
- attr_accessor :messages, :exit_status, :errors, :revision, :license_key
14
- def err(message); @errors = @errors ? @errors + message : message; end
15
- def info(message); @messages = @messages ? @messages + message : message; end
16
- def just_exit(status=0); @exit_status ||= status; end
17
- end
18
19
  @config = { :license_key => 'a' * 40,
19
20
  :config_path => 'test/config/newrelic.yml' }
20
21
  NewRelic::Agent.config.add_config_for_testing(@config)
@@ -37,12 +38,14 @@ class NewRelic::Cli::DeploymentsTest < Minitest::Test
37
38
  rescue NewRelic::Cli::Command::CommandFailure => c
38
39
  assert_match(/^Usage/, c.message)
39
40
  end
41
+ @deployment = nil
40
42
  end
41
43
 
42
44
  def test_bad_command
43
45
  assert_raises NewRelic::Cli::Command::CommandFailure do
44
46
  NewRelic::Cli::Deployments.new ["-foo", "bar"]
45
47
  end
48
+ @deployment = nil
46
49
  end
47
50
 
48
51
  def test_interactive
@@ -81,6 +84,7 @@ class NewRelic::Cli::DeploymentsTest < Minitest::Test
81
84
  deployment.run
82
85
  end
83
86
  end
87
+ @deployment = nil
84
88
  end
85
89
 
86
90
  def test_error_if_failed_yaml
@@ -90,6 +94,7 @@ class NewRelic::Cli::DeploymentsTest < Minitest::Test
90
94
  deployment = NewRelic::Cli::Deployments.new(%w[-a APP -r 3838 --user=Bill] << "Some lengthy description")
91
95
  deployment.run
92
96
  end
97
+ @deployment = nil
93
98
  end
94
99
 
95
100
  def test_with_specified_license_key
@@ -8,6 +8,10 @@ require 'new_relic/control/class_methods'
8
8
  class BaseClassMethods
9
9
  # stub class to enable testing of the module
10
10
  include NewRelic::Control::ClassMethods
11
+
12
+ def initialize
13
+ @instance = nil
14
+ end
11
15
  end
12
16
 
13
17
  class NewRelic::Control::ClassMethodsTest < Minitest::Test
@@ -17,7 +21,7 @@ class NewRelic::Control::ClassMethodsTest < Minitest::Test
17
21
  end
18
22
 
19
23
  def test_instance
20
- assert_equal(nil, @base.instance_variable_get('@instance'), 'instance should start out nil')
24
+ assert_equal(nil, @base.instance_variable_get(:@instance), 'instance should start out nil')
21
25
  @base.expects(:new_instance).returns('a new instance')
22
26
  assert_equal('a new instance', @base.instance, "should return the result from the #new_instance call")
23
27
  end
@@ -5,7 +5,7 @@
5
5
  module Performance
6
6
  module Instrumentation
7
7
  class MRIGCStats < Instrumentor
8
- platforms :mri_193, :mri_20, :mri_21, :mri_22
8
+ platforms :mri_193, :mri_20, :mri_21, :mri_22, :mri_23
9
9
  on_by_default
10
10
 
11
11
  def before(*)
@@ -5,7 +5,7 @@
5
5
  module Performance
6
6
  module Instrumentation
7
7
  class StackProfProfile < Instrumentor
8
- platforms :mri_21, :mri_22
8
+ platforms :mri_21, :mri_22, :mri_23
9
9
 
10
10
  def self.setup
11
11
  require 'tmpdir'
@@ -31,7 +31,7 @@ module Performance
31
31
  output_dot_path = artifact_path(test, test_name, "dot")
32
32
  report = StackProf::Report.new(results)
33
33
  File.open(output_dot_path, "w") do |f|
34
- report.print_graphviz(nil, f)
34
+ report.print_graphviz({}, f)
35
35
  end
36
36
  @artifacts << output_dot_path
37
37
  end
@@ -27,6 +27,7 @@ module Performance
27
27
  when :mri_20 then !jruby? && RUBY_VERSION =~ /^2\.0\./
28
28
  when :mri_21 then !jruby? && RUBY_VERSION =~ /^2\.1\./
29
29
  when :mri_22 then !jruby? && RUBY_VERSION =~ /^2\.2\./
30
+ when :mri_23 then !jruby? && RUBY_VERSION =~ /^2\.3\./
30
31
  end
31
32
  end
32
33
 
@@ -0,0 +1,100 @@
1
+ # encoding: utf-8
2
+ # This file is distributed under New Relic's license terms.
3
+ # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
+
5
+ require 'new_relic/agent/instrumentation/active_record_subscriber'
6
+
7
+ # Note: This test was cobbled together from the AR Subscriber Unit Test and
8
+ # by cut & paste of ActiveSupport::Notifcations::Event from Rails source.
9
+ # This test is here because it's useful, not because it's well written.
10
+ # If you have a desire to improve this test, do it!
11
+
12
+ unless defined?(ActiveSupport::Notifications::Event)
13
+ module ActiveSupport
14
+ module Notifications
15
+ class Event
16
+ attr_reader :name, :time, :transaction_id, :payload, :children
17
+ attr_accessor :end
18
+
19
+ def initialize(name, start, ending, transaction_id, payload)
20
+ @name = name
21
+ @payload = payload.dup
22
+ @time = start
23
+ @transaction_id = transaction_id
24
+ @end = ending
25
+ @children = []
26
+ @duration = nil
27
+ end
28
+
29
+ # Returns the difference in milliseconds between when the execution of the
30
+ # event started and when it ended.
31
+ #
32
+ # ActiveSupport::Notifications.subscribe('wait') do |*args|
33
+ # @event = ActiveSupport::Notifications::Event.new(*args)
34
+ # end
35
+ #
36
+ # ActiveSupport::Notifications.instrument('wait') do
37
+ # sleep 1
38
+ # end
39
+ #
40
+ # @event.duration # => 1000.138
41
+ def duration
42
+ @duration ||= 1000.0 * (self.end - time)
43
+ end
44
+
45
+ def <<(event)
46
+ @children << event
47
+ end
48
+
49
+ def parent_of?(event)
50
+ @children.include? event
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+
57
+ class ActiveRecordSubscriberTest < Performance::TestCase
58
+ def setup
59
+ @config = { :adapter => 'mysql', :host => 'server' }
60
+ @connection = Object.new
61
+ @connection.instance_variable_set(:@config, @config)
62
+
63
+
64
+ @params = {
65
+ :name => 'NewRelic::Agent::Instrumentation::ActiveRecordSubscriberTest::Order Load',
66
+ :sql => 'SELECT * FROM sandwiches',
67
+ :connection_id => @connection.object_id
68
+ }
69
+
70
+ @subscriber = NewRelic::Agent::Instrumentation::ActiveRecordSubscriber.new
71
+ if @subscriber.respond_to? :active_record_config_for_event
72
+ @subscriber.class.send(:remove_method, :active_record_config_for_event)
73
+ @subscriber.class.send(:define_method, :active_record_config_for_event) do |args|
74
+ @config
75
+ end
76
+ else
77
+ @subscriber.class.send(:remove_method, :active_record_config)
78
+ @subscriber.class.send(:define_method, :active_record_config) do |args|
79
+ @config
80
+ end
81
+ end
82
+ end
83
+
84
+
85
+ def test_subscriber_in_txn
86
+ measure do
87
+ in_transaction do
88
+ simulate_query
89
+ end
90
+ end
91
+ end
92
+
93
+ EVENT_NAME = 'sql.active_record'.freeze
94
+
95
+ def simulate_query(duration=nil)
96
+ @subscriber.start(EVENT_NAME, :id, @params)
97
+ advance_time(duration) if duration
98
+ @subscriber.finish(EVENT_NAME, :id, @params)
99
+ end
100
+ end
@@ -17,7 +17,8 @@ module NewRelic::DeveloperModeHelper
17
17
  end
18
18
 
19
19
  def trace_row_display_limit_reached
20
- (!@detail_node_count.nil? && @detail_node_count > trace_row_display_limit) || sql_segments(@sample).length > trace_row_display_limit
20
+ (defined?(@detail_node_count) && !@detail_node_count.nil? && (@detail_node_count > trace_row_display_limit)) ||
21
+ sql_segments(@sample).length > trace_row_display_limit
21
22
  end
22
23
 
23
24
  # return the highest level in the call stack for the trace that is not rails or
@@ -11,6 +11,7 @@ class GooglePieChart
11
11
  def initialize
12
12
  # an array of [label, value]
13
13
  @data = []
14
+ @max = nil
14
15
  self.width = 300
15
16
  self.height = 200
16
17
  end
@@ -15,7 +15,7 @@
15
15
  </tr>
16
16
  <% end %>
17
17
 
18
- <% if @obfuscated_sql %>
18
+ <% if defined?(@obfuscated_sql) && @obfuscated_sql %>
19
19
  <tr>
20
20
  <th align=right valign=top>
21
21
  Obfuscated Query
@@ -2,8 +2,8 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
5
  module NewRelic
6
+ autoload :MetricParser, 'new_relic/metric_parser'
7
7
  module MetricParser
8
8
  class ActionMailer < NewRelic::MetricParser::MetricParser
9
9
 
@@ -2,8 +2,8 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
5
  module NewRelic
6
+ autoload :MetricParser, 'new_relic/metric_parser'
7
7
  module MetricParser
8
8
  class ActiveMerchant < NewRelic::MetricParser::MetricParser
9
9
 
@@ -2,8 +2,8 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
5
  module NewRelic
6
+ autoload :MetricParser, 'new_relic/metric_parser'
7
7
  module MetricParser
8
8
  class ActiveRecord < NewRelic::MetricParser::MetricParser
9
9
  def is_active_record? ; true; end
@@ -2,8 +2,8 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
5
  module NewRelic
6
+ autoload :MetricParser, 'new_relic/metric_parser'
7
7
  module MetricParser
8
8
  class Apdex < NewRelic::MetricParser::MetricParser
9
9
 
@@ -2,8 +2,8 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
5
  module NewRelic
6
+ autoload :MetricParser, 'new_relic/metric_parser'
7
7
  module MetricParser
8
8
  class Controller < NewRelic::MetricParser::MetricParser
9
9
 
@@ -2,8 +2,8 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
5
  module NewRelic
6
+ autoload :MetricParser, 'new_relic/metric_parser'
7
7
  module MetricParser
8
8
  class ControllerCPU < NewRelic::MetricParser::MetricParser
9
9
 
@@ -2,8 +2,8 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
5
  module NewRelic
6
+ autoload :MetricParser, 'new_relic/metric_parser'
7
7
  module MetricParser
8
8
  class Errors < NewRelic::MetricParser::MetricParser
9
9
  def is_error?; true; end
@@ -2,8 +2,8 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
5
  module NewRelic
6
+ autoload :MetricParser, 'new_relic/metric_parser'
7
7
  module MetricParser
8
8
  class External < NewRelic::MetricParser::MetricParser
9
9
 
@@ -2,8 +2,8 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
5
  module NewRelic
6
+ autoload :MetricParser, 'new_relic/metric_parser'
7
7
  module MetricParser
8
8
  class MemCache < NewRelic::MetricParser::MetricParser
9
9
  def is_memcache?; true; end
@@ -13,9 +13,6 @@ module NewRelic
13
13
  def short_name
14
14
  'Memcache'
15
15
  end
16
- def developer_name
17
- "Memcache #{segments[1..-1].join '/'}"
18
- end
19
16
 
20
17
  def all?
21
18
  segments[1].index('all') == 0
@@ -2,9 +2,8 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
-
7
5
  module NewRelic
6
+ autoload :MetricParser, 'new_relic/metric_parser'
8
7
  module MetricParser
9
8
  class Middleware < MetricParser
10
9
  ALL = 'Middleware/all'.freeze
@@ -2,9 +2,8 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
-
7
5
  module NewRelic
6
+ autoload :MetricParser, 'new_relic/metric_parser'
8
7
  module MetricParser
9
8
  class Nested < Controller
10
9
  def initialize(name)
@@ -2,10 +2,10 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
5
  # OtherTransaction metrics must have at least three segments: /OtherTransaction/<task>/*
7
6
  # Task is "Background", "Resque", "DelayedJob" etc.
8
7
  module NewRelic
8
+ autoload :MetricParser, 'new_relic/metric_parser'
9
9
  module MetricParser
10
10
  class OtherTransaction < NewRelic::MetricParser::MetricParser
11
11
 
@@ -2,8 +2,8 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
5
  module NewRelic
6
+ autoload :MetricParser, 'new_relic/metric_parser'
7
7
  module MetricParser
8
8
  class View < NewRelic::MetricParser::MetricParser
9
9
  def is_view?; true; end
@@ -2,9 +2,9 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
5
  # The metric where the mongrel queue time is stored
7
6
  module NewRelic
7
+ autoload :MetricParser, 'new_relic/metric_parser'
8
8
  module MetricParser
9
9
  class WebFrontend < NewRelic::MetricParser::MetricParser
10
10
  def short_name
@@ -2,8 +2,8 @@
2
2
  # This file is distributed under New Relic's license terms.
3
3
  # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
4
4
 
5
- require 'new_relic/metric_parser'
6
5
  module NewRelic
6
+ autoload :MetricParser, 'new_relic/metric_parser'
7
7
  module MetricParser
8
8
  class WebService < NewRelic::MetricParser::MetricParser
9
9
  def is_web_service?
metadata CHANGED
@@ -1,18 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newrelic_rpm
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.16.2.321
4
+ version: 3.16.3.323
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Krajcar
8
8
  - Matthew Wear
9
9
  - Katherine Wu
10
- - Caito Scherr
11
10
  - Kenichi Nakamura
12
11
  autorequire:
13
12
  bindir: bin
14
13
  cert_chain: []
15
- date: 2016-08-22 00:00:00.000000000 Z
14
+ date: 2016-09-21 00:00:00.000000000 Z
16
15
  dependencies:
17
16
  - !ruby/object:Gem::Dependency
18
17
  name: rake
@@ -238,6 +237,7 @@ files:
238
237
  - lib/new_relic/agent/hostname.rb
239
238
  - lib/new_relic/agent/http_clients/curb_wrappers.rb
240
239
  - lib/new_relic/agent/http_clients/excon_wrappers.rb
240
+ - lib/new_relic/agent/http_clients/http_rb_wrappers.rb
241
241
  - lib/new_relic/agent/http_clients/httpclient_wrappers.rb
242
242
  - lib/new_relic/agent/http_clients/net_http_wrappers.rb
243
243
  - lib/new_relic/agent/http_clients/typhoeus_wrappers.rb
@@ -264,6 +264,7 @@ files:
264
264
  - lib/new_relic/agent/instrumentation/excon/connection.rb
265
265
  - lib/new_relic/agent/instrumentation/excon/middleware.rb
266
266
  - lib/new_relic/agent/instrumentation/grape.rb
267
+ - lib/new_relic/agent/instrumentation/http.rb
267
268
  - lib/new_relic/agent/instrumentation/httpclient.rb
268
269
  - lib/new_relic/agent/instrumentation/ignore_actions.rb
269
270
  - lib/new_relic/agent/instrumentation/memcache.rb
@@ -824,6 +825,9 @@ files:
824
825
  - test/multiverse/suites/httpclient/Envfile
825
826
  - test/multiverse/suites/httpclient/config/newrelic.yml
826
827
  - test/multiverse/suites/httpclient/httpclient_test.rb
828
+ - test/multiverse/suites/httprb/Envfile
829
+ - test/multiverse/suites/httprb/config/newrelic.yml
830
+ - test/multiverse/suites/httprb/httprb_test.rb
827
831
  - test/multiverse/suites/json/Envfile
828
832
  - test/multiverse/suites/json/config/newrelic.yml
829
833
  - test/multiverse/suites/json/json_test.rb
@@ -1185,6 +1189,7 @@ files:
1185
1189
  - test/performance/script/mega-runner
1186
1190
  - test/performance/script/runner
1187
1191
  - test/performance/suites/active_record.rb
1192
+ - test/performance/suites/active_record_subscriber.rb
1188
1193
  - test/performance/suites/agent_attributes.rb
1189
1194
  - test/performance/suites/config.rb
1190
1195
  - test/performance/suites/datastores.rb