newrelic_rpm 9.23.0 → 10.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 +136 -0
- data/README.md +0 -7
- data/lib/new_relic/agent/agent.rb +9 -4
- data/lib/new_relic/agent/configuration/default_source.rb +103 -181
- data/lib/new_relic/agent/configuration/environment_source.rb +7 -38
- data/lib/new_relic/agent/configuration/manager.rb +141 -59
- data/lib/new_relic/agent/configuration/sampler_config_validator.rb +54 -0
- data/lib/new_relic/agent/configuration/server_source.rb +0 -1
- data/lib/new_relic/agent/connect/response_handler.rb +0 -11
- data/lib/new_relic/agent/datastores.rb +13 -17
- data/lib/new_relic/agent/distributed_tracing.rb +0 -3
- data/lib/new_relic/agent/health_check.rb +1 -0
- data/lib/new_relic/agent/instrumentation/active_job.rb +1 -1
- data/lib/new_relic/agent/instrumentation/active_job_subscriber.rb +2 -1
- data/lib/new_relic/agent/instrumentation/active_record_helper.rb +1 -4
- data/lib/new_relic/agent/instrumentation/active_support.rb +8 -1
- data/lib/new_relic/agent/instrumentation/active_support_subscriber.rb +22 -14
- data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +1 -4
- data/lib/new_relic/agent/instrumentation/bunny.rb +0 -1
- data/lib/new_relic/agent/instrumentation/curb/chain.rb +2 -2
- data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +2 -3
- data/lib/new_relic/agent/instrumentation/curb.rb +0 -1
- data/lib/new_relic/agent/instrumentation/excon/middleware.rb +1 -1
- data/lib/new_relic/agent/instrumentation/excon.rb +2 -3
- data/lib/new_relic/agent/instrumentation/grpc/client/instrumentation.rb +1 -2
- data/lib/new_relic/agent/instrumentation/httpclient.rb +0 -1
- data/lib/new_relic/agent/instrumentation/httprb.rb +0 -1
- data/lib/new_relic/agent/instrumentation/memcache/dalli.rb +0 -2
- data/lib/new_relic/agent/instrumentation/memcache/prepend.rb +0 -2
- data/lib/new_relic/agent/instrumentation/rack/helpers.rb +1 -3
- data/lib/new_relic/agent/instrumentation/typhoeus.rb +0 -1
- data/lib/new_relic/agent/llm/chat_completion_summary.rb +1 -8
- data/lib/new_relic/agent/llm/embedding.rb +1 -8
- data/lib/new_relic/agent/messaging.rb +12 -5
- data/lib/new_relic/agent/monitors/inbound_request_monitor.rb +1 -2
- data/lib/new_relic/agent/monitors/synthetics_monitor.rb +2 -1
- data/lib/new_relic/agent/monitors.rb +0 -3
- data/lib/new_relic/agent/new_relic_service/encoders.rb +0 -14
- data/lib/new_relic/agent/new_relic_service.rb +11 -49
- data/lib/new_relic/agent/opentelemetry/trace/span.rb +41 -0
- data/lib/new_relic/agent/opentelemetry/trace/tracer.rb +16 -7
- data/lib/new_relic/agent/opentelemetry_bridge.rb +9 -5
- data/lib/new_relic/agent/serverless_handler.rb +2 -2
- data/lib/new_relic/agent/span_event_primitive.rb +1 -1
- data/lib/new_relic/agent/sql_sampler.rb +0 -31
- data/lib/new_relic/agent/stats_engine.rb +1 -0
- data/lib/new_relic/agent/transaction/distributed_tracer.rb +12 -56
- data/lib/new_relic/agent/transaction/distributed_tracing.rb +11 -19
- data/lib/new_relic/agent/transaction/external_request_segment.rb +1 -131
- data/lib/new_relic/agent/transaction/message_broker_segment.rb +0 -2
- data/lib/new_relic/agent/transaction/trace_context.rb +33 -11
- data/lib/new_relic/agent/transaction.rb +35 -4
- data/lib/new_relic/agent/transaction_error_primitive.rb +0 -8
- data/lib/new_relic/agent/transaction_event_primitive.rb +0 -14
- data/lib/new_relic/agent/utilization/gcp.rb +2 -0
- data/lib/new_relic/agent.rb +11 -3
- data/lib/new_relic/cli/command.rb +2 -11
- data/lib/new_relic/control/instance_methods.rb +2 -15
- data/lib/new_relic/control/private_instance_methods.rb +2 -4
- data/lib/new_relic/control/server_methods.rb +0 -6
- data/lib/new_relic/helper.rb +21 -2
- data/lib/new_relic/language_support.rb +3 -34
- data/lib/new_relic/supportability_helper.rb +0 -4
- data/lib/new_relic/version.rb +2 -2
- data/lib/tasks/helpers/newrelicyml.rb +2 -2
- data/lib/tasks/helpers/version_bump.rb +1 -2
- data/newrelic.yml +25 -28
- data/newrelic_rpm.gemspec +10 -9
- metadata +27 -26
- data/bin/newrelic +0 -8
- data/lib/new_relic/agent/configuration/security_policy_source.rb +0 -246
- data/lib/new_relic/agent/distributed_tracing/cross_app_payload.rb +0 -44
- data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +0 -253
- data/lib/new_relic/agent/external.rb +0 -112
- data/lib/new_relic/agent/monitors/cross_app_monitor.rb +0 -117
- data/lib/new_relic/agent/new_relic_service/security_policy_settings.rb +0 -61
- data/lib/new_relic/cli/commands/deployments.rb +0 -206
- data/lib/new_relic/recipes/capistrano3.rb +0 -23
- data/lib/new_relic/recipes/capistrano_legacy.rb +0 -95
- data/lib/new_relic/recipes/helpers/send_deployment.rb +0 -70
- data/lib/new_relic/recipes.rb +0 -24
- data/recipes/newrelic.rb +0 -10
data/lib/new_relic/agent.rb
CHANGED
|
@@ -55,7 +55,6 @@ module NewRelic
|
|
|
55
55
|
require 'new_relic/agent/rules_engine'
|
|
56
56
|
require 'new_relic/agent/http_clients/uri_util'
|
|
57
57
|
require 'new_relic/agent/system_info'
|
|
58
|
-
require 'new_relic/agent/external'
|
|
59
58
|
require 'new_relic/agent/deprecator'
|
|
60
59
|
require 'new_relic/agent/logging'
|
|
61
60
|
require 'new_relic/agent/distributed_tracing'
|
|
@@ -117,6 +116,9 @@ module NewRelic
|
|
|
117
116
|
# been configured for
|
|
118
117
|
AUTOMATIC_TRACER_MAX_ATTEMPTS = 60 # 60 = try about twice a second for 30 seconds
|
|
119
118
|
|
|
119
|
+
# Event types must consist of only alphanumeric characters, '_', ':', or ' '.
|
|
120
|
+
VALID_CUSTOM_EVENT_TYPE = /\A[\w: ]+\z/
|
|
121
|
+
|
|
120
122
|
attr_reader :error_group_callback
|
|
121
123
|
attr_reader :llm_token_count_callback
|
|
122
124
|
|
|
@@ -329,8 +331,10 @@ module NewRelic
|
|
|
329
331
|
|
|
330
332
|
# Increment a simple counter metric.
|
|
331
333
|
#
|
|
332
|
-
# +metric_name+ should
|
|
333
|
-
# specific metrics should begin with
|
|
334
|
+
# +metric_name+ should be a String that follows a slash separated
|
|
335
|
+
# path convention. Application specific metrics should begin with
|
|
336
|
+
# "Custom/".
|
|
337
|
+
# +amount+ (optional) should be a Numeric value to increment. Defaults to 1.
|
|
334
338
|
#
|
|
335
339
|
# This method is safe to use from any thread.
|
|
336
340
|
#
|
|
@@ -483,6 +487,10 @@ module NewRelic
|
|
|
483
487
|
# @api public
|
|
484
488
|
#
|
|
485
489
|
def record_custom_event(event_type, event_attrs)
|
|
490
|
+
unless event_type.to_s.match?(VALID_CUSTOM_EVENT_TYPE)
|
|
491
|
+
raise ArgumentError, "Invalid event_type: '#{event_type}'. Event types must consist of only alphanumeric characters, '_', ':', or ' '."
|
|
492
|
+
end
|
|
493
|
+
|
|
486
494
|
record_api_supportability_metric(:record_custom_event)
|
|
487
495
|
|
|
488
496
|
if agent && NewRelic::Agent.config[:'custom_insights_events.enabled']
|
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
require 'optparse'
|
|
6
6
|
|
|
7
|
-
# Run the command given by the first argument.
|
|
8
|
-
#
|
|
9
|
-
# kinds of events here later.
|
|
7
|
+
# Run the command given by the first argument.
|
|
8
|
+
# Commands can be found in the commands/ directory.
|
|
10
9
|
$LOAD_PATH << "#{File.dirname(__FILE__)}/.."
|
|
11
10
|
module NewRelic
|
|
12
11
|
module Cli
|
|
@@ -61,20 +60,12 @@ module NewRelic
|
|
|
61
60
|
options = ARGV.options do |opts|
|
|
62
61
|
script_name = File.basename($0)
|
|
63
62
|
|
|
64
|
-
# TODO: MAJOR VERSION - remove newrelic, deprecated since version x.xx
|
|
65
|
-
if /newrelic$/.match?(script_name)
|
|
66
|
-
$stdout.puts "warning: the 'newrelic' script has been renamed 'newrelic_rpm'"
|
|
67
|
-
script_name = 'newrelic_rpm'
|
|
68
|
-
end
|
|
69
|
-
|
|
70
63
|
opts.banner = "Usage: #{script_name} [ #{@command_names.join(' | ')} ] [options]"
|
|
71
64
|
opts.separator("use '#{script_name} <command> -h' to see detailed command options")
|
|
72
65
|
opts
|
|
73
66
|
end
|
|
74
67
|
extra = options.order!
|
|
75
68
|
command = extra.shift
|
|
76
|
-
# just make it a little easier on them
|
|
77
|
-
command = 'deployments' if command.include?('deploy')
|
|
78
69
|
if command.nil?
|
|
79
70
|
STDERR.puts options
|
|
80
71
|
elsif !@command_names.include?(command)
|
|
@@ -99,10 +99,8 @@ module NewRelic
|
|
|
99
99
|
manual = Agent::Configuration::ManualSource.new(options)
|
|
100
100
|
Agent.config.replace_or_add_config(manual)
|
|
101
101
|
|
|
102
|
-
#
|
|
103
|
-
|
|
104
|
-
# in a serverless context
|
|
105
|
-
return if Agent.config[:'serverless_mode.enabled']
|
|
102
|
+
# don't bother with YAML and high security in a serverless context
|
|
103
|
+
return if Agent.config[:'serverless_mode.enabled'] || env == 'serverless'
|
|
106
104
|
|
|
107
105
|
yaml_source = Agent::Configuration::YamlSource.new(config_file_path, env)
|
|
108
106
|
log_yaml_source_failures(yaml_source) if yaml_source.failed?
|
|
@@ -110,17 +108,6 @@ module NewRelic
|
|
|
110
108
|
configure_high_security
|
|
111
109
|
end
|
|
112
110
|
|
|
113
|
-
def security_settings_valid?
|
|
114
|
-
!Agent.config[:high_security] || Agent.config[:security_policies_token].empty?
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
def handle_invalid_security_settings
|
|
118
|
-
NewRelic::Agent.logger.error('Security Policies and High Security Mode cannot both be present in the agent ' \
|
|
119
|
-
'configuration. If Security Policies have been set for your account, please ensure the ' \
|
|
120
|
-
'security_policies_token is set but high_security is disabled (default).')
|
|
121
|
-
install_shim
|
|
122
|
-
end
|
|
123
|
-
|
|
124
111
|
# Install the real agent into the Agent module, and issue the start command.
|
|
125
112
|
def start_agent
|
|
126
113
|
@started_in_env = self.env
|
|
@@ -11,7 +11,7 @@ module NewRelic
|
|
|
11
11
|
private
|
|
12
12
|
|
|
13
13
|
def configure_high_security
|
|
14
|
-
if
|
|
14
|
+
if Agent.config[:high_security]
|
|
15
15
|
Agent.logger.info('Installing high security configuration based on local configuration')
|
|
16
16
|
Agent.config.replace_or_add_config(Agent::Configuration::HighSecuritySource.new(Agent.config))
|
|
17
17
|
end
|
|
@@ -32,9 +32,7 @@ module NewRelic
|
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
def init_instrumentation
|
|
35
|
-
if !
|
|
36
|
-
handle_invalid_security_settings
|
|
37
|
-
elsif Agent.config[:agent_enabled] && !NewRelic::Agent.instance.started?
|
|
35
|
+
if Agent.config[:agent_enabled] && !NewRelic::Agent.instance.started?
|
|
38
36
|
start_agent
|
|
39
37
|
install_instrumentation
|
|
40
38
|
elsif !Agent.config[:agent_enabled]
|
|
@@ -15,12 +15,6 @@ module NewRelic
|
|
|
15
15
|
@remote_server ||= server_from_host(nil)
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
# the server we should contact for api requests, like uploading
|
|
19
|
-
# deployments and the like
|
|
20
|
-
def api_server
|
|
21
|
-
@api_server ||= NewRelic::Control::Server.new(Agent.config[:api_host], Agent.config[:api_port])
|
|
22
|
-
end
|
|
23
|
-
|
|
24
18
|
def server_from_host(hostname = nil)
|
|
25
19
|
NewRelic::Control::Server.new(hostname || Agent.config[:host], Agent.config[:port])
|
|
26
20
|
end
|
data/lib/new_relic/helper.rb
CHANGED
|
@@ -84,12 +84,31 @@ module NewRelic
|
|
|
84
84
|
end
|
|
85
85
|
|
|
86
86
|
def version_satisfied?(left, operator, right)
|
|
87
|
-
left =
|
|
88
|
-
right =
|
|
87
|
+
left = normalize_version(left)
|
|
88
|
+
right = normalize_version(right)
|
|
89
89
|
|
|
90
90
|
left.public_send(operator, right)
|
|
91
91
|
end
|
|
92
92
|
|
|
93
|
+
def normalize_version(version)
|
|
94
|
+
return Gem::Version.new('0') if version.nil? || version.to_s.empty?
|
|
95
|
+
return version if version.is_a?(Gem::Version)
|
|
96
|
+
|
|
97
|
+
Gem::Version.new(version.to_s)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def version_greater_than?(left, right)
|
|
101
|
+
version_satisfied?(left, :>, right)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def version_less_than?(left, right)
|
|
105
|
+
version_satisfied?(left, :<, right)
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
def version_equals?(left, right)
|
|
109
|
+
version_satisfied?(left, :==, right)
|
|
110
|
+
end
|
|
111
|
+
|
|
93
112
|
# Bundler version 2.5.12 deprecated all_specs and added installed_specs.
|
|
94
113
|
# To support newer Bundler versions, try to use installed_specs first,
|
|
95
114
|
# then fall back to all_specs.
|
|
@@ -35,42 +35,11 @@ module NewRelic
|
|
|
35
35
|
RUBY_ENGINE == 'jruby'
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
# TODO: OLD RUBIES - RUBY_VERSION < 2.6
|
|
39
|
-
#
|
|
40
|
-
# Ruby 2.6 introduced an improved version of `Object.const_get` that
|
|
41
|
-
# respects the full namespace of the input and doesn't just grab the first
|
|
42
|
-
# constant matching the string to the right of the last '::'.
|
|
43
|
-
# Once we drop support for Ruby 2.5 and below, the only value this custom
|
|
44
|
-
# method will provide beyond `Object.const_get` itself is to automatically
|
|
45
|
-
# catch NameError.
|
|
46
|
-
#
|
|
47
|
-
# see: https://github.com/rails/rails/commit/7057ccf6565c1cb5354c1906880119276a9d15c0
|
|
48
|
-
#
|
|
49
|
-
# With Ruby 2.6+, this method can be defined like so:
|
|
50
|
-
# def constantize(constant_as_string_or_symbol)
|
|
51
|
-
# Object.const_get(constant_as_string_or_symbol)
|
|
52
|
-
# rescue NameError
|
|
53
|
-
# end
|
|
54
|
-
#
|
|
55
38
|
def constantize(const_name)
|
|
56
|
-
const_name.
|
|
57
|
-
begin
|
|
58
|
-
result = namespace.const_get(name)
|
|
39
|
+
return if const_name.nil?
|
|
59
40
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
#
|
|
63
|
-
# Can't help if the constant isn't a class...
|
|
64
|
-
if result.is_a?(Module)
|
|
65
|
-
expected_name = "#{namespace}::#{name}".gsub(/^Object::/, '')
|
|
66
|
-
return unless expected_name == result.to_s
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
result
|
|
70
|
-
rescue NameError
|
|
71
|
-
nil
|
|
72
|
-
end
|
|
73
|
-
end
|
|
41
|
+
Object.const_get(const_name)
|
|
42
|
+
rescue NameError
|
|
74
43
|
end
|
|
75
44
|
|
|
76
45
|
def camelize(string)
|
|
@@ -23,8 +23,6 @@ module NewRelic
|
|
|
23
23
|
:disable_all_tracing,
|
|
24
24
|
:disable_sql_recording,
|
|
25
25
|
:drop_buffered_data,
|
|
26
|
-
:get_request_metadata,
|
|
27
|
-
:get_response_metadata,
|
|
28
26
|
:get_transaction_name,
|
|
29
27
|
:ignore_apdex,
|
|
30
28
|
:ignore_enduser,
|
|
@@ -39,8 +37,6 @@ module NewRelic
|
|
|
39
37
|
:notice_sql,
|
|
40
38
|
:notice_statement,
|
|
41
39
|
:perform_action_with_newrelic_trace,
|
|
42
|
-
:process_request_metadata,
|
|
43
|
-
:process_response_metadata,
|
|
44
40
|
:record_custom_event,
|
|
45
41
|
:record_metric,
|
|
46
42
|
:record_llm_feedback_event,
|
data/lib/new_relic/version.rb
CHANGED
|
@@ -103,8 +103,8 @@ module NewRelicYML
|
|
|
103
103
|
|
|
104
104
|
next unless public_config?(value) && !deprecated?(value)
|
|
105
105
|
|
|
106
|
-
# TODO: OLD RUBIES < 2.
|
|
107
|
-
#
|
|
106
|
+
# TODO: OLD RUBIES < 2.7
|
|
107
|
+
# Symbol doesn't have `start_with?`in Ruby <2.7. In 2.7+, change to key.start_with?('security.')
|
|
108
108
|
if key.to_s.start_with?('security.')
|
|
109
109
|
description, default = build_config(key, value)
|
|
110
110
|
security_configs[key] = {description: description, default: default}
|
|
@@ -46,7 +46,7 @@ module VersionBump
|
|
|
46
46
|
def self.determine_bump_type
|
|
47
47
|
file = read_file('CHANGELOG.md')
|
|
48
48
|
lines = file.split('## ')[1].split('- **')
|
|
49
|
-
return MAJOR if lines.
|
|
49
|
+
return MAJOR if lines.any? { |line| line.include?('Breaking Change:') }
|
|
50
50
|
return MINOR if lines.any? { |line| line.include?('Feature:') }
|
|
51
51
|
|
|
52
52
|
TINY
|
|
@@ -56,7 +56,6 @@ module VersionBump
|
|
|
56
56
|
def self.update_changelog(version)
|
|
57
57
|
file = read_file('CHANGELOG.md')
|
|
58
58
|
file.gsub!('## dev', "## v#{version}")
|
|
59
|
-
file.gsub!('Version <dev>', "Version #{version}")
|
|
60
59
|
write_file('CHANGELOG.md', file)
|
|
61
60
|
end
|
|
62
61
|
end
|
data/newrelic.yml
CHANGED
|
@@ -52,11 +52,6 @@ common: &default_settings
|
|
|
52
52
|
# If true, enables capture of all HTTP request headers for all destinations.
|
|
53
53
|
# allow_all_headers: false
|
|
54
54
|
|
|
55
|
-
# # DEPRECATED: The api_key config setting is now deprecated. Its only use was
|
|
56
|
-
# for the newrelic deployments command, which is being removed in agent version
|
|
57
|
-
# 10.0.0.
|
|
58
|
-
# api_key: ""
|
|
59
|
-
|
|
60
55
|
# If true, enables log decoration and the collection of log events and metrics.
|
|
61
56
|
# application_logging.enabled: true
|
|
62
57
|
|
|
@@ -332,20 +327,8 @@ common: &default_settings
|
|
|
332
327
|
# disable_sidekiq: false
|
|
333
328
|
|
|
334
329
|
# If true, disables agent middleware for Sinatra. This middleware is responsible
|
|
335
|
-
# for advanced feature support such as
|
|
336
|
-
#
|
|
337
|
-
#
|
|
338
|
-
# Cross application tracing is deprecated in favor of distributed tracing.
|
|
339
|
-
# Distributed tracing is on by default for Ruby agent versions 8.0.0 and above.
|
|
340
|
-
# Middlewares are not required to support distributed tracing.
|
|
341
|
-
#
|
|
342
|
-
# To continue using cross application tracing, update the following options in
|
|
343
|
-
# your newrelic.yml configuration file:
|
|
344
|
-
#
|
|
345
|
-
# cross_application_tracer:
|
|
346
|
-
# enabled: true
|
|
347
|
-
# distributed_tracing:
|
|
348
|
-
# enabled: false
|
|
330
|
+
# for advanced feature support such as distributed tracing, page load timing,
|
|
331
|
+
# and error collection.
|
|
349
332
|
# disable_sinatra_auto_middleware: false
|
|
350
333
|
|
|
351
334
|
# If true, disables view instrumentation.
|
|
@@ -361,14 +344,20 @@ common: &default_settings
|
|
|
361
344
|
# distributed_tracing.enabled: true
|
|
362
345
|
|
|
363
346
|
# This setting controls the behavior of transaction sampling when a remote
|
|
364
|
-
# parent is not sampled
|
|
365
|
-
#
|
|
366
|
-
# distributed_tracing.sampler.remote_parent_not_sampled:
|
|
347
|
+
# parent is not sampled. Available values are adaptive (the default), always_on,
|
|
348
|
+
# always_off, and trace_id_ratio_based.
|
|
349
|
+
# distributed_tracing.sampler.remote_parent_not_sampled: adaptive
|
|
367
350
|
|
|
368
351
|
# This setting controls the behavior of transaction sampling when a remote
|
|
369
|
-
# parent is sampled
|
|
370
|
-
#
|
|
371
|
-
# distributed_tracing.sampler.remote_parent_sampled:
|
|
352
|
+
# parent is sampled. Available values are adaptive (the default), always_on,
|
|
353
|
+
# always_off, and trace_id_ratio_based..
|
|
354
|
+
# distributed_tracing.sampler.remote_parent_sampled: adaptive
|
|
355
|
+
|
|
356
|
+
# This setting controls the behavior of transaction sampling for transactions
|
|
357
|
+
# without a remote parent, traces that originate within this instance of the New
|
|
358
|
+
# Relic agent. Available values are adaptive (the default), always_on,
|
|
359
|
+
# always_off, and trace_id_ratio_based.
|
|
360
|
+
# distributed_tracing.sampler.root: adaptive
|
|
372
361
|
|
|
373
362
|
# If true, the agent captures the Elasticsearch cluster name in transaction
|
|
374
363
|
# traces.
|
|
@@ -487,6 +476,17 @@ common: &default_settings
|
|
|
487
476
|
# of: auto, prepend, chain, disabled. Used in Rails versions below 7.1.
|
|
488
477
|
# instrumentation.active_support_logger: auto
|
|
489
478
|
|
|
479
|
+
# An allowlist array of Active Support notifications events specific to the
|
|
480
|
+
# Active Support library itself that the agent should subscribe to. The Active
|
|
481
|
+
# Support library specific events focus primarily on caching. Any event name not
|
|
482
|
+
# included in this list will be ignored by the agent. Provide complete event
|
|
483
|
+
# names such as 'cache_fetch_hit.active_support'. Do not provide asterisks or
|
|
484
|
+
# regex patterns, and do not escape any characters with backslashes. For a
|
|
485
|
+
# complete list of all possible Active Support event names, see the list of
|
|
486
|
+
# caching names and the list of messages names from the official Rails
|
|
487
|
+
# documentation.
|
|
488
|
+
# instrumentation.active_support_notifications.active_support_events: ["cache_fetch_hit.active_support", "cache_generate.active_support", "cache_read.active_support", "cache_write.active_support", "cache_delete.active_support", "cache_exist?.active_support", "cache_read_multi.active_support", "cache_write_multi.active_support", "cache_delete_multi.active_support", "cache_delete_matched.active_support", "cache_cleanup.active_support", "cache_increment.active_support", "cache_decrement.active_support", "cache_prune.active_support", "message_serializer_fallback.active_support"]
|
|
489
|
+
|
|
490
490
|
# Controls auto-instrumentation of Async::HTTP at start up. May be one of: auto,
|
|
491
491
|
# prepend, chain, disabled.
|
|
492
492
|
# instrumentation.async_http: auto
|
|
@@ -758,9 +758,6 @@ common: &default_settings
|
|
|
758
758
|
# ignoring specific transactions.
|
|
759
759
|
# rules.ignore_url_regexes: []
|
|
760
760
|
|
|
761
|
-
# Applies Language Agent Security Policy settings.
|
|
762
|
-
# security_policies_token: ""
|
|
763
|
-
|
|
764
761
|
# If true, enables the exit handler that sends data to the New Relic collector
|
|
765
762
|
# before shutting down.
|
|
766
763
|
# send_data_on_exit: true
|
data/newrelic_rpm.gemspec
CHANGED
|
@@ -8,7 +8,7 @@ require 'new_relic/latest_changes'
|
|
|
8
8
|
Gem::Specification.new do |s|
|
|
9
9
|
s.name = 'newrelic_rpm'
|
|
10
10
|
s.version = NewRelic::VERSION::STRING
|
|
11
|
-
s.required_ruby_version = '>= 2.
|
|
11
|
+
s.required_ruby_version = '>= 2.6.0'
|
|
12
12
|
s.required_rubygems_version = Gem::Requirement.new('> 1.3.1') if s.respond_to?(:required_rubygems_version=)
|
|
13
13
|
s.authors = ['Tanna McClure', 'Kayla Reopelle', 'Hannah Ramadan']
|
|
14
14
|
s.licenses = ['Apache-2.0']
|
|
@@ -21,8 +21,7 @@ Gem::Specification.new do |s|
|
|
|
21
21
|
https://github.com/newrelic/newrelic-ruby-agent/
|
|
22
22
|
EOS
|
|
23
23
|
s.email = 'support@newrelic.com'
|
|
24
|
-
|
|
25
|
-
s.executables = %w[newrelic_rpm newrelic nrdebug]
|
|
24
|
+
s.executables = %w[newrelic_rpm nrdebug]
|
|
26
25
|
s.extra_rdoc_files = [
|
|
27
26
|
'CHANGELOG.md',
|
|
28
27
|
'LICENSE',
|
|
@@ -50,8 +49,10 @@ Gem::Specification.new do |s|
|
|
|
50
49
|
s.require_paths = ['lib']
|
|
51
50
|
s.summary = 'New Relic Ruby Agent'
|
|
52
51
|
|
|
52
|
+
s.add_dependency 'logger'
|
|
53
|
+
|
|
53
54
|
s.add_development_dependency 'bundler'
|
|
54
|
-
s.add_development_dependency 'feedjira', '3.2.1' unless ENV['CI']
|
|
55
|
+
s.add_development_dependency 'feedjira', '3.2.1' unless ENV['CI']
|
|
55
56
|
s.add_development_dependency 'httparty' unless ENV['CI'] # for perf tests and Gabby
|
|
56
57
|
s.add_development_dependency 'minitest', "#{RUBY_VERSION >= '2.7.0' ? '5.3.3' : '4.7.5'}"
|
|
57
58
|
s.add_development_dependency 'minitest-stub-const', '0.6'
|
|
@@ -62,11 +63,11 @@ Gem::Specification.new do |s|
|
|
|
62
63
|
s.add_development_dependency 'rack'
|
|
63
64
|
s.add_development_dependency 'rake', '12.3.3'
|
|
64
65
|
|
|
65
|
-
s.add_development_dependency 'rubocop', '1.
|
|
66
|
-
s.add_development_dependency 'rubocop-ast', '1.
|
|
67
|
-
s.add_development_dependency 'rubocop-minitest', '0.
|
|
68
|
-
s.add_development_dependency 'rubocop-performance', '1.
|
|
69
|
-
s.add_development_dependency 'rubocop-rake', '0.
|
|
66
|
+
s.add_development_dependency 'rubocop', '1.81.7' unless ENV['CI'] && RUBY_VERSION < '3.0.0'
|
|
67
|
+
s.add_development_dependency 'rubocop-ast', '1.47.1' unless ENV['CI'] && RUBY_VERSION < '3.0.0'
|
|
68
|
+
s.add_development_dependency 'rubocop-minitest', '0.38.2' unless ENV['CI'] && RUBY_VERSION < '3.0.0'
|
|
69
|
+
s.add_development_dependency 'rubocop-performance', '1.26.1' unless ENV['CI'] && RUBY_VERSION < '3.0.0'
|
|
70
|
+
s.add_development_dependency 'rubocop-rake', '0.7.1' unless ENV['CI'] && RUBY_VERSION < '3.0.0'
|
|
70
71
|
|
|
71
72
|
s.add_development_dependency 'simplecov' if RUBY_VERSION >= '2.7.0'
|
|
72
73
|
s.add_development_dependency 'thor' unless ENV['CI']
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: newrelic_rpm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 10.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tanna McClure
|
|
@@ -11,6 +11,20 @@ bindir: bin
|
|
|
11
11
|
cert_chain: []
|
|
12
12
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: logger
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
requirements:
|
|
18
|
+
- - ">="
|
|
19
|
+
- !ruby/object:Gem::Version
|
|
20
|
+
version: '0'
|
|
21
|
+
type: :runtime
|
|
22
|
+
prerelease: false
|
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
24
|
+
requirements:
|
|
25
|
+
- - ">="
|
|
26
|
+
- !ruby/object:Gem::Version
|
|
27
|
+
version: '0'
|
|
14
28
|
- !ruby/object:Gem::Dependency
|
|
15
29
|
name: bundler
|
|
16
30
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -129,70 +143,70 @@ dependencies:
|
|
|
129
143
|
requirements:
|
|
130
144
|
- - '='
|
|
131
145
|
- !ruby/object:Gem::Version
|
|
132
|
-
version: 1.
|
|
146
|
+
version: 1.81.7
|
|
133
147
|
type: :development
|
|
134
148
|
prerelease: false
|
|
135
149
|
version_requirements: !ruby/object:Gem::Requirement
|
|
136
150
|
requirements:
|
|
137
151
|
- - '='
|
|
138
152
|
- !ruby/object:Gem::Version
|
|
139
|
-
version: 1.
|
|
153
|
+
version: 1.81.7
|
|
140
154
|
- !ruby/object:Gem::Dependency
|
|
141
155
|
name: rubocop-ast
|
|
142
156
|
requirement: !ruby/object:Gem::Requirement
|
|
143
157
|
requirements:
|
|
144
158
|
- - '='
|
|
145
159
|
- !ruby/object:Gem::Version
|
|
146
|
-
version: 1.
|
|
160
|
+
version: 1.47.1
|
|
147
161
|
type: :development
|
|
148
162
|
prerelease: false
|
|
149
163
|
version_requirements: !ruby/object:Gem::Requirement
|
|
150
164
|
requirements:
|
|
151
165
|
- - '='
|
|
152
166
|
- !ruby/object:Gem::Version
|
|
153
|
-
version: 1.
|
|
167
|
+
version: 1.47.1
|
|
154
168
|
- !ruby/object:Gem::Dependency
|
|
155
169
|
name: rubocop-minitest
|
|
156
170
|
requirement: !ruby/object:Gem::Requirement
|
|
157
171
|
requirements:
|
|
158
172
|
- - '='
|
|
159
173
|
- !ruby/object:Gem::Version
|
|
160
|
-
version: 0.
|
|
174
|
+
version: 0.38.2
|
|
161
175
|
type: :development
|
|
162
176
|
prerelease: false
|
|
163
177
|
version_requirements: !ruby/object:Gem::Requirement
|
|
164
178
|
requirements:
|
|
165
179
|
- - '='
|
|
166
180
|
- !ruby/object:Gem::Version
|
|
167
|
-
version: 0.
|
|
181
|
+
version: 0.38.2
|
|
168
182
|
- !ruby/object:Gem::Dependency
|
|
169
183
|
name: rubocop-performance
|
|
170
184
|
requirement: !ruby/object:Gem::Requirement
|
|
171
185
|
requirements:
|
|
172
186
|
- - '='
|
|
173
187
|
- !ruby/object:Gem::Version
|
|
174
|
-
version: 1.
|
|
188
|
+
version: 1.26.1
|
|
175
189
|
type: :development
|
|
176
190
|
prerelease: false
|
|
177
191
|
version_requirements: !ruby/object:Gem::Requirement
|
|
178
192
|
requirements:
|
|
179
193
|
- - '='
|
|
180
194
|
- !ruby/object:Gem::Version
|
|
181
|
-
version: 1.
|
|
195
|
+
version: 1.26.1
|
|
182
196
|
- !ruby/object:Gem::Dependency
|
|
183
197
|
name: rubocop-rake
|
|
184
198
|
requirement: !ruby/object:Gem::Requirement
|
|
185
199
|
requirements:
|
|
186
200
|
- - '='
|
|
187
201
|
- !ruby/object:Gem::Version
|
|
188
|
-
version: 0.
|
|
202
|
+
version: 0.7.1
|
|
189
203
|
type: :development
|
|
190
204
|
prerelease: false
|
|
191
205
|
version_requirements: !ruby/object:Gem::Requirement
|
|
192
206
|
requirements:
|
|
193
207
|
- - '='
|
|
194
208
|
- !ruby/object:Gem::Version
|
|
195
|
-
version: 0.
|
|
209
|
+
version: 0.7.1
|
|
196
210
|
- !ruby/object:Gem::Dependency
|
|
197
211
|
name: simplecov
|
|
198
212
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -244,7 +258,6 @@ description: |
|
|
|
244
258
|
https://github.com/newrelic/newrelic-ruby-agent/
|
|
245
259
|
email: support@newrelic.com
|
|
246
260
|
executables:
|
|
247
|
-
- newrelic
|
|
248
261
|
- newrelic_rpm
|
|
249
262
|
- nrdebug
|
|
250
263
|
extensions: []
|
|
@@ -264,7 +277,6 @@ files:
|
|
|
264
277
|
- Rakefile
|
|
265
278
|
- THIRD_PARTY_NOTICES.md
|
|
266
279
|
- Thorfile
|
|
267
|
-
- bin/newrelic
|
|
268
280
|
- bin/newrelic_rpm
|
|
269
281
|
- bin/nrdebug
|
|
270
282
|
- init.rb
|
|
@@ -301,7 +313,7 @@ files:
|
|
|
301
313
|
- lib/new_relic/agent/configuration/manager.rb
|
|
302
314
|
- lib/new_relic/agent/configuration/manual_source.rb
|
|
303
315
|
- lib/new_relic/agent/configuration/mask_defaults.rb
|
|
304
|
-
- lib/new_relic/agent/configuration/
|
|
316
|
+
- lib/new_relic/agent/configuration/sampler_config_validator.rb
|
|
305
317
|
- lib/new_relic/agent/configuration/server_source.rb
|
|
306
318
|
- lib/new_relic/agent/configuration/yaml_source.rb
|
|
307
319
|
- lib/new_relic/agent/connect/request_builder.rb
|
|
@@ -322,8 +334,6 @@ files:
|
|
|
322
334
|
- lib/new_relic/agent/datastores/redis.rb
|
|
323
335
|
- lib/new_relic/agent/deprecator.rb
|
|
324
336
|
- lib/new_relic/agent/distributed_tracing.rb
|
|
325
|
-
- lib/new_relic/agent/distributed_tracing/cross_app_payload.rb
|
|
326
|
-
- lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb
|
|
327
337
|
- lib/new_relic/agent/distributed_tracing/distributed_trace_attributes.rb
|
|
328
338
|
- lib/new_relic/agent/distributed_tracing/distributed_trace_metrics.rb
|
|
329
339
|
- lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb
|
|
@@ -339,7 +349,6 @@ files:
|
|
|
339
349
|
- lib/new_relic/agent/event_buffer.rb
|
|
340
350
|
- lib/new_relic/agent/event_listener.rb
|
|
341
351
|
- lib/new_relic/agent/event_loop.rb
|
|
342
|
-
- lib/new_relic/agent/external.rb
|
|
343
352
|
- lib/new_relic/agent/guid_generator.rb
|
|
344
353
|
- lib/new_relic/agent/harvester.rb
|
|
345
354
|
- lib/new_relic/agent/health_check.rb
|
|
@@ -601,7 +610,6 @@ files:
|
|
|
601
610
|
- lib/new_relic/agent/method_tracer.rb
|
|
602
611
|
- lib/new_relic/agent/method_tracer_helpers.rb
|
|
603
612
|
- lib/new_relic/agent/monitors.rb
|
|
604
|
-
- lib/new_relic/agent/monitors/cross_app_monitor.rb
|
|
605
613
|
- lib/new_relic/agent/monitors/distributed_tracing_monitor.rb
|
|
606
614
|
- lib/new_relic/agent/monitors/inbound_request_monitor.rb
|
|
607
615
|
- lib/new_relic/agent/monitors/synthetics_monitor.rb
|
|
@@ -609,7 +617,6 @@ files:
|
|
|
609
617
|
- lib/new_relic/agent/new_relic_service/encoders.rb
|
|
610
618
|
- lib/new_relic/agent/new_relic_service/json_marshaller.rb
|
|
611
619
|
- lib/new_relic/agent/new_relic_service/marshaller.rb
|
|
612
|
-
- lib/new_relic/agent/new_relic_service/security_policy_settings.rb
|
|
613
620
|
- lib/new_relic/agent/noticeable_error.rb
|
|
614
621
|
- lib/new_relic/agent/null_logger.rb
|
|
615
622
|
- lib/new_relic/agent/obfuscator.rb
|
|
@@ -696,7 +703,6 @@ files:
|
|
|
696
703
|
- lib/new_relic/agent/worker_loop.rb
|
|
697
704
|
- lib/new_relic/base64.rb
|
|
698
705
|
- lib/new_relic/cli/command.rb
|
|
699
|
-
- lib/new_relic/cli/commands/deployments.rb
|
|
700
706
|
- lib/new_relic/cli/commands/install.rb
|
|
701
707
|
- lib/new_relic/coerce.rb
|
|
702
708
|
- lib/new_relic/collection_helper.rb
|
|
@@ -733,10 +739,6 @@ files:
|
|
|
733
739
|
- lib/new_relic/rack/agent_hooks.rb
|
|
734
740
|
- lib/new_relic/rack/agent_middleware.rb
|
|
735
741
|
- lib/new_relic/rack/browser_monitoring.rb
|
|
736
|
-
- lib/new_relic/recipes.rb
|
|
737
|
-
- lib/new_relic/recipes/capistrano3.rb
|
|
738
|
-
- lib/new_relic/recipes/capistrano_legacy.rb
|
|
739
|
-
- lib/new_relic/recipes/helpers/send_deployment.rb
|
|
740
742
|
- lib/new_relic/supportability_helper.rb
|
|
741
743
|
- lib/new_relic/thread_local_storage.rb
|
|
742
744
|
- lib/new_relic/traced_thread.rb
|
|
@@ -762,7 +764,6 @@ files:
|
|
|
762
764
|
- lib/tasks/tests.rake
|
|
763
765
|
- newrelic.yml
|
|
764
766
|
- newrelic_rpm.gemspec
|
|
765
|
-
- recipes/newrelic.rb
|
|
766
767
|
- test/agent_helper.rb
|
|
767
768
|
homepage: https://github.com/newrelic/newrelic-ruby-agent
|
|
768
769
|
licenses:
|
|
@@ -780,7 +781,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
780
781
|
requirements:
|
|
781
782
|
- - ">="
|
|
782
783
|
- !ruby/object:Gem::Version
|
|
783
|
-
version: 2.
|
|
784
|
+
version: 2.6.0
|
|
784
785
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
785
786
|
requirements:
|
|
786
787
|
- - ">"
|
data/bin/newrelic
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
# frozen_string_literal: true
|
|
3
|
-
|
|
4
|
-
# This command has been renamed "newrelic_rpm"
|
|
5
|
-
# executes one of the commands in the new_relic/commands directory
|
|
6
|
-
# pass the name of the command as an argument
|
|
7
|
-
|
|
8
|
-
load File.dirname(__FILE__) + '/newrelic_rpm'
|