newrelic_rpm 6.15.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +96 -22
- data/README.md +2 -2
- data/lib/new_relic/agent.rb +0 -6
- data/lib/new_relic/agent/autostart.rb +1 -2
- data/lib/new_relic/agent/configuration/default_source.rb +270 -104
- data/lib/new_relic/agent/configuration/manager.rb +2 -2
- data/lib/new_relic/agent/datastores/redis.rb +0 -4
- data/lib/new_relic/agent/distributed_tracing.rb +0 -66
- data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +0 -16
- data/lib/new_relic/agent/instrumentation/bunny.rb +10 -152
- data/lib/new_relic/agent/instrumentation/bunny/chain.rb +45 -0
- data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +152 -0
- data/lib/new_relic/agent/instrumentation/bunny/prepend.rb +35 -0
- data/lib/new_relic/agent/instrumentation/curb.rb +9 -241
- data/lib/new_relic/agent/instrumentation/curb/chain.rb +93 -0
- data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +222 -0
- data/lib/new_relic/agent/instrumentation/curb/prepend.rb +63 -0
- data/lib/new_relic/agent/instrumentation/delayed_job/chain.rb +38 -0
- data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +53 -0
- data/lib/new_relic/agent/instrumentation/delayed_job/prepend.rb +34 -0
- data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +8 -50
- data/lib/new_relic/agent/instrumentation/excon.rb +2 -1
- data/lib/new_relic/agent/instrumentation/grape.rb +13 -113
- data/lib/new_relic/agent/instrumentation/grape/chain.rb +25 -0
- data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +100 -0
- data/lib/new_relic/agent/instrumentation/grape/prepend.rb +17 -0
- data/lib/new_relic/agent/instrumentation/httpclient.rb +8 -30
- data/lib/new_relic/agent/instrumentation/httpclient/chain.rb +25 -0
- data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +38 -0
- data/lib/new_relic/agent/instrumentation/httpclient/prepend.rb +17 -0
- data/lib/new_relic/agent/instrumentation/httprb.rb +29 -0
- data/lib/new_relic/agent/instrumentation/httprb/chain.rb +22 -0
- data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +30 -0
- data/lib/new_relic/agent/instrumentation/httprb/prepend.rb +15 -0
- data/lib/new_relic/agent/instrumentation/memcache.rb +54 -69
- data/lib/new_relic/agent/instrumentation/memcache/chain.rb +16 -0
- data/lib/new_relic/agent/instrumentation/memcache/dalli.rb +38 -121
- data/lib/new_relic/agent/instrumentation/memcache/helper.rb +56 -0
- data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +88 -0
- data/lib/new_relic/agent/instrumentation/memcache/prepend.rb +88 -0
- data/lib/new_relic/agent/instrumentation/middleware_proxy.rb +2 -0
- data/lib/new_relic/agent/instrumentation/mongo.rb +7 -0
- data/lib/new_relic/agent/instrumentation/net_http.rb +39 -0
- data/lib/new_relic/agent/instrumentation/net_http/chain.rb +25 -0
- data/lib/new_relic/agent/instrumentation/{net_prepend.rb → net_http/instrumentation.rb} +3 -3
- data/lib/new_relic/agent/instrumentation/net_http/prepend.rb +21 -0
- data/lib/new_relic/agent/instrumentation/padrino.rb +18 -53
- data/lib/new_relic/agent/instrumentation/padrino/chain.rb +34 -0
- data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +27 -0
- data/lib/new_relic/agent/instrumentation/padrino/prepend.rb +20 -0
- data/lib/new_relic/agent/instrumentation/rack.rb +29 -139
- data/lib/new_relic/agent/instrumentation/rack/chain.rb +57 -0
- data/lib/new_relic/agent/instrumentation/rack/helpers.rb +32 -0
- data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +73 -0
- data/lib/new_relic/agent/instrumentation/rack/prepend.rb +36 -0
- data/lib/new_relic/agent/instrumentation/rake.rb +13 -154
- data/lib/new_relic/agent/instrumentation/rake/chain.rb +25 -0
- data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +144 -0
- data/lib/new_relic/agent/instrumentation/rake/prepend.rb +14 -0
- data/lib/new_relic/agent/instrumentation/redis.rb +10 -109
- data/lib/new_relic/agent/instrumentation/redis/chain.rb +34 -0
- data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +65 -0
- data/lib/new_relic/agent/instrumentation/redis/prepend.rb +24 -0
- data/lib/new_relic/agent/instrumentation/resque.rb +8 -28
- data/lib/new_relic/agent/instrumentation/resque/chain.rb +22 -0
- data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +33 -0
- data/lib/new_relic/agent/instrumentation/resque/prepend.rb +16 -0
- data/lib/new_relic/agent/instrumentation/sinatra.rb +20 -158
- data/lib/new_relic/agent/instrumentation/sinatra/chain.rb +55 -0
- data/lib/new_relic/agent/instrumentation/sinatra/ignorer.rb +29 -34
- data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +118 -0
- data/lib/new_relic/agent/instrumentation/sinatra/prepend.rb +33 -0
- data/lib/new_relic/agent/instrumentation/typhoeus.rb +10 -89
- data/lib/new_relic/agent/instrumentation/typhoeus/chain.rb +22 -0
- data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +82 -0
- data/lib/new_relic/agent/instrumentation/typhoeus/prepend.rb +14 -0
- data/lib/new_relic/agent/new_relic_service.rb +3 -12
- data/lib/new_relic/agent/sql_sampler.rb +1 -1
- data/lib/new_relic/agent/transaction.rb +1 -4
- data/lib/new_relic/control/frameworks/rails.rb +11 -9
- data/lib/new_relic/control/instance_methods.rb +1 -0
- data/lib/new_relic/dependency_detection.rb +116 -10
- data/lib/new_relic/noticed_error.rb +1 -5
- data/lib/new_relic/supportability_helper.rb +1 -2
- data/lib/new_relic/version.rb +2 -2
- data/newrelic_rpm.gemspec +1 -1
- metadata +53 -8
- data/cert/cacert.pem +0 -1177
- data/lib/new_relic/agent/instrumentation/http.rb +0 -49
- data/lib/new_relic/agent/instrumentation/net.rb +0 -70
@@ -0,0 +1,14 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# This file is distributed under New Relic's license terms.
|
3
|
+
# See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
|
4
|
+
|
5
|
+
module NewRelic::Agent::Instrumentation
|
6
|
+
module Typhoeus
|
7
|
+
module Prepend
|
8
|
+
include NewRelic::Agent::Instrumentation::Typhoeus
|
9
|
+
def run(*args)
|
10
|
+
with_tracing { super }
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -41,7 +41,6 @@ module NewRelic
|
|
41
41
|
@configured_collector = collector
|
42
42
|
@request_timeout = Agent.config[:timeout]
|
43
43
|
@ssl_cert_store = nil
|
44
|
-
@use_bundled_certs = false
|
45
44
|
@in_session = nil
|
46
45
|
@agent_id = nil
|
47
46
|
@shared_tcp_connection = nil
|
@@ -299,7 +298,7 @@ module NewRelic
|
|
299
298
|
end
|
300
299
|
|
301
300
|
def set_cert_store(conn)
|
302
|
-
if
|
301
|
+
if NewRelic::Agent.config[:ca_bundle_path]
|
303
302
|
conn.cert_store = ssl_cert_store
|
304
303
|
else
|
305
304
|
::NewRelic::Agent.logger.debug("Using default security certificates")
|
@@ -348,13 +347,8 @@ module NewRelic
|
|
348
347
|
start_connection(conn)
|
349
348
|
conn
|
350
349
|
rescue Timeout::Error
|
351
|
-
|
352
|
-
|
353
|
-
@use_bundled_certs = true
|
354
|
-
retry
|
355
|
-
else
|
356
|
-
raise
|
357
|
-
end
|
350
|
+
::NewRelic::Agent.logger.info ("Timeout while attempting to connect. You may need to install system-level CA Certificates, as the ruby agent no longer includes these.")
|
351
|
+
raise
|
358
352
|
end
|
359
353
|
|
360
354
|
# The path to the certificate file used to verify the SSL
|
@@ -363,9 +357,6 @@ module NewRelic
|
|
363
357
|
if path_override = NewRelic::Agent.config[:ca_bundle_path]
|
364
358
|
NewRelic::Agent.logger.warn("Couldn't find CA bundle from configured ca_bundle_path: #{path_override}") unless File.exist? path_override
|
365
359
|
path_override
|
366
|
-
else
|
367
|
-
::NewRelic::Agent.increment_metric("Supportability/Ruby/Certificate/BundleRequired")
|
368
|
-
File.expand_path(File.join(control.newrelic_root, 'cert', 'cacert.pem'))
|
369
360
|
end
|
370
361
|
end
|
371
362
|
|
@@ -65,7 +65,7 @@ module NewRelic
|
|
65
65
|
end
|
66
66
|
|
67
67
|
# This is called when we are done with the transaction.
|
68
|
-
def on_finishing_transaction(state, name
|
68
|
+
def on_finishing_transaction(state, name)
|
69
69
|
return unless enabled?
|
70
70
|
|
71
71
|
data = state.sql_sampler_transaction_data
|
@@ -464,7 +464,7 @@ module NewRelic
|
|
464
464
|
@ignore_apdex = options[:ignore_apdex] if options.key? :ignore_apdex
|
465
465
|
@ignore_enduser = options[:ignore_enduser] if options.key? :ignore_enduser
|
466
466
|
|
467
|
-
nest_initial_segment if
|
467
|
+
nest_initial_segment if segments.length == 1
|
468
468
|
nested_name = self.class.nested_transaction_name options[:transaction_name]
|
469
469
|
segment = create_segment nested_name
|
470
470
|
set_default_transaction_name(options[:transaction_name], category)
|
@@ -571,9 +571,6 @@ module NewRelic
|
|
571
571
|
AttributeFilter::DST_ERROR_COLLECTOR
|
572
572
|
|
573
573
|
if http_response_code
|
574
|
-
add_agent_attribute(:httpResponseCode, http_response_code.to_s, default_destinations)
|
575
|
-
# Sending status code as an int with http.statusCode key is correct
|
576
|
-
# The above attribute is deprecated and should be removed in agent version 7.0.0
|
577
574
|
add_agent_attribute(:'http.statusCode', http_response_code, default_destinations)
|
578
575
|
end
|
579
576
|
|
@@ -82,15 +82,17 @@ module NewRelic
|
|
82
82
|
end
|
83
83
|
|
84
84
|
def install_browser_monitoring(config)
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
85
|
+
@install_lock.synchronize do
|
86
|
+
return if defined?(@browser_monitoring_installed) && @browser_monitoring_installed
|
87
|
+
@browser_monitoring_installed = true
|
88
|
+
return if config.nil? || !config.respond_to?(:middleware) || !Agent.config[:'browser_monitoring.auto_instrument']
|
89
|
+
begin
|
90
|
+
require 'new_relic/rack/browser_monitoring'
|
91
|
+
config.middleware.use NewRelic::Rack::BrowserMonitoring
|
92
|
+
::NewRelic::Agent.logger.debug("Installed New Relic Browser Monitoring middleware")
|
93
|
+
rescue => e
|
94
|
+
::NewRelic::Agent.logger.warn("Error installing New Relic Browser Monitoring middleware", e)
|
95
|
+
end
|
94
96
|
end
|
95
97
|
end
|
96
98
|
|
@@ -21,6 +21,7 @@ module DependencyDetection
|
|
21
21
|
end
|
22
22
|
|
23
23
|
@items << item
|
24
|
+
return item
|
24
25
|
end
|
25
26
|
|
26
27
|
def detect!
|
@@ -51,16 +52,25 @@ module DependencyDetection
|
|
51
52
|
class Dependent
|
52
53
|
attr_reader :executed
|
53
54
|
attr_accessor :name
|
55
|
+
attr_writer :config_name
|
56
|
+
attr_reader :dependencies
|
57
|
+
attr_reader :prepend_conflicts
|
58
|
+
|
59
|
+
|
54
60
|
def executed!
|
55
61
|
@executed = true
|
56
62
|
end
|
57
63
|
|
58
|
-
|
64
|
+
def config_name
|
65
|
+
@config_name || @name
|
66
|
+
end
|
59
67
|
|
60
68
|
def initialize
|
61
69
|
@dependencies = []
|
62
70
|
@executes = []
|
71
|
+
@prepend_conflicts = []
|
63
72
|
@name = nil
|
73
|
+
@config_name = nil
|
64
74
|
end
|
65
75
|
|
66
76
|
def dependencies_satisfied?
|
@@ -70,13 +80,46 @@ module DependencyDetection
|
|
70
80
|
def source_location_for klass, method_name
|
71
81
|
Object.instance_method(:method).bind(klass.allocate).call(method_name).source_location.to_s
|
72
82
|
end
|
73
|
-
|
83
|
+
|
84
|
+
# Extracts the instrumented library name from the instrumenting module's name
|
85
|
+
# Given "NewRelic::Agent::Instrumentation::NetHTTP::Prepend"
|
86
|
+
# Will extract "NetHTTP" which is in the 2nd to last spot
|
87
|
+
def extract_supportability_name instrumenting_module
|
88
|
+
instrumenting_module.to_s.split("::")[-2]
|
89
|
+
end
|
90
|
+
|
91
|
+
def log_and_instrument method, instrumenting_module, supportability_name
|
92
|
+
supportability_name ||= extract_supportability_name(instrumenting_module)
|
93
|
+
NewRelic::Agent.logger.info "Installing New Relic supported #{supportability_name} instrumentation using #{method}"
|
94
|
+
NewRelic::Agent.record_metric("Supportability/Instrumentation/#{supportability_name}/#{method}", 0.0)
|
95
|
+
yield
|
96
|
+
end
|
97
|
+
|
98
|
+
def prepend_instrument target_class, instrumenting_module, supportability_name=nil
|
99
|
+
log_and_instrument("Prepend", instrumenting_module, supportability_name) do
|
100
|
+
target_class.send :prepend, instrumenting_module
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
def chain_instrument instrumenting_module, supportability_name=nil
|
105
|
+
log_and_instrument("MethodChaining", instrumenting_module, supportability_name) do
|
106
|
+
instrumenting_module.instrument!
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
def chain_instrument_target target, instrumenting_module, supportability_name=nil
|
111
|
+
NewRelic::Agent.logger.info "Installing deferred #{target} instrumentation"
|
112
|
+
log_and_instrument("MethodChaining", instrumenting_module, supportability_name) do
|
113
|
+
instrumenting_module.instrument! target
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
74
117
|
def execute
|
75
118
|
@executes.each do |x|
|
76
119
|
begin
|
77
120
|
x.call
|
78
121
|
rescue => err
|
79
|
-
NewRelic::Agent.logger.error
|
122
|
+
NewRelic::Agent.logger.error "Error while installing #{self.name} instrumentation:", err
|
80
123
|
break
|
81
124
|
end
|
82
125
|
end
|
@@ -102,24 +145,87 @@ module DependencyDetection
|
|
102
145
|
end
|
103
146
|
|
104
147
|
def allowed_by_config?
|
105
|
-
|
106
|
-
|
148
|
+
!(disabled_configured? || deprecated_disabled_configured?)
|
149
|
+
end
|
150
|
+
|
151
|
+
# TODO: Remove in 8.0
|
152
|
+
# will only return true if a disabled key is found and is truthy
|
153
|
+
def deprecated_disabled_configured?
|
154
|
+
return false if self.name.nil?
|
107
155
|
|
108
156
|
key = "disable_#{self.name}".to_sym
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
157
|
+
return false unless ::NewRelic::Agent.config[key] == true
|
158
|
+
|
159
|
+
::NewRelic::Agent.logger.debug("Not installing #{self.name} instrumentation because of configuration #{key}")
|
160
|
+
::NewRelic::Agent.logger.debug \
|
161
|
+
"[DEPRECATED] configuration #{key} for #{self.name} will be removed in the next major release." \
|
162
|
+
" Use `#{config_key}` with one of `#{VALID_CONFIG_VALUES.map(&:to_s).inspect}`"
|
163
|
+
|
164
|
+
return true
|
165
|
+
end
|
166
|
+
|
167
|
+
def config_key
|
168
|
+
return nil if self.config_name.nil?
|
169
|
+
@config_key ||= "instrumentation.#{self.config_name}".to_sym
|
170
|
+
end
|
171
|
+
|
172
|
+
VALID_CONFIG_VALUES = [:auto, :disabled, :prepend, :chain]
|
173
|
+
AUTO_CONFIG_VALUE = VALID_CONFIG_VALUES[0]
|
174
|
+
|
175
|
+
VALID_CONFIG_VALUES.each do |value|
|
176
|
+
define_method "#{value}_configured?" do
|
177
|
+
value == config_value
|
114
178
|
end
|
115
179
|
end
|
116
180
|
|
181
|
+
# returns only a valid value for instrumentation configuration
|
182
|
+
# If user uses "enabled" it's converted to "auto"
|
183
|
+
def valid_config_value retrieved_value
|
184
|
+
VALID_CONFIG_VALUES.include?(retrieved_value) ? retrieved_value : AUTO_CONFIG_VALUE
|
185
|
+
end
|
186
|
+
|
187
|
+
# fetches and transform potentially invalid value given to one of the valid config values
|
188
|
+
# logs the resolved value during debug mode.
|
189
|
+
def fetch_config_value(key)
|
190
|
+
valid_value = valid_config_value(::NewRelic::Agent.config[key].to_s.to_sym)
|
191
|
+
::NewRelic::Agent.logger.debug("Using #{valid_value} configuration value for #{self.name} to configure instrumentation")
|
192
|
+
return valid_value
|
193
|
+
end
|
194
|
+
|
195
|
+
def config_value
|
196
|
+
return AUTO_CONFIG_VALUE unless config_key
|
197
|
+
fetch_config_value(config_key)
|
198
|
+
end
|
199
|
+
|
117
200
|
def named(new_name)
|
118
201
|
self.name = new_name
|
119
202
|
end
|
120
203
|
|
204
|
+
def configure_with(new_config_name)
|
205
|
+
self.config_name = new_config_name
|
206
|
+
end
|
207
|
+
|
121
208
|
def executes &block
|
122
209
|
@executes << block if block_given?
|
123
210
|
end
|
211
|
+
|
212
|
+
def conflicts_with_prepend &block
|
213
|
+
@prepend_conflicts << block if block_given?
|
214
|
+
end
|
215
|
+
|
216
|
+
def use_prepend?
|
217
|
+
prepend_configured? || (auto_configured? && !prepend_conflicts?)
|
218
|
+
end
|
219
|
+
|
220
|
+
def prepend_conflicts?
|
221
|
+
@prepend_conflicts.any? do |conflict|
|
222
|
+
begin
|
223
|
+
conflict.call
|
224
|
+
rescue => err
|
225
|
+
NewRelic::Agent.logger.error( "Error while checking prepend conflicts #{self.name}:", err )
|
226
|
+
false # assumes no conflicts exist since `prepend` is preferred method of instrumenting
|
227
|
+
end
|
228
|
+
end
|
229
|
+
end
|
124
230
|
end
|
125
231
|
end
|
@@ -70,11 +70,7 @@ class NewRelic::NoticedError
|
|
70
70
|
end
|
71
71
|
|
72
72
|
def self.passes_message_allowlist(exception_class)
|
73
|
-
|
74
|
-
|
75
|
-
allowed = NewRelic::Agent.config[:'strip_exception_messages.allowed_classes'].concat(NewRelic::Agent.config[:'strip_exception_messages.whitelist'])
|
76
|
-
|
77
|
-
allowed.any? do |klass|
|
73
|
+
NewRelic::Agent.config[:'strip_exception_messages.allowed_classes'].any? do |klass|
|
78
74
|
exception_class <= klass
|
79
75
|
end
|
80
76
|
end
|
@@ -13,7 +13,6 @@ module NewRelic
|
|
13
13
|
API_SUPPORTABILITY_METRICS = [
|
14
14
|
:insert_distributed_trace_headers,
|
15
15
|
:accept_distributed_trace_headers,
|
16
|
-
:create_distributed_trace_headers,
|
17
16
|
:add_custom_attributes,
|
18
17
|
:add_custom_span_attributes,
|
19
18
|
:add_instrumentation,
|
@@ -75,7 +74,7 @@ module NewRelic
|
|
75
74
|
caller_location = caller_locations.first.label
|
76
75
|
|
77
76
|
message = "Bad argument passed to ##{caller_location}. " \
|
78
|
-
"Expected #{klass} for `#{name}` but got #{
|
77
|
+
"Expected #{klass} for `#{name}` but got #{arg.class}"
|
79
78
|
|
80
79
|
NewRelic::Agent.logger.warn message
|
81
80
|
nil
|
data/lib/new_relic/version.rb
CHANGED
data/newrelic_rpm.gemspec
CHANGED
@@ -10,7 +10,7 @@ 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 = [ "
|
13
|
+
s.authors = [ "Aaron Huntsman", "Tanna McClure", "Michael Lang" ]
|
14
14
|
s.date = Time.now.strftime('%Y-%m-%d')
|
15
15
|
s.licenses = ['Apache-2.0']
|
16
16
|
s.description = <<-EOS
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: newrelic_rpm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 7.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Aaron Huntsman
|
8
8
|
- Tanna McClure
|
9
9
|
- Michael Lang
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-
|
13
|
+
date: 2021-04-23 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
@@ -217,7 +217,6 @@ files:
|
|
217
217
|
- bin/newrelic
|
218
218
|
- bin/newrelic_cmd
|
219
219
|
- bin/nrdebug
|
220
|
-
- cert/cacert.pem
|
221
220
|
- config.dot
|
222
221
|
- config/database.yml
|
223
222
|
- init.rb
|
@@ -311,32 +310,63 @@ files:
|
|
311
310
|
- lib/new_relic/agent/instrumentation/acts_as_solr.rb
|
312
311
|
- lib/new_relic/agent/instrumentation/authlogic.rb
|
313
312
|
- lib/new_relic/agent/instrumentation/bunny.rb
|
313
|
+
- lib/new_relic/agent/instrumentation/bunny/chain.rb
|
314
|
+
- lib/new_relic/agent/instrumentation/bunny/instrumentation.rb
|
315
|
+
- lib/new_relic/agent/instrumentation/bunny/prepend.rb
|
314
316
|
- lib/new_relic/agent/instrumentation/controller_instrumentation.rb
|
315
317
|
- lib/new_relic/agent/instrumentation/curb.rb
|
318
|
+
- lib/new_relic/agent/instrumentation/curb/chain.rb
|
319
|
+
- lib/new_relic/agent/instrumentation/curb/instrumentation.rb
|
320
|
+
- lib/new_relic/agent/instrumentation/curb/prepend.rb
|
316
321
|
- lib/new_relic/agent/instrumentation/data_mapper.rb
|
322
|
+
- lib/new_relic/agent/instrumentation/delayed_job/chain.rb
|
323
|
+
- lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb
|
324
|
+
- lib/new_relic/agent/instrumentation/delayed_job/prepend.rb
|
317
325
|
- lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb
|
318
326
|
- lib/new_relic/agent/instrumentation/excon.rb
|
319
327
|
- lib/new_relic/agent/instrumentation/excon/connection.rb
|
320
328
|
- lib/new_relic/agent/instrumentation/excon/middleware.rb
|
321
329
|
- lib/new_relic/agent/instrumentation/grape.rb
|
322
|
-
- lib/new_relic/agent/instrumentation/
|
330
|
+
- lib/new_relic/agent/instrumentation/grape/chain.rb
|
331
|
+
- lib/new_relic/agent/instrumentation/grape/instrumentation.rb
|
332
|
+
- lib/new_relic/agent/instrumentation/grape/prepend.rb
|
323
333
|
- lib/new_relic/agent/instrumentation/httpclient.rb
|
334
|
+
- lib/new_relic/agent/instrumentation/httpclient/chain.rb
|
335
|
+
- lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb
|
336
|
+
- lib/new_relic/agent/instrumentation/httpclient/prepend.rb
|
337
|
+
- lib/new_relic/agent/instrumentation/httprb.rb
|
338
|
+
- lib/new_relic/agent/instrumentation/httprb/chain.rb
|
339
|
+
- lib/new_relic/agent/instrumentation/httprb/instrumentation.rb
|
340
|
+
- lib/new_relic/agent/instrumentation/httprb/prepend.rb
|
324
341
|
- lib/new_relic/agent/instrumentation/ignore_actions.rb
|
325
342
|
- lib/new_relic/agent/instrumentation/memcache.rb
|
343
|
+
- lib/new_relic/agent/instrumentation/memcache/chain.rb
|
326
344
|
- lib/new_relic/agent/instrumentation/memcache/dalli.rb
|
345
|
+
- lib/new_relic/agent/instrumentation/memcache/helper.rb
|
346
|
+
- lib/new_relic/agent/instrumentation/memcache/instrumentation.rb
|
347
|
+
- lib/new_relic/agent/instrumentation/memcache/prepend.rb
|
327
348
|
- lib/new_relic/agent/instrumentation/merb/controller.rb
|
328
349
|
- lib/new_relic/agent/instrumentation/merb/errors.rb
|
329
350
|
- lib/new_relic/agent/instrumentation/middleware_proxy.rb
|
330
351
|
- lib/new_relic/agent/instrumentation/middleware_tracing.rb
|
331
352
|
- lib/new_relic/agent/instrumentation/mongo.rb
|
332
353
|
- lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb
|
333
|
-
- lib/new_relic/agent/instrumentation/
|
334
|
-
- lib/new_relic/agent/instrumentation/
|
354
|
+
- lib/new_relic/agent/instrumentation/net_http.rb
|
355
|
+
- lib/new_relic/agent/instrumentation/net_http/chain.rb
|
356
|
+
- lib/new_relic/agent/instrumentation/net_http/instrumentation.rb
|
357
|
+
- lib/new_relic/agent/instrumentation/net_http/prepend.rb
|
335
358
|
- lib/new_relic/agent/instrumentation/notifications_subscriber.rb
|
336
359
|
- lib/new_relic/agent/instrumentation/padrino.rb
|
360
|
+
- lib/new_relic/agent/instrumentation/padrino/chain.rb
|
361
|
+
- lib/new_relic/agent/instrumentation/padrino/instrumentation.rb
|
362
|
+
- lib/new_relic/agent/instrumentation/padrino/prepend.rb
|
337
363
|
- lib/new_relic/agent/instrumentation/passenger_instrumentation.rb
|
338
364
|
- lib/new_relic/agent/instrumentation/queue_time.rb
|
339
365
|
- lib/new_relic/agent/instrumentation/rack.rb
|
366
|
+
- lib/new_relic/agent/instrumentation/rack/chain.rb
|
367
|
+
- lib/new_relic/agent/instrumentation/rack/helpers.rb
|
368
|
+
- lib/new_relic/agent/instrumentation/rack/instrumentation.rb
|
369
|
+
- lib/new_relic/agent/instrumentation/rack/prepend.rb
|
340
370
|
- lib/new_relic/agent/instrumentation/rails/action_controller.rb
|
341
371
|
- lib/new_relic/agent/instrumentation/rails/action_web_service.rb
|
342
372
|
- lib/new_relic/agent/instrumentation/rails3/action_controller.rb
|
@@ -346,16 +376,31 @@ files:
|
|
346
376
|
- lib/new_relic/agent/instrumentation/rails_notifications/action_view.rb
|
347
377
|
- lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb
|
348
378
|
- lib/new_relic/agent/instrumentation/rake.rb
|
379
|
+
- lib/new_relic/agent/instrumentation/rake/chain.rb
|
380
|
+
- lib/new_relic/agent/instrumentation/rake/instrumentation.rb
|
381
|
+
- lib/new_relic/agent/instrumentation/rake/prepend.rb
|
349
382
|
- lib/new_relic/agent/instrumentation/redis.rb
|
383
|
+
- lib/new_relic/agent/instrumentation/redis/chain.rb
|
384
|
+
- lib/new_relic/agent/instrumentation/redis/instrumentation.rb
|
385
|
+
- lib/new_relic/agent/instrumentation/redis/prepend.rb
|
350
386
|
- lib/new_relic/agent/instrumentation/resque.rb
|
387
|
+
- lib/new_relic/agent/instrumentation/resque/chain.rb
|
388
|
+
- lib/new_relic/agent/instrumentation/resque/instrumentation.rb
|
389
|
+
- lib/new_relic/agent/instrumentation/resque/prepend.rb
|
351
390
|
- lib/new_relic/agent/instrumentation/sequel.rb
|
352
391
|
- lib/new_relic/agent/instrumentation/sequel_helper.rb
|
353
392
|
- lib/new_relic/agent/instrumentation/sidekiq.rb
|
354
393
|
- lib/new_relic/agent/instrumentation/sinatra.rb
|
394
|
+
- lib/new_relic/agent/instrumentation/sinatra/chain.rb
|
355
395
|
- lib/new_relic/agent/instrumentation/sinatra/ignorer.rb
|
396
|
+
- lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb
|
397
|
+
- lib/new_relic/agent/instrumentation/sinatra/prepend.rb
|
356
398
|
- lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb
|
357
399
|
- lib/new_relic/agent/instrumentation/sunspot.rb
|
358
400
|
- lib/new_relic/agent/instrumentation/typhoeus.rb
|
401
|
+
- lib/new_relic/agent/instrumentation/typhoeus/chain.rb
|
402
|
+
- lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb
|
403
|
+
- lib/new_relic/agent/instrumentation/typhoeus/prepend.rb
|
359
404
|
- lib/new_relic/agent/internal_agent_error.rb
|
360
405
|
- lib/new_relic/agent/javascript_instrumentor.rb
|
361
406
|
- lib/new_relic/agent/log_once.rb
|
@@ -525,7 +570,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
525
570
|
- !ruby/object:Gem::Version
|
526
571
|
version: 1.3.1
|
527
572
|
requirements: []
|
528
|
-
rubygems_version: 3.1.
|
573
|
+
rubygems_version: 3.1.6
|
529
574
|
signing_key:
|
530
575
|
specification_version: 4
|
531
576
|
summary: New Relic Ruby Agent
|