newrelic_rpm 6.3.0.355 → 6.8.0.360
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +50 -10
- data/CHANGELOG.md +198 -0
- data/Guardfile +7 -1
- data/lib/new_relic/agent.rb +80 -0
- data/lib/new_relic/agent/agent.rb +87 -26
- data/lib/new_relic/agent/agent_logger.rb +4 -0
- data/lib/new_relic/agent/attribute_filter.rb +7 -7
- data/lib/new_relic/agent/attributes.rb +152 -0
- data/lib/new_relic/agent/autostart.rb +19 -14
- data/lib/new_relic/agent/commands/agent_command_router.rb +2 -21
- data/lib/new_relic/agent/configuration/default_source.rb +129 -39
- data/lib/new_relic/agent/configuration/environment_source.rb +4 -2
- data/lib/new_relic/agent/configuration/event_harvest_config.rb +45 -0
- data/lib/new_relic/agent/configuration/high_security_source.rb +1 -0
- data/lib/new_relic/agent/configuration/manager.rb +13 -9
- data/lib/new_relic/agent/configuration/server_source.rb +33 -9
- data/lib/new_relic/agent/configuration/yaml_source.rb +10 -5
- data/lib/new_relic/agent/connect/request_builder.rb +11 -13
- data/lib/new_relic/agent/connect/response_handler.rb +1 -1
- data/lib/new_relic/agent/cross_app_monitor.rb +1 -1
- data/lib/new_relic/agent/datastores/mongo/event_formatter.rb +2 -2
- data/lib/new_relic/agent/datastores/mongo/obfuscator.rb +8 -8
- data/lib/new_relic/agent/distributed_trace_intrinsics.rb +90 -0
- data/lib/new_relic/agent/distributed_trace_metrics.rb +74 -0
- data/lib/new_relic/agent/distributed_trace_monitor.rb +2 -12
- data/lib/new_relic/agent/distributed_trace_payload.rb +9 -76
- data/lib/new_relic/agent/distributed_trace_transport_type.rb +43 -0
- data/lib/new_relic/agent/error_collector.rb +2 -2
- data/lib/new_relic/agent/error_event_aggregator.rb +2 -1
- data/lib/new_relic/agent/error_trace_aggregator.rb +1 -0
- data/lib/new_relic/agent/event_aggregator.rb +26 -32
- data/lib/new_relic/agent/guid_generator.rb +28 -0
- data/lib/new_relic/agent/inbound_request_monitor.rb +2 -2
- data/lib/new_relic/agent/instrumentation/action_cable_subscriber.rb +24 -42
- data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +45 -69
- data/lib/new_relic/agent/instrumentation/action_view_subscriber.rb +70 -53
- data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +25 -18
- data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +33 -47
- data/lib/new_relic/agent/instrumentation/active_storage_subscriber.rb +4 -4
- data/lib/new_relic/agent/instrumentation/grape.rb +2 -3
- data/lib/new_relic/agent/instrumentation/{evented_subscriber.rb → notifications_subscriber.rb} +7 -66
- data/lib/new_relic/agent/instrumentation/rails_notifications/action_cable.rb +2 -3
- data/lib/new_relic/agent/javascript_instrumentor.rb +1 -1
- data/lib/new_relic/agent/logging.rb +129 -0
- data/lib/new_relic/agent/new_relic_service.rb +7 -9
- data/lib/new_relic/agent/priority_sampled_buffer.rb +2 -0
- data/lib/new_relic/agent/span_event_aggregator.rb +2 -4
- data/lib/new_relic/agent/span_event_primitive.rb +29 -7
- data/lib/new_relic/agent/sql_sampler.rb +1 -1
- data/lib/new_relic/agent/threading/backtrace_service.rb +3 -3
- data/lib/new_relic/agent/threading/thread_profile.rb +9 -23
- data/lib/new_relic/agent/trace_context.rb +244 -0
- data/lib/new_relic/agent/trace_context_payload.rb +134 -0
- data/lib/new_relic/agent/trace_context_request_monitor.rb +42 -0
- data/lib/new_relic/agent/tracer.rb +32 -0
- data/lib/new_relic/agent/transaction.rb +26 -20
- data/lib/new_relic/agent/transaction/abstract_segment.rb +2 -2
- data/lib/new_relic/agent/transaction/distributed_tracing.rb +20 -101
- data/lib/new_relic/agent/transaction/external_request_segment.rb +18 -5
- data/lib/new_relic/agent/transaction/segment.rb +7 -1
- data/lib/new_relic/agent/transaction/trace.rb +3 -8
- data/lib/new_relic/agent/transaction/trace_builder.rb +0 -1
- data/lib/new_relic/agent/transaction/trace_context.rb +159 -0
- data/lib/new_relic/agent/transaction/trace_node.rb +8 -3
- data/lib/new_relic/agent/transaction_error_primitive.rb +4 -11
- data/lib/new_relic/agent/transaction_event_primitive.rb +3 -11
- data/lib/new_relic/agent/transaction_event_recorder.rb +3 -3
- data/lib/new_relic/agent/transaction_sampler.rb +1 -5
- data/lib/new_relic/cli/commands/deployments.rb +1 -1
- data/lib/new_relic/coerce.rb +29 -6
- data/lib/new_relic/control/instance_methods.rb +10 -1
- data/lib/new_relic/dependency_detection.rb +4 -4
- data/lib/new_relic/noticed_error.rb +8 -4
- data/lib/new_relic/rack/browser_monitoring.rb +10 -8
- data/lib/new_relic/version.rb +1 -1
- data/lib/tasks/config.rake +1 -2
- data/newrelic_rpm.gemspec +13 -4
- data/test/agent_helper.rb +95 -9
- data/true +0 -0
- metadata +58 -24
- data/lib/new_relic/agent/commands/xray_session.rb +0 -55
- data/lib/new_relic/agent/commands/xray_session_collection.rb +0 -161
- data/lib/new_relic/agent/configuration/event_data.rb +0 -39
- data/lib/new_relic/agent/transaction/attributes.rb +0 -154
- data/lib/new_relic/agent/transaction/xray_sample_buffer.rb +0 -64
- data/lib/tasks/versions.html.erb +0 -28
- data/lib/tasks/versions.postface.html +0 -8
- data/lib/tasks/versions.preface.html +0 -9
- data/lib/tasks/versions.rake +0 -65
- data/lib/tasks/versions.txt.erb +0 -14
@@ -101,7 +101,13 @@ module NewRelic
|
|
101
101
|
Agent.config.replace_or_add_config(manual)
|
102
102
|
|
103
103
|
config_file_path = @config_file_override || Agent.config[:config_path]
|
104
|
-
Agent
|
104
|
+
yaml_source = Agent::Configuration::YamlSource.new(config_file_path, env)
|
105
|
+
if yaml_source.failed?
|
106
|
+
yaml_source.failures.each do |msg|
|
107
|
+
stdout.puts Agent::AgentLogger.format_fatal_error(msg)
|
108
|
+
end
|
109
|
+
end
|
110
|
+
Agent.config.replace_or_add_config(yaml_source)
|
105
111
|
|
106
112
|
if security_settings_valid? && Agent.config[:high_security]
|
107
113
|
Agent.logger.info("Installing high security configuration based on local configuration")
|
@@ -172,6 +178,9 @@ module NewRelic
|
|
172
178
|
'.'
|
173
179
|
end
|
174
180
|
|
181
|
+
def stdout
|
182
|
+
STDOUT
|
183
|
+
end
|
175
184
|
end
|
176
185
|
include InstanceMethods
|
177
186
|
end
|
@@ -93,8 +93,8 @@ module DependencyDetection
|
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
|
-
def depends_on
|
97
|
-
@dependencies <<
|
96
|
+
def depends_on &block
|
97
|
+
@dependencies << block if block_given?
|
98
98
|
end
|
99
99
|
|
100
100
|
def allowed_by_config?
|
@@ -114,8 +114,8 @@ module DependencyDetection
|
|
114
114
|
self.name = new_name
|
115
115
|
end
|
116
116
|
|
117
|
-
def executes
|
118
|
-
@executes <<
|
117
|
+
def executes &block
|
118
|
+
@executes << block if block_given?
|
119
119
|
end
|
120
120
|
end
|
121
121
|
end
|
@@ -39,7 +39,7 @@ class NewRelic::NoticedError
|
|
39
39
|
|
40
40
|
# replace error message if enabled
|
41
41
|
if NewRelic::Agent.config[:'strip_exception_messages.enabled'] &&
|
42
|
-
!self.class.
|
42
|
+
!self.class.passes_message_allowlist(exception.class)
|
43
43
|
@message = STRIPPED_EXCEPTION_REPLACEMENT_MESSAGE
|
44
44
|
end
|
45
45
|
|
@@ -57,8 +57,12 @@ class NewRelic::NoticedError
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
-
def self.
|
61
|
-
|
60
|
+
def self.passes_message_allowlist(exception_class)
|
61
|
+
# For backwards compatibility until we remove :'strip_exception_messages.whitelist' config option
|
62
|
+
|
63
|
+
allowed = NewRelic::Agent.config[:'strip_exception_messages.allowed_classes'].concat(NewRelic::Agent.config[:'strip_exception_messages.whitelist'])
|
64
|
+
|
65
|
+
allowed.any? do |klass|
|
62
66
|
exception_class <= klass
|
63
67
|
end
|
64
68
|
end
|
@@ -87,7 +91,7 @@ class NewRelic::NoticedError
|
|
87
91
|
def processed_attributes
|
88
92
|
@processed_attributes ||= begin
|
89
93
|
attributes = base_parameters
|
90
|
-
merged_attributes = NewRelic::Agent::
|
94
|
+
merged_attributes = NewRelic::Agent::Attributes.new(NewRelic::Agent.instance.attribute_filter)
|
91
95
|
append_attributes(attributes, USER_ATTRIBUTES, merged_custom_attributes(merged_attributes))
|
92
96
|
append_attributes(attributes, AGENT_ATTRIBUTES, build_agent_attributes(merged_attributes))
|
93
97
|
append_attributes(attributes, INTRINSIC_ATTRIBUTES, build_intrinsic_attributes)
|
@@ -29,15 +29,16 @@ module NewRelic::Rack
|
|
29
29
|
GT = ">".freeze
|
30
30
|
|
31
31
|
def traced_call(env)
|
32
|
-
result = @app.call(env)
|
32
|
+
result = @app.call(env)
|
33
|
+
(status, headers, response) = result
|
33
34
|
|
34
35
|
js_to_inject = NewRelic::Agent.browser_timing_header
|
35
|
-
if (js_to_inject != "") && should_instrument?(env,
|
36
|
-
response_string = autoinstrument_source(
|
36
|
+
if (js_to_inject != "") && should_instrument?(env, status, headers)
|
37
|
+
response_string = autoinstrument_source(response, headers, js_to_inject)
|
37
38
|
|
38
39
|
env[ALREADY_INSTRUMENTED_KEY] = true
|
39
40
|
if response_string
|
40
|
-
response = Rack::Response.new(response_string,
|
41
|
+
response = Rack::Response.new(response_string, status, headers)
|
41
42
|
response.finish
|
42
43
|
else
|
43
44
|
result
|
@@ -55,7 +56,7 @@ module NewRelic::Rack
|
|
55
56
|
!env[ALREADY_INSTRUMENTED_KEY] &&
|
56
57
|
is_html?(headers) &&
|
57
58
|
!is_attachment?(headers) &&
|
58
|
-
!is_streaming?(env)
|
59
|
+
!is_streaming?(env, headers)
|
59
60
|
end
|
60
61
|
|
61
62
|
def is_html?(headers)
|
@@ -66,10 +67,11 @@ module NewRelic::Rack
|
|
66
67
|
headers[CONTENT_DISPOSITION] && headers[CONTENT_DISPOSITION].include?(ATTACHMENT)
|
67
68
|
end
|
68
69
|
|
69
|
-
def is_streaming?(env)
|
70
|
-
return
|
70
|
+
def is_streaming?(env, headers)
|
71
|
+
return true if headers && headers['Transfer-Encoding'] == 'chunked'
|
71
72
|
|
72
|
-
|
73
|
+
defined?(ActionController::Live) &&
|
74
|
+
env['action_controller.instance'].class.included_modules.include?(ActionController::Live)
|
73
75
|
end
|
74
76
|
|
75
77
|
CHARSET_RE = /<\s*meta[^>]+charset\s*=[^>]*>/im.freeze
|
data/lib/new_relic/version.rb
CHANGED
data/lib/tasks/config.rake
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 = [ "Chris Pine", "Rachel Klein", "Justin Foote", "Michael Lang" ]
|
14
14
|
s.date = Time.now.strftime('%Y-%m-%d')
|
15
15
|
s.licenses = ['New Relic']
|
16
16
|
s.description = <<-EOS
|
@@ -31,6 +31,13 @@ EOS
|
|
31
31
|
"newrelic.yml"
|
32
32
|
]
|
33
33
|
|
34
|
+
s.metadata = {
|
35
|
+
'bug_tracker_uri' => 'https://support.newrelic.com/',
|
36
|
+
'changelog_uri' => 'https://github.com/newrelic/rpm/blob/master/CHANGELOG.md',
|
37
|
+
'documentation_uri' => 'https://docs.newrelic.com/docs/agents/ruby-agent',
|
38
|
+
'source_code_uri' => 'https://github.com/newrelic/rpm'
|
39
|
+
}
|
40
|
+
|
34
41
|
file_list = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/(?!agent_helper.rb)}) }
|
35
42
|
build_file_path = 'lib/new_relic/build.rb'
|
36
43
|
file_list << build_file_path if File.exist?(build_file_path)
|
@@ -41,12 +48,14 @@ EOS
|
|
41
48
|
s.rubygems_version = Gem::VERSION
|
42
49
|
s.summary = "New Relic Ruby Agent"
|
43
50
|
|
44
|
-
s.add_development_dependency 'rake', '
|
51
|
+
s.add_development_dependency 'rake', '12.3.3'
|
45
52
|
s.add_development_dependency 'minitest', '~> 4.7.5'
|
46
|
-
s.add_development_dependency 'mocha', '~>
|
53
|
+
s.add_development_dependency 'mocha', '~> 1.9.0'
|
47
54
|
s.add_development_dependency 'yard'
|
48
55
|
s.add_development_dependency 'pry-nav', '~> 0.2.4'
|
49
56
|
s.add_development_dependency 'pry-stack_explorer', '~> 0.4.9'
|
57
|
+
s.add_development_dependency 'guard', '~> 2.16.0'
|
58
|
+
s.add_development_dependency 'guard-minitest', '~> 2.4.0'
|
50
59
|
s.add_development_dependency 'hometown', '~> 0.2.5'
|
51
|
-
s.add_development_dependency 'bundler'
|
60
|
+
s.add_development_dependency 'bundler'
|
52
61
|
end
|
data/test/agent_helper.rb
CHANGED
@@ -212,7 +212,7 @@ end
|
|
212
212
|
#
|
213
213
|
# If you want to *allow* unexpected metrics matching certain patterns, use
|
214
214
|
# the :ignore_filter option. This will allow you to specify a Regex that
|
215
|
-
#
|
215
|
+
# allowlists broad swathes of metric territory (e.g. 'Supportability/').
|
216
216
|
#
|
217
217
|
def assert_metrics_recorded_exclusive(expected, options={})
|
218
218
|
expected = _normalize_metric_expectations(expected)
|
@@ -345,6 +345,15 @@ def in_transaction(*args, &blk)
|
|
345
345
|
txn
|
346
346
|
end
|
347
347
|
|
348
|
+
# Convenience wrapper to stand up a transaction and provide a segment within
|
349
|
+
# that transaction to work with. The same arguements as provided to in_transaction
|
350
|
+
# may be supplied.
|
351
|
+
def with_segment *args, &blk
|
352
|
+
in_transaction *args do |txn|
|
353
|
+
yield txn.current_segment, txn
|
354
|
+
end
|
355
|
+
end
|
356
|
+
|
348
357
|
def stub_transaction_guid(guid)
|
349
358
|
NewRelic::Agent::Transaction.tl_current.instance_variable_set(:@guid, guid)
|
350
359
|
end
|
@@ -452,6 +461,13 @@ def with_config(config_hash, at_start=true)
|
|
452
461
|
end
|
453
462
|
end
|
454
463
|
|
464
|
+
def with_server_source config_hash, at_start=true
|
465
|
+
with_config config_hash, at_start do
|
466
|
+
NewRelic::Agent.config.notify_server_source_added
|
467
|
+
yield
|
468
|
+
end
|
469
|
+
end
|
470
|
+
|
455
471
|
def with_config_low_priority(config_hash)
|
456
472
|
with_config(config_hash, false) do
|
457
473
|
yield
|
@@ -605,17 +621,87 @@ ensure
|
|
605
621
|
NewRelic::Agent.logger = orig_logger
|
606
622
|
end
|
607
623
|
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
624
|
+
# The EnvUpdater was introduced due to random fails in JRuby environment
|
625
|
+
# whereby attempting to set ENV[key] = some_value randomly failed.
|
626
|
+
# It is conjectured that this is thread related, but may also be
|
627
|
+
# a core bug in the JVM implementation of Ruby. Root cause was not
|
628
|
+
# discovered, but it was found that a combination of retrying and using
|
629
|
+
# mutex lock around the update operation was the only consistently working
|
630
|
+
# solution as the error continued to surface without the mutex and
|
631
|
+
# retry alone wasn't enough, either.
|
632
|
+
#
|
633
|
+
# JRUBY: oraclejdk8 + jruby-9.2.6.0
|
634
|
+
#
|
635
|
+
# NOTE: Singleton pattern to ensure one mutex lock for all threads
|
636
|
+
class EnvUpdater
|
637
|
+
MAX_RETRIES = 5
|
638
|
+
|
639
|
+
def initialize
|
640
|
+
@mutex = Mutex.new
|
613
641
|
end
|
614
|
-
|
642
|
+
|
643
|
+
# Will attempt the given block up to MAX_RETRIES before
|
644
|
+
# surfacing the exception down the chain.
|
645
|
+
def with_retry retry_limit=MAX_RETRIES
|
646
|
+
retries ||= 0
|
647
|
+
sleep(retries)
|
615
648
|
yield
|
616
|
-
|
617
|
-
|
649
|
+
rescue
|
650
|
+
(retries += 1) < retry_limit ? retry : raise
|
651
|
+
end
|
652
|
+
|
653
|
+
# Locks and updates the ENV
|
654
|
+
def safe_update env
|
655
|
+
with_retry do
|
656
|
+
@mutex.synchronize do
|
657
|
+
env.each{ |key, val| ENV[key] = val.to_s }
|
658
|
+
end
|
659
|
+
end
|
660
|
+
end
|
661
|
+
|
662
|
+
# Locks and restores the ENV
|
663
|
+
def safe_restore old_env
|
664
|
+
with_retry do
|
665
|
+
@mutex.synchronize do
|
666
|
+
old_env.each{ |key, val| val ? ENV[key] = val : ENV.delete(key) }
|
667
|
+
end
|
668
|
+
end
|
669
|
+
end
|
670
|
+
|
671
|
+
# Singleton pattern implemented via @@instance
|
672
|
+
def self.instance
|
673
|
+
@@instance ||= EnvUpdater.new
|
674
|
+
end
|
675
|
+
|
676
|
+
def self.safe_update env
|
677
|
+
instance.safe_update env
|
678
|
+
end
|
679
|
+
|
680
|
+
def self.safe_restore old_env
|
681
|
+
instance.safe_restore old_env
|
618
682
|
end
|
683
|
+
|
684
|
+
# Effectively saves current ENV settings for given env's key/values,
|
685
|
+
# runs given block, then restores ENV to original state before returning.
|
686
|
+
def self.inject env, &block
|
687
|
+
old_env = {}
|
688
|
+
env.each{ |key, val| old_env[key] = ENV[key] }
|
689
|
+
begin
|
690
|
+
safe_update(env)
|
691
|
+
yield
|
692
|
+
ensure
|
693
|
+
safe_restore(old_env)
|
694
|
+
end
|
695
|
+
end
|
696
|
+
|
697
|
+
# must call instance here to ensure only one @mutex for all threads.
|
698
|
+
instance
|
699
|
+
end
|
700
|
+
|
701
|
+
# Changes ENV settings to given and runs given block and restores ENV
|
702
|
+
# to original values before returning.
|
703
|
+
def with_environment(env, &block)
|
704
|
+
EnvUpdater.inject(env) { yield }
|
619
705
|
end
|
620
706
|
|
621
707
|
def with_argv(argv)
|
data/true
ADDED
File without changes
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: newrelic_rpm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.8.0.360
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Matthew Wear
|
8
7
|
- Chris Pine
|
9
8
|
- Rachel Klein
|
10
9
|
- Justin Foote
|
10
|
+
- Michael Lang
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2019-
|
14
|
+
date: 2019-12-19 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rake
|
@@ -19,14 +19,14 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: 12.3.3
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
29
|
+
version: 12.3.3
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: minitest
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -47,14 +47,14 @@ dependencies:
|
|
47
47
|
requirements:
|
48
48
|
- - "~>"
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version:
|
50
|
+
version: 1.9.0
|
51
51
|
type: :development
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
55
|
- - "~>"
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
version:
|
57
|
+
version: 1.9.0
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: yard
|
60
60
|
requirement: !ruby/object:Gem::Requirement
|
@@ -97,6 +97,34 @@ dependencies:
|
|
97
97
|
- - "~>"
|
98
98
|
- !ruby/object:Gem::Version
|
99
99
|
version: 0.4.9
|
100
|
+
- !ruby/object:Gem::Dependency
|
101
|
+
name: guard
|
102
|
+
requirement: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - "~>"
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 2.16.0
|
107
|
+
type: :development
|
108
|
+
prerelease: false
|
109
|
+
version_requirements: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - "~>"
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: 2.16.0
|
114
|
+
- !ruby/object:Gem::Dependency
|
115
|
+
name: guard-minitest
|
116
|
+
requirement: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - "~>"
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: 2.4.0
|
121
|
+
type: :development
|
122
|
+
prerelease: false
|
123
|
+
version_requirements: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - "~>"
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: 2.4.0
|
100
128
|
- !ruby/object:Gem::Dependency
|
101
129
|
name: hometown
|
102
130
|
requirement: !ruby/object:Gem::Requirement
|
@@ -115,16 +143,16 @@ dependencies:
|
|
115
143
|
name: bundler
|
116
144
|
requirement: !ruby/object:Gem::Requirement
|
117
145
|
requirements:
|
118
|
-
- - "
|
146
|
+
- - ">="
|
119
147
|
- !ruby/object:Gem::Version
|
120
|
-
version: '
|
148
|
+
version: '0'
|
121
149
|
type: :development
|
122
150
|
prerelease: false
|
123
151
|
version_requirements: !ruby/object:Gem::Requirement
|
124
152
|
requirements:
|
125
|
-
- - "
|
153
|
+
- - ">="
|
126
154
|
- !ruby/object:Gem::Version
|
127
|
-
version: '
|
155
|
+
version: '0'
|
128
156
|
description: |
|
129
157
|
New Relic is a performance management system, developed by New Relic,
|
130
158
|
Inc (http://www.newrelic.com). New Relic provides you with deep
|
@@ -172,19 +200,18 @@ files:
|
|
172
200
|
- lib/new_relic/agent/agent_logger.rb
|
173
201
|
- lib/new_relic/agent/attribute_filter.rb
|
174
202
|
- lib/new_relic/agent/attribute_processing.rb
|
203
|
+
- lib/new_relic/agent/attributes.rb
|
175
204
|
- lib/new_relic/agent/audit_logger.rb
|
176
205
|
- lib/new_relic/agent/autostart.rb
|
177
206
|
- lib/new_relic/agent/chained_call.rb
|
178
207
|
- lib/new_relic/agent/commands/agent_command.rb
|
179
208
|
- lib/new_relic/agent/commands/agent_command_router.rb
|
180
209
|
- lib/new_relic/agent/commands/thread_profiler_session.rb
|
181
|
-
- lib/new_relic/agent/commands/xray_session.rb
|
182
|
-
- lib/new_relic/agent/commands/xray_session_collection.rb
|
183
210
|
- lib/new_relic/agent/configuration.rb
|
184
211
|
- lib/new_relic/agent/configuration/default_source.rb
|
185
212
|
- lib/new_relic/agent/configuration/dotted_hash.rb
|
186
213
|
- lib/new_relic/agent/configuration/environment_source.rb
|
187
|
-
- lib/new_relic/agent/configuration/
|
214
|
+
- lib/new_relic/agent/configuration/event_harvest_config.rb
|
188
215
|
- lib/new_relic/agent/configuration/high_security_source.rb
|
189
216
|
- lib/new_relic/agent/configuration/manager.rb
|
190
217
|
- lib/new_relic/agent/configuration/manual_source.rb
|
@@ -212,8 +239,11 @@ files:
|
|
212
239
|
- lib/new_relic/agent/datastores/mongo/statement_formatter.rb
|
213
240
|
- lib/new_relic/agent/datastores/redis.rb
|
214
241
|
- lib/new_relic/agent/deprecator.rb
|
242
|
+
- lib/new_relic/agent/distributed_trace_intrinsics.rb
|
243
|
+
- lib/new_relic/agent/distributed_trace_metrics.rb
|
215
244
|
- lib/new_relic/agent/distributed_trace_monitor.rb
|
216
245
|
- lib/new_relic/agent/distributed_trace_payload.rb
|
246
|
+
- lib/new_relic/agent/distributed_trace_transport_type.rb
|
217
247
|
- lib/new_relic/agent/distributed_tracing.rb
|
218
248
|
- lib/new_relic/agent/encoding_normalizer.rb
|
219
249
|
- lib/new_relic/agent/error_collector.rb
|
@@ -224,6 +254,7 @@ files:
|
|
224
254
|
- lib/new_relic/agent/event_listener.rb
|
225
255
|
- lib/new_relic/agent/event_loop.rb
|
226
256
|
- lib/new_relic/agent/external.rb
|
257
|
+
- lib/new_relic/agent/guid_generator.rb
|
227
258
|
- lib/new_relic/agent/harvester.rb
|
228
259
|
- lib/new_relic/agent/heap.rb
|
229
260
|
- lib/new_relic/agent/hostname.rb
|
@@ -256,7 +287,6 @@ files:
|
|
256
287
|
- lib/new_relic/agent/instrumentation/curb.rb
|
257
288
|
- lib/new_relic/agent/instrumentation/data_mapper.rb
|
258
289
|
- lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb
|
259
|
-
- lib/new_relic/agent/instrumentation/evented_subscriber.rb
|
260
290
|
- lib/new_relic/agent/instrumentation/excon.rb
|
261
291
|
- lib/new_relic/agent/instrumentation/excon/connection.rb
|
262
292
|
- lib/new_relic/agent/instrumentation/excon/middleware.rb
|
@@ -273,6 +303,7 @@ files:
|
|
273
303
|
- lib/new_relic/agent/instrumentation/mongo.rb
|
274
304
|
- lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb
|
275
305
|
- lib/new_relic/agent/instrumentation/net.rb
|
306
|
+
- lib/new_relic/agent/instrumentation/notifications_subscriber.rb
|
276
307
|
- lib/new_relic/agent/instrumentation/padrino.rb
|
277
308
|
- lib/new_relic/agent/instrumentation/passenger_instrumentation.rb
|
278
309
|
- lib/new_relic/agent/instrumentation/queue_time.rb
|
@@ -299,6 +330,7 @@ files:
|
|
299
330
|
- lib/new_relic/agent/internal_agent_error.rb
|
300
331
|
- lib/new_relic/agent/javascript_instrumentor.rb
|
301
332
|
- lib/new_relic/agent/log_once.rb
|
333
|
+
- lib/new_relic/agent/logging.rb
|
302
334
|
- lib/new_relic/agent/memory_logger.rb
|
303
335
|
- lib/new_relic/agent/messaging.rb
|
304
336
|
- lib/new_relic/agent/method_tracer.rb
|
@@ -343,10 +375,12 @@ files:
|
|
343
375
|
- lib/new_relic/agent/threading/backtrace_service.rb
|
344
376
|
- lib/new_relic/agent/threading/thread_profile.rb
|
345
377
|
- lib/new_relic/agent/timestamp_sampled_buffer.rb
|
378
|
+
- lib/new_relic/agent/trace_context.rb
|
379
|
+
- lib/new_relic/agent/trace_context_payload.rb
|
380
|
+
- lib/new_relic/agent/trace_context_request_monitor.rb
|
346
381
|
- lib/new_relic/agent/tracer.rb
|
347
382
|
- lib/new_relic/agent/transaction.rb
|
348
383
|
- lib/new_relic/agent/transaction/abstract_segment.rb
|
349
|
-
- lib/new_relic/agent/transaction/attributes.rb
|
350
384
|
- lib/new_relic/agent/transaction/datastore_segment.rb
|
351
385
|
- lib/new_relic/agent/transaction/distributed_tracing.rb
|
352
386
|
- lib/new_relic/agent/transaction/external_request_segment.rb
|
@@ -357,10 +391,10 @@ files:
|
|
357
391
|
- lib/new_relic/agent/transaction/synthetics_sample_buffer.rb
|
358
392
|
- lib/new_relic/agent/transaction/trace.rb
|
359
393
|
- lib/new_relic/agent/transaction/trace_builder.rb
|
394
|
+
- lib/new_relic/agent/transaction/trace_context.rb
|
360
395
|
- lib/new_relic/agent/transaction/trace_node.rb
|
361
396
|
- lib/new_relic/agent/transaction/tracing.rb
|
362
397
|
- lib/new_relic/agent/transaction/transaction_sample_buffer.rb
|
363
|
-
- lib/new_relic/agent/transaction/xray_sample_buffer.rb
|
364
398
|
- lib/new_relic/agent/transaction_error_primitive.rb
|
365
399
|
- lib/new_relic/agent/transaction_event_aggregator.rb
|
366
400
|
- lib/new_relic/agent/transaction_event_primitive.rb
|
@@ -432,19 +466,19 @@ files:
|
|
432
466
|
- lib/tasks/multiverse.rb
|
433
467
|
- lib/tasks/newrelic.rb
|
434
468
|
- lib/tasks/tests.rake
|
435
|
-
- lib/tasks/versions.html.erb
|
436
|
-
- lib/tasks/versions.postface.html
|
437
|
-
- lib/tasks/versions.preface.html
|
438
|
-
- lib/tasks/versions.rake
|
439
|
-
- lib/tasks/versions.txt.erb
|
440
469
|
- newrelic.yml
|
441
470
|
- newrelic_rpm.gemspec
|
442
471
|
- recipes/newrelic.rb
|
443
472
|
- test/agent_helper.rb
|
473
|
+
- 'true'
|
444
474
|
homepage: https://github.com/newrelic/rpm
|
445
475
|
licenses:
|
446
476
|
- New Relic
|
447
|
-
metadata:
|
477
|
+
metadata:
|
478
|
+
bug_tracker_uri: https://support.newrelic.com/
|
479
|
+
changelog_uri: https://github.com/newrelic/rpm/blob/master/CHANGELOG.md
|
480
|
+
documentation_uri: https://docs.newrelic.com/docs/agents/ruby-agent
|
481
|
+
source_code_uri: https://github.com/newrelic/rpm
|
448
482
|
post_install_message:
|
449
483
|
rdoc_options: []
|
450
484
|
require_paths:
|
@@ -460,7 +494,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
460
494
|
- !ruby/object:Gem::Version
|
461
495
|
version: 1.3.1
|
462
496
|
requirements: []
|
463
|
-
rubygems_version: 3.0.
|
497
|
+
rubygems_version: 3.0.6
|
464
498
|
signing_key:
|
465
499
|
specification_version: 4
|
466
500
|
summary: New Relic Ruby Agent
|