newrelic_rpm 9.2.2 → 9.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/.build_ignore +26 -0
  3. data/CHANGELOG.md +168 -0
  4. data/README.md +8 -4
  5. data/lib/new_relic/agent/attribute_pre_filtering.rb +109 -0
  6. data/lib/new_relic/agent/configuration/default_source.rb +176 -32
  7. data/lib/new_relic/agent/configuration/environment_source.rb +1 -1
  8. data/lib/new_relic/agent/configuration/manager.rb +3 -2
  9. data/lib/new_relic/agent/configuration/yaml_source.rb +13 -0
  10. data/lib/new_relic/agent/distributed_tracing.rb +1 -1
  11. data/lib/new_relic/agent/instrumentation/action_controller_other_subscriber.rb +1 -1
  12. data/lib/new_relic/agent/instrumentation/active_record.rb +1 -1
  13. data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +2 -1
  14. data/lib/new_relic/agent/instrumentation/active_support_logger/instrumentation.rb +4 -0
  15. data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +9 -0
  16. data/lib/new_relic/agent/instrumentation/concurrent_ruby/chain.rb +1 -1
  17. data/lib/new_relic/agent/instrumentation/concurrent_ruby/instrumentation.rb +3 -4
  18. data/lib/new_relic/agent/instrumentation/concurrent_ruby/prepend.rb +1 -1
  19. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +1 -2
  20. data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +4 -0
  21. data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +3 -0
  22. data/lib/new_relic/agent/instrumentation/elasticsearch/instrumentation.rb +4 -1
  23. data/lib/new_relic/agent/instrumentation/excon/middleware.rb +3 -0
  24. data/lib/new_relic/agent/instrumentation/fiber/chain.rb +10 -3
  25. data/lib/new_relic/agent/instrumentation/fiber/instrumentation.rb +1 -2
  26. data/lib/new_relic/agent/instrumentation/fiber/prepend.rb +10 -3
  27. data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +4 -0
  28. data/lib/new_relic/agent/instrumentation/grpc/client/instrumentation.rb +4 -0
  29. data/lib/new_relic/agent/instrumentation/grpc/server/instrumentation.rb +4 -0
  30. data/lib/new_relic/agent/instrumentation/grpc_client.rb +1 -1
  31. data/lib/new_relic/agent/instrumentation/grpc_server.rb +1 -1
  32. data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +4 -0
  33. data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +4 -0
  34. data/lib/new_relic/agent/instrumentation/logger/instrumentation.rb +3 -0
  35. data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +12 -3
  36. data/lib/new_relic/agent/instrumentation/memcache.rb +2 -2
  37. data/lib/new_relic/agent/instrumentation/net_http/instrumentation.rb +4 -0
  38. data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +4 -0
  39. data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +4 -0
  40. data/lib/new_relic/agent/instrumentation/queue_time.rb +1 -1
  41. data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +6 -0
  42. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +4 -0
  43. data/lib/new_relic/agent/instrumentation/rails_notifications/action_cable.rb +1 -1
  44. data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +4 -0
  45. data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +4 -0
  46. data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +4 -0
  47. data/lib/new_relic/agent/instrumentation/roda/chain.rb +43 -0
  48. data/lib/new_relic/agent/instrumentation/roda/instrumentation.rb +56 -0
  49. data/lib/new_relic/agent/instrumentation/roda/prepend.rb +24 -0
  50. data/lib/new_relic/agent/instrumentation/roda/roda_transaction_namer.rb +30 -0
  51. data/lib/new_relic/agent/instrumentation/roda.rb +34 -0
  52. data/lib/new_relic/agent/instrumentation/sequel.rb +1 -1
  53. data/lib/new_relic/agent/instrumentation/sidekiq/client.rb +4 -0
  54. data/lib/new_relic/agent/instrumentation/sidekiq/server.rb +26 -3
  55. data/lib/new_relic/agent/instrumentation/sidekiq.rb +2 -2
  56. data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +4 -0
  57. data/lib/new_relic/agent/instrumentation/stripe.rb +28 -0
  58. data/lib/new_relic/agent/instrumentation/stripe_subscriber.rb +77 -0
  59. data/lib/new_relic/agent/instrumentation/thread/chain.rb +1 -1
  60. data/lib/new_relic/agent/instrumentation/thread/instrumentation.rb +0 -1
  61. data/lib/new_relic/agent/instrumentation/thread/prepend.rb +1 -1
  62. data/lib/new_relic/agent/instrumentation/tilt/instrumentation.rb +4 -0
  63. data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +5 -1
  64. data/lib/new_relic/agent/log_event_aggregator.rb +49 -2
  65. data/lib/new_relic/agent/log_event_attributes.rb +115 -0
  66. data/lib/new_relic/agent/logging.rb +4 -4
  67. data/lib/new_relic/agent/method_tracer_helpers.rb +26 -5
  68. data/lib/new_relic/agent/new_relic_service.rb +33 -17
  69. data/lib/new_relic/agent/pipe_service.rb +1 -1
  70. data/lib/new_relic/agent/tracer.rb +6 -5
  71. data/lib/new_relic/agent/transaction/abstract_segment.rb +52 -0
  72. data/lib/new_relic/agent/transaction/request_attributes.rb +45 -7
  73. data/lib/new_relic/agent/transaction.rb +5 -4
  74. data/lib/new_relic/agent/utilization/vendor.rb +5 -7
  75. data/lib/new_relic/agent.rb +50 -1
  76. data/lib/new_relic/cli/command.rb +1 -0
  77. data/lib/new_relic/control/class_methods.rb +1 -7
  78. data/lib/new_relic/control/frameworks/roda.rb +20 -0
  79. data/lib/new_relic/dependency_detection.rb +6 -0
  80. data/lib/new_relic/language_support.rb +5 -0
  81. data/lib/new_relic/latest_changes.rb +1 -1
  82. data/lib/new_relic/noticed_error.rb +5 -2
  83. data/lib/new_relic/rack/agent_hooks.rb +1 -1
  84. data/lib/new_relic/rack/agent_middleware.rb +0 -16
  85. data/lib/new_relic/rack/browser_monitoring.rb +1 -1
  86. data/lib/new_relic/supportability_helper.rb +2 -0
  87. data/lib/new_relic/traced_thread.rb +2 -3
  88. data/lib/new_relic/version.rb +2 -2
  89. data/lib/sequel/extensions/new_relic_instrumentation.rb +1 -1
  90. data/lib/tasks/bump_version.rake +21 -0
  91. data/lib/tasks/config.rake +3 -2
  92. data/lib/tasks/helpers/config.html.erb +93 -0
  93. data/lib/tasks/helpers/format.rb +11 -7
  94. data/lib/tasks/helpers/newrelicyml.rb +144 -0
  95. data/lib/tasks/helpers/version_bump.rb +62 -0
  96. data/lib/tasks/newrelicyml.rake +13 -0
  97. data/newrelic.yml +362 -265
  98. data/newrelic_rpm.gemspec +11 -7
  99. metadata +36 -25
  100. data/.gitignore +0 -43
  101. data/.project +0 -23
  102. data/.rubocop.yml +0 -1845
  103. data/.rubocop_todo.yml +0 -61
  104. data/.simplecov +0 -16
  105. data/.snyk +0 -11
  106. data/.yardopts +0 -27
  107. data/Brewfile +0 -13
  108. data/DOCKER.md +0 -167
  109. data/Dockerfile +0 -10
  110. data/Guardfile +0 -27
  111. data/config/database.yml +0 -5
  112. data/config.dot +0 -278
  113. data/docker-compose.yml +0 -107
  114. data/lefthook.yml +0 -9
  115. data/lib/tasks/helpers/removers.rb +0 -33
  116. data/lib/tasks/multiverse.rake +0 -6
  117. data/lib/tasks/multiverse.rb +0 -84
data/newrelic.yml CHANGED
@@ -26,49 +26,68 @@ common: &default_settings
26
26
  # All of the following configuration options are optional. Review them, and
27
27
  # uncomment or edit them if they appear relevant to your application needs.
28
28
 
29
- # An array of ActiveSupport custom events names to subscribe to and provide
30
- # instrumentation for. For example,
31
- # - my.custom.event
32
- # - another.event
33
- # - a.third.event
34
- # active_support_custom_events_names: ""
35
-
36
- # If `true`, all logging-related features for the agent can be enabled or disabled
37
- # independently. If `false`, all logging-related features are disabled.
29
+ # An array of ActiveSupport custom event names to subscribe to and instrument. For
30
+ # example,
31
+ # - one.custom.event
32
+ # - another.event
33
+ # - a.third.event
34
+ # active_support_custom_events_names: []
35
+
36
+ # If true, enables capture of all HTTP request headers for all destinations.
37
+ # allow_all_headers: false
38
+
39
+ # Your New Relic userKey. Required when using the New Relic REST API v2 to record
40
+ # deployments using the newrelic deployments command.
41
+ # api_key: ""
42
+
43
+ # If true, enables log decoration and the collection of log events and metrics.
38
44
  # application_logging.enabled: true
39
45
 
40
- # If `true`, the agent captures log records emitted by this application.
46
+ # A hash with key/value pairs to add as custom attributes to all log events
47
+ # forwarded to New Relic. If sending using an environment variable, the value must
48
+ # be formatted like: "key1=value1,key2=value2"
49
+ # application_logging.forwarding.custom_attributes: {}
50
+
51
+ # If true, the agent captures log records emitted by your application.
41
52
  # application_logging.forwarding.enabled: true
42
53
 
54
+ # Sets the minimum level a log event must have to be forwarded to New Relic.
55
+ # This is based on the integer values of Ruby's Logger::Severity constants:
56
+ # https://github.com/ruby/ruby/blob/master/lib/logger/severity.rb
57
+ # The intention is to forward logs with the level given to the configuration, as
58
+ # well as any logs with a higher level of severity.
59
+ # For example, setting this value to "debug" will forward all log events to New
60
+ # Relic. Setting this value to "error" will only forward log events with the
61
+ # levels "error", "fatal", and "unknown".
62
+ # Valid values (ordered lowest to highest):
63
+ # * "debug"
64
+ # * "info"
65
+ # * "warn"
66
+ # * "error"
67
+ # * "fatal"
68
+ # * "unknown"
69
+ # application_logging.forwarding.log_level: debug
70
+
43
71
  # Defines the maximum number of log records to buffer in memory at a time.
44
72
  # application_logging.forwarding.max_samples_stored: 10000
45
73
 
46
- # If `true`, the agent captures metrics related to logging for this application.
47
- # application_logging.metrics.enabled: true
48
-
49
- # If `true`, the agent decorates logs with metadata to link to entities, hosts, traces, and spans.
74
+ # If true, the agent decorates logs with metadata to link to entities, hosts,
75
+ # traces, and spans.
50
76
  # application_logging.local_decorating.enabled: false
51
77
 
52
- # If `true`, the agent will report source code level metrics for traced methods
53
- # see: https://docs.newrelic.com/docs/apm/agents/ruby-agent/features/ruby-codestream-integration/
54
- # code_level_metrics.enabled: true
55
-
56
- # If true, enables transaction event sampling.
57
- # transaction_events.enabled: true
78
+ # If true, the agent captures metrics related to logging for your application.
79
+ # application_logging.metrics.enabled: true
58
80
 
59
- # Defines the maximum number of request events reported from a single harvest.
60
- # transaction_events.max_samples_stored: 1200
81
+ # If true, enables capture of attributes for all destinations.
82
+ # attributes.enabled: true
61
83
 
62
84
  # Prefix of attributes to exclude from all destinations. Allows * as wildcard at
63
85
  # end.
64
- # attributes_exclude: []
86
+ # attributes.exclude: []
65
87
 
66
88
  # Prefix of attributes to include in all destinations. Allows * as wildcard at
67
89
  # end.
68
- # attributes_include: []
69
-
70
- # If true, enables capture of attributes for all destinations.
71
- # attributes.enabled: true
90
+ # attributes.include: []
72
91
 
73
92
  # If true, enables an audit log which logs communications with the New Relic
74
93
  # collector.
@@ -78,39 +97,39 @@ common: &default_settings
78
97
  # audit_log.endpoints: [".*"]
79
98
 
80
99
  # Specifies a path to the audit log file (including the filename).
81
- # audit_log.path: "/audit_log"
100
+ # audit_log.path: log/newrelic_audit.log
82
101
 
83
102
  # Specify a list of constants that should prevent the agent from starting
84
- # automatically. Separate individual constants with a comma ,.
85
- # For example, Rails::Console,UninstrumentedBackgroundJob.
86
- # autostart.denylisted_constants: "rails::console"
103
+ # automatically. Separate individual constants with a comma ,. For example,
104
+ # "Rails::Console,UninstrumentedBackgroundJob".
105
+ # autostart.denylisted_constants: Rails::Console
87
106
 
88
107
  # Defines a comma-delimited list of executables that the agent should not
89
- # instrument. For example, rake,my_ruby_script.rb.
90
- # autostart.denylisted_executables: "irb,rspec"
108
+ # instrument. For example, "rake,my_ruby_script.rb".
109
+ # autostart.denylisted_executables: irb,rspec
91
110
 
92
111
  # Defines a comma-delimited list of Rake tasks that the agent should not
93
- # instrument. For example, assets:precompile,db:migrate.
94
- # autostart.denylisted_rake_tasks: "about,assets:clean,assets:clobber,assets:environment,assets:precompile,assets:precompile:all,db:create,db:drop,db:fixtures:load,db:migrate,db:migrate:status,db:rollback,db:schema:cache:clear,db:schema:cache:dump,db:schema:dump,db:schema:load,db:seed,db:setup,db:structure:dump,db:version,doc:app,log:clear,middleware,notes,notes:custom,rails:template,rails:update,routes,secret,spec,spec:features,spec:requests,spec:controllers,spec:helpers,spec:models,spec:views,spec:routing,spec:rcov,stats,test,test:all,test:all:db,test:recent,test:single,test:uncommitted,time:zones:all,tmp:clear,tmp:create,webpacker:compile"
112
+ # instrument. For example, "assets:precompile,db:migrate".
113
+ # autostart.denylisted_rake_tasks: about,assets:clean,assets:clobber,assets:environment,assets:precompile,assets:precompile:all,db:create,db:drop,db:fixtures:load,db:migrate,db:migrate:status,db:rollback,db:schema:cache:clear,db:schema:cache:dump,db:schema:dump,db:schema:load,db:seed,db:setup,db:structure:dump,db:version,doc:app,log:clear,middleware,notes,notes:custom,rails:template,rails:update,routes,secret,spec,spec:features,spec:requests,spec:controllers,spec:helpers,spec:models,spec:views,spec:routing,spec:rcov,stats,test,test:all,test:all:db,test:recent,test:single,test:uncommitted,time:zones:all,tmp:clear,tmp:create,webpacker:compile
95
114
 
96
- # Backports the faster Active Record connection lookup introduced in Rails 6,
97
- # which improves agent performance when instrumenting Active Record. Note that
98
- # this setting may not be compatible with other gems that patch Active Record.
115
+ # Backports the faster ActiveRecord connection lookup introduced in Rails 6, which
116
+ # improves agent performance when instrumenting ActiveRecord. Note that this
117
+ # setting may not be compatible with other gems that patch ActiveRecord.
99
118
  # backport_fast_active_record_connection_lookup: false
100
119
 
101
120
  # If true, the agent captures attributes from browser monitoring.
102
121
  # browser_monitoring.attributes.enabled: false
103
122
 
104
- # Prefix of attributes to exclude from browser monitoring. Allows * as wildcard
105
- # at end.
123
+ # Prefix of attributes to exclude from browser monitoring. Allows * as wildcard at
124
+ # end.
106
125
  # browser_monitoring.attributes.exclude: []
107
126
 
108
127
  # Prefix of attributes to include in browser monitoring. Allows * as wildcard at
109
128
  # end.
110
129
  # browser_monitoring.attributes.include: []
111
130
 
112
- # This is true by default, this enables auto-injection of the JavaScript header
113
- # for page load timing (sometimes referred to as real user monitoring or RUM).
131
+ # If true, enables auto-injection of the JavaScript header for page load timing
132
+ # (sometimes referred to as real user monitoring or RUM).
114
133
  # browser_monitoring.auto_instrument: true
115
134
 
116
135
  # Manual override for the path to your local CA bundle. This CA bundle will be
@@ -122,55 +141,61 @@ common: &default_settings
122
141
  # capture_memcache_keys: false
123
142
 
124
143
  # When true, the agent captures HTTP request parameters and attaches them to
125
- # transaction traces, traced errors, and TransactionError events. When using the
126
- # capture_params setting, the Ruby agent will not attempt to filter secret
127
- # information. Recommendation: To filter secret information from request
128
- # parameters,use the attributes.include setting instead. For more information,
144
+ # transaction traces, traced errors, and TransactionError events.
145
+ # When using the capture_params setting, the Ruby agent will not attempt to filter
146
+ # secret information. Recommendation: To filter secret information from request
147
+ # parameters, use the attributes.include setting instead. For more information,
129
148
  # see the Ruby attribute examples.
130
149
  # capture_params: false
131
150
 
132
151
  # If true, the agent will clear Tracer::State in Agent.drop_buffered_data.
133
152
  # clear_transaction_state_after_fork: false
134
153
 
154
+ # If true, the agent will report source code level metrics for traced methods.
155
+ # see:
156
+ # https://docs.newrelic.com/docs/apm/agents/ruby-agent/features/ruby-codestream-integration/
157
+ # code_level_metrics.enabled: true
158
+
135
159
  # Path to newrelic.yml. If undefined, the agent checks the following directories
136
- # (in order): config/newrelic.yml, newrelic.yml, $HOME/.newrelic/newrelic.yml
137
- # and $HOME/newrelic.yml.
160
+ # (in order):
161
+ # * config/newrelic.yml
162
+ # * newrelic.yml
163
+ # * $HOME/.newrelic/newrelic.yml
164
+ # * $HOME/newrelic.yml
138
165
  # config_path: newrelic.yml
139
166
 
140
- # If true, enables cross application tracing. Cross application tracing is now
141
- # deprecated, and disabled by default. Distributed tracing is replacing cross
142
- # application tracing as the default means of tracing between services.
143
- # To continue using it, set `cross_application_tracer.enabled: true` and
144
- # `distributed_tracing.enabled: false`
145
- # cross_application_tracer.enabled: false
146
-
147
- # If false, custom attributes will not be sent on New Relic Insights events.
167
+ # If false, custom attributes will not be sent on events.
148
168
  # custom_attributes.enabled: true
149
169
 
150
- # If true, the agent captures New Relic Insights custom events.
170
+ # If true, the agent captures custom events.
151
171
  # custom_insights_events.enabled: true
152
172
 
153
- # Specify a maximum number of custom Insights events to buffer in memory at a
154
- # time.
173
+ # Specify a maximum number of custom events to buffer in memory at a time.
155
174
  # custom_insights_events.max_samples_stored: 3000
156
175
 
157
- # If false, the agent will not add database_name parameter to transaction or #
158
- # slow sql traces.
176
+ # If false, the agent will not add database_name parameter to transaction or slow
177
+ # sql traces.
159
178
  # datastore_tracer.database_name_reporting.enabled: true
160
179
 
161
- # If false, the agent will not report datastore instance metrics, nor add host
162
- # or port_path_or_id parameters to transaction or slow SQL traces.
180
+ # If false, the agent will not report datastore instance metrics, nor add host or
181
+ # port_path_or_id parameters to transaction or slow SQL traces.
163
182
  # datastore_tracer.instance_reporting.enabled: true
164
183
 
165
184
  # If true, disables Action Cable instrumentation.
166
185
  # disable_action_cable_instrumentation: false
167
186
 
187
+ # If true, disables Action Controller instrumentation.
188
+ # disable_action_controller: false
189
+
168
190
  # If true, disables Action Mailbox instrumentation.
169
191
  # disable_action_mailbox: false
170
192
 
171
193
  # If true, disables Action Mailer instrumentation.
172
194
  # disable_action_mailer: false
173
195
 
196
+ # If true, disables Active Record instrumentation.
197
+ # disable_active_record_instrumentation: false
198
+
174
199
  # If true, disables instrumentation for Active Record 4+
175
200
  # disable_active_record_notifications: false
176
201
 
@@ -183,15 +208,9 @@ common: &default_settings
183
208
  # If true, disables Active Job instrumentation.
184
209
  # disable_activejob: false
185
210
 
186
- # If true, disables Active Record instrumentation.
187
- # disable_active_record_instrumentation: false
188
-
189
211
  # If true, the agent won't sample the CPU usage of the host process.
190
212
  # disable_cpu_sampler: false
191
213
 
192
- # If true, disables ActiveSupport custom events instrumentation.
193
- # disable_custom_events_instrumentation: false
194
-
195
214
  # If true, the agent won't measure the depth of Delayed Job queues.
196
215
  # disable_delayed_job_sampler: false
197
216
 
@@ -204,10 +223,17 @@ common: &default_settings
204
223
 
205
224
  # If true, the agent won't wrap third-party middlewares in instrumentation
206
225
  # (regardless of whether they are installed via Rack::Builder or Rails).
226
+ # When middleware instrumentation is disabled, if an application is using
227
+ # middleware that could alter the response code, the HTTP status code reported on
228
+ # the transaction may not reflect the altered value.
207
229
  # disable_middleware_instrumentation: false
208
230
 
209
- # If true, disables the collection of sampler metrics. Sampler metrics are
210
- # metrics that are not event-based (such as CPU time or memory usage).
231
+ # If true, disables agent middleware for Roda. This middleware is responsible for
232
+ # advanced feature support such as page load timing and error collection.
233
+ # disable_roda_auto_middleware: false
234
+
235
+ # If true, disables the collection of sampler metrics. Sampler metrics are metrics
236
+ # that are not event-based (such as CPU time or memory usage).
211
237
  # disable_samplers: false
212
238
 
213
239
  # If true, disables Sequel instrumentation.
@@ -217,8 +243,20 @@ common: &default_settings
217
243
  # disable_sidekiq: false
218
244
 
219
245
  # If true, disables agent middleware for Sinatra. This middleware is responsible
220
- # for advanced feature support such as distributed tracing, page load
246
+ # for advanced feature support such as cross application tracing, page load
221
247
  # timing, and error collection.
248
+ # Cross application tracing is deprecated in favor of distributed tracing.
249
+ # Distributed tracing is on by default for Ruby agent versions 8.0.0 and above.
250
+ # Middlewares are not required to support distributed tracing.
251
+ # To continue using cross application tracing, update the following options in
252
+ # your newrelic.yml configuration file:
253
+ # ``yaml
254
+ # # newrelic.yml
255
+ # cross_application_tracer:
256
+ # enabled: true
257
+ # distributed_tracing:
258
+ # enabled: false
259
+ # ``
222
260
  # disable_sinatra_auto_middleware: false
223
261
 
224
262
  # If true, disables view instrumentation.
@@ -227,19 +265,27 @@ common: &default_settings
227
265
  # If true, the agent won't sample performance measurements from the Ruby VM.
228
266
  # disable_vm_sampler: false
229
267
 
230
- # Distributed tracing tracks and observes service requests as they flow through distributed systems.
231
- # With distributed tracing data, you can quickly pinpoint failures or performance issues and fix them.
268
+ # Distributed tracing lets you see the path that a request takes through your
269
+ # distributed system. Enabling distributed tracing changes the behavior of some
270
+ # New Relic features, so carefully consult the transition guide before you enable
271
+ # this feature.
232
272
  # distributed_tracing.enabled: true
233
273
 
274
+ # If true, the agent captures Elasticsearch queries in transaction traces.
275
+ # elasticsearch.capture_queries: true
276
+
277
+ # If true, the agent obfuscates Elasticsearch queries in transaction traces.
278
+ # elasticsearch.obfuscate_queries: true
279
+
234
280
  # If true, the agent captures attributes from error collection.
235
- # error_collector.attributes.enabled: false
281
+ # error_collector.attributes.enabled: true
236
282
 
237
- # Prefix of attributes to exclude from error collection.
238
- # Allows * as wildcard at end.
283
+ # Prefix of attributes to exclude from error collection. Allows * as wildcard at
284
+ # end.
239
285
  # error_collector.attributes.exclude: []
240
286
 
241
- # Prefix of attributes to include in error collection.
242
- # Allows * as wildcard at end.
287
+ # Prefix of attributes to include in error collection. Allows * as wildcard at
288
+ # end.
243
289
  # error_collector.attributes.include: []
244
290
 
245
291
  # If true, the agent collects TransactionError events.
@@ -249,11 +295,13 @@ common: &default_settings
249
295
  # error_collector.enabled: true
250
296
 
251
297
  # A list of error classes that the agent should treat as expected.
298
+ # This option can't be set via environment variable.
252
299
  # error_collector.expected_classes: []
253
300
 
254
301
  # A map of error classes to a list of messages. When an error of one of the
255
- # classes specified here occurs, if its error message contains one of the
256
- # strings corresponding to it here, that error will be treated as expected.
302
+ # classes specified here occurs, if its error message contains one of the strings
303
+ # corresponding to it here, that error will be treated as expected.
304
+ # This option can't be set via environment variable.
257
305
  # error_collector.expected_messages: {}
258
306
 
259
307
  # A comma separated list of status codes, possibly including ranges. Errors
@@ -262,216 +310,225 @@ common: &default_settings
262
310
  # error_collector.expected_status_codes: ""
263
311
 
264
312
  # A list of error classes that the agent should ignore.
265
- # error_collector.ignore_classes: []
313
+ # This option can't be set via environment variable.
314
+ # error_collector.ignore_classes: ["ActionController::RoutingError", "Sinatra::NotFound"]
266
315
 
267
316
  # A map of error classes to a list of messages. When an error of one of the
268
- # classes specified here occurs, if its error message contains one of the
269
- # strings corresponding to it here, that error will be ignored.
270
- # error_collector.ignore_messages: ""
317
+ # classes specified here occurs, if its error message contains one of the strings
318
+ # corresponding to it here, that error will be ignored.
319
+ # This option can't be set via environment variable.
320
+ # error_collector.ignore_messages: {}
271
321
 
272
322
  # A comma separated list of status codes, possibly including ranges. Errors
273
323
  # associated with these status codes, where applicable, will be ignored.
274
324
  # error_collector.ignore_status_codes: ""
275
325
 
276
- # Defines the maximum number of frames in an error backtrace. Backtraces over
277
- # this amount are truncated at the beginning and end.
326
+ # Defines the maximum number of frames in an error backtrace. Backtraces over this
327
+ # amount are truncated at the beginning and end.
278
328
  # error_collector.max_backtrace_frames: 50
279
329
 
280
- # Defines the maximum number of TransactionError events sent to Insights per
281
- # harvest cycle.
330
+ # Defines the maximum number of TransactionError events reported per harvest
331
+ # cycle.
282
332
  # error_collector.max_event_samples_stored: 100
283
333
 
284
334
  # Allows newrelic distributed tracing headers to be suppressed on outbound
285
335
  # requests.
286
336
  # exclude_newrelic_header: false
287
337
 
288
- # Forces the exit handler that sends all cached data to collector before
289
- # shutting down to be installed regardless of detecting scenarios where it
290
- # generally should not be. Known use-case for this option is where Sinatra is
291
- # running as an embedded service within another framework and the agent is
292
- # detecting the Sinatra app and skipping the at_exit handler as a result.
293
- # Sinatra classically runs the entire application in an at_exit block and would
294
- # otherwise misbehave if the Agent's at_exit handler was also installed in
295
- # those circumstances. Note: send_data_on_exit should also be set to true in
296
- # tandem with this setting.
338
+ # Forces the exit handler that sends all cached data to collector before shutting
339
+ # down to be installed regardless of detecting scenarios where it generally should
340
+ # not be. Known use-case for this option is where Sinatra is running as an
341
+ # embedded service within another framework and the agent is detecting the Sinatra
342
+ # app and skipping the at_exit handler as a result. Sinatra classically runs the
343
+ # entire application in an at_exit block and would otherwise misbehave if the
344
+ # Agent's at_exit handler was also installed in those circumstances. Note:
345
+ # send_data_on_exit should also be set to true in tandem with this setting.
297
346
  # force_install_exit_handler: false
298
347
 
299
- # Ordinarily the agent reports dyno names with a trailing dot and process ID
300
- # (for example, worker.3). You can remove this trailing data by specifying the
301
- # prefixes you want to report without trailing data (for example, worker).
348
+ # Ordinarily the agent reports dyno names with a trailing dot and process ID (for
349
+ # example, worker.3). You can remove this trailing data by specifying the prefixes
350
+ # you want to report without trailing data (for example, worker).
302
351
  # heroku.dyno_name_prefixes_to_shorten: ["scheduler", "run"]
303
352
 
304
353
  # If true, the agent uses Heroku dyno names as the hostname.
305
354
  # heroku.use_dyno_names: true
306
355
 
307
- # If true, enables high security mode. Ensure that you understand the
308
- # implication of enabling high security mode before enabling this setting.
309
- # https://docs.newrelic.com/docs/agents/manage-apm-agents/configuration/high-security-mode/
356
+ # If true, enables high security mode. Ensure you understand the implications of
357
+ # high security mode before enabling this setting.
310
358
  # high_security: false
311
359
 
312
- # Configures the hostname for the Trace Observer Host. When configured, enables
313
- # tail-based sampling by sending all recorded spans to a Trace Observer for
360
+ # If true (the default), data sent to the trace observer is batched instead of
361
+ # sending each span individually.
362
+ # infinite_tracing.batching: true
363
+
364
+ # Configure the compression level for data sent to the trace observer.
365
+ # May be one of: :none, :low, :medium, :high.
366
+ # Set the level to :none to disable compression.
367
+ # infinite_tracing.compression_level: high
368
+
369
+ # Configures the hostname for the trace observer Host. When configured, enables
370
+ # tail-based sampling by sending all recorded spans to a trace observer for
314
371
  # further sampling decisions, irrespective of any usual agent sampling decision.
315
372
  # infinite_tracing.trace_observer.host: ""
316
373
 
317
- # Configures the TCP/IP port for the Trace Observer Host
374
+ # Configures the TCP/IP port for the trace observer Host
318
375
  # infinite_tracing.trace_observer.port: 443
319
376
 
320
- # Configure the compression level for data sent to the Trace Observer
321
- # May be one of [none|low|medium|high]
322
- # 'high' is the default. Set the level to 'none' to disable compression
323
- # infinite_tracing.compression_level: high
324
-
325
- # If true (the default), data sent to the Trace Observer will be batched
326
- # instead of each span being sent individually
327
- # infinite_tracing.batching: true
377
+ # Controls auto-instrumentation of ActiveSupport::Logger at start up. May be one
378
+ # of: auto, prepend, chain, disabled.
379
+ # instrumentation.active_support_logger: auto
328
380
 
329
- # Controls auto-instrumentation of bunny at start up.
330
- # May be one of [auto|prepend|chain|disabled].
381
+ # Controls auto-instrumentation of bunny at start up. May be one of: auto,
382
+ # prepend, chain, disabled.
331
383
  # instrumentation.bunny: auto
332
384
 
333
- # Controls auto-instrumentation of Fiber at start up.
334
- # May be one of [auto|prepend|chain|disabled]
335
- # instrumentation.fiber: auto
336
-
337
- # Controls auto-instrumentation of concurrent_ruby at start up.
338
- # May be one of [auto|prepend|chain|disabled]
385
+ # Controls auto-instrumentation of the concurrent-ruby library at start up. May be
386
+ # one of: auto, prepend, chain, disabled.
339
387
  # instrumentation.concurrent_ruby: auto
340
388
 
341
- # Controls auto-instrumentation of Curb at start up.
342
- # May be one of [auto|prepend|chain|disabled].
389
+ # Controls auto-instrumentation of Curb at start up. May be one of: auto, prepend,
390
+ # chain, disabled.
343
391
  # instrumentation.curb: auto
344
392
 
345
- # Controls auto-instrumentation of Delayed Job at start up.
346
- # May be one of [auto|prepend|chain|disabled].
393
+ # Controls auto-instrumentation of Delayed Job at start up. May be one of: auto,
394
+ # prepend, chain, disabled.
347
395
  # instrumentation.delayed_job: auto
348
396
 
349
- # Controls auto-instrumentation of the elasticsearch library at start up.
350
- # May be one of [auto|prepend|chain|disabled].
397
+ # Controls auto-instrumentation of the elasticsearch library at start up. May be
398
+ # one of: auto, prepend, chain, disabled.
351
399
  # instrumentation.elasticsearch: auto
352
400
 
353
- # Controls auto-instrumentation of Excon at start up.
354
- # May be one of [enabled|disabled].
401
+ # Controls auto-instrumentation of Excon at start up. May be one of: enabled,
402
+ # disabled.
355
403
  # instrumentation.excon: enabled
356
404
 
357
- # Controls auto-instrumentation of Grape at start up.
358
- # May be one of [auto|prepend|chain|disabled].
405
+ # Controls auto-instrumentation of the Fiber class at start up. May be one of:
406
+ # auto, prepend, chain, disabled.
407
+ # instrumentation.fiber: auto
408
+
409
+ # Controls auto-instrumentation of Grape at start up. May be one of: auto,
410
+ # prepend, chain, disabled.
359
411
  # instrumentation.grape: auto
360
412
 
361
- # Controls auto-instrumentation of HTTPClient at start up.
362
- # May be one of [auto|prepend|chain|disabled].
413
+ # Specifies a list of hostname patterns separated by commas that will match gRPC
414
+ # hostnames that traffic is to be ignored by New Relic for. New Relic's gRPC
415
+ # client instrumentation will ignore traffic streamed to a host matching any of
416
+ # these patterns, and New Relic's gRPC server instrumentation will ignore traffic
417
+ # for a server running on a host whose hostname matches any of these patterns. By
418
+ # default, no traffic is ignored when gRPC instrumentation is itself enabled. For
419
+ # example, "private.com$,exception.*"
420
+ # instrumentation.grpc.host_denylist: []
421
+
422
+ # Controls auto-instrumentation of gRPC clients at start up. May be one of: auto,
423
+ # prepend, chain, disabled.
424
+ # instrumentation.grpc_client: auto
425
+
426
+ # Controls auto-instrumentation of gRPC servers at start up. May be one of: auto,
427
+ # prepend, chain, disabled.
428
+ # instrumentation.grpc_server: auto
429
+
430
+ # Controls auto-instrumentation of HTTPClient at start up. May be one of: auto,
431
+ # prepend, chain, disabled.
363
432
  # instrumentation.httpclient: auto
364
433
 
365
- # Controls auto-instrumentation of http.rb gem at start up.
366
- # May be one of [auto|prepend|chain|disabled].
434
+ # Controls auto-instrumentation of http.rb gem at start up. May be one of: auto,
435
+ # prepend, chain, disabled.
367
436
  # instrumentation.httprb: auto
368
437
 
369
- # Controls auto-instrumentation of the Ruby standard library Logger.rb.
370
- # May be one of [auto|prepend|chain|disabled].
438
+ # Controls auto-instrumentation of Ruby standard library Logger at start up. May
439
+ # be one of: auto, prepend, chain, disabled.
371
440
  # instrumentation.logger: auto
372
441
 
373
- # Controls auto-instrumentation of ActiveSupport::Logger at start up.
374
- # May be one of [auto|prepend|chain|disabled].
375
- # instrumentation.active_support.logger: auto
442
+ # Controls auto-instrumentation of dalli gem for Memcache at start up. May be one
443
+ # of: auto, prepend, chain, disabled.
444
+ # instrumentation.memcache: auto
376
445
 
377
446
  # Controls auto-instrumentation of memcache-client gem for Memcache at start up.
378
- # May be one of [auto|prepend|chain|disabled].
447
+ # May be one of: auto, prepend, chain, disabled.
379
448
  # instrumentation.memcache_client: auto
380
449
 
381
- # Controls auto-instrumentation of dalli gem for Memcache at start up.
382
- # May be one of [auto|prepend|chain|disabled].
383
- # instrumentation.memcache: auto
384
-
385
- # Controls auto-instrumentation of memcached gem for Memcache at start up.
386
- # May be one of [auto|prepend|chain|disabled].
450
+ # Controls auto-instrumentation of memcached gem for Memcache at start up. May be
451
+ # one of: auto, prepend, chain, disabled.
387
452
  # instrumentation.memcached: auto
388
453
 
389
- # Controls auto-instrumentation of Mongo at start up.
390
- # May be one of [enabled|disabled].
454
+ # Controls auto-instrumentation of Mongo at start up. May be one of: enabled,
455
+ # disabled.
391
456
  # instrumentation.mongo: enabled
392
457
 
393
- # Controls auto-instrumentation of Net::HTTP at start up.
394
- # May be one of [auto|prepend|chain|disabled].
458
+ # Controls auto-instrumentation of Net::HTTP at start up. May be one of: auto,
459
+ # prepend, chain, disabled.
395
460
  # instrumentation.net_http: auto
396
461
 
397
- # Controls auto-instrumentation of Puma::Rack::URLMap at start up.
398
- # May be one of [auto|prepend|chain|disabled].
399
- # instrumentation.puma_rack_urlmap: auto
400
-
401
- # Controls auto-instrumentation of Puma::Rack. When enabled, the agent hooks
402
- # into the to_app method in Puma::Rack::Builder to find gems to instrument
403
- # during application startup. May be one of [auto|prepend|chain|disabled].
462
+ # Controls auto-instrumentation of Puma::Rack. When enabled, the agent hooks into
463
+ # the to_app method in Puma::Rack::Builder to find gems to instrument during
464
+ # application startup. May be one of: auto, prepend, chain, disabled.
404
465
  # instrumentation.puma_rack: auto
405
466
 
406
- # Controls auto-instrumentation of Rack::URLMap at start up.
407
- # May be one of [auto|prepend|chain|disabled].
408
- # instrumentation.rack_urlmap: auto
467
+ # Controls auto-instrumentation of Puma::Rack::URLMap at start up. May be one of:
468
+ # auto, prepend, chain, disabled.
469
+ # instrumentation.puma_rack_urlmap: auto
409
470
 
410
471
  # Controls auto-instrumentation of Rack. When enabled, the agent hooks into the
411
472
  # to_app method in Rack::Builder to find gems to instrument during application
412
- # startup. May be one of [auto|prepend|chain|disabled].
473
+ # startup. May be one of: auto, prepend, chain, disabled.
413
474
  # instrumentation.rack: auto
414
475
 
415
- # Controls auto-instrumentation of rake at start up.
416
- # May be one of [auto|prepend|chain|disabled].
476
+ # Controls auto-instrumentation of Rack::URLMap at start up. May be one of: auto,
477
+ # prepend, chain, disabled.
478
+ # instrumentation.rack_urlmap: auto
479
+
480
+ # Controls auto-instrumentation of rake at start up. May be one of: auto, prepend,
481
+ # chain, disabled.
417
482
  # instrumentation.rake: auto
418
483
 
419
- # Controls auto-instrumentation of Redis at start up.
420
- # May be one of [auto|prepend|chain|disabled].
484
+ # Controls auto-instrumentation of Redis at start up. May be one of: auto,
485
+ # prepend, chain, disabled.
421
486
  # instrumentation.redis: auto
422
487
 
423
- # Controls auto-instrumentation of resque at start up.
424
- # May be one of [auto|prepend|chain|disabled].
488
+ # Controls auto-instrumentation of resque at start up. May be one of: auto,
489
+ # prepend, chain, disabled.
425
490
  # instrumentation.resque: auto
426
491
 
427
- # Controls auto-instrumentation of Sinatra at start up.
428
- # May be one of [auto|prepend|chain|disabled].
429
- # instrumentation.sinatra: auto
492
+ # Controls auto-instrumentation of Roda at start up. May be one of: auto, prepend,
493
+ # chain, disabled.
494
+ # instrumentation.roda: auto
430
495
 
431
- # Controls auto-instrumentation of Tilt at start up.
432
- # May be one of [auto|prepend|chain|disabled].
433
- # instrumentation.tilt: auto
496
+ # Controls auto-instrumentation of Sinatra at start up. May be one of: auto,
497
+ # prepend, chain, disabled.
498
+ # instrumentation.sinatra: auto
434
499
 
435
- # Controls auto-instrumentation of Typhoeus at start up.
436
- # May be one of [auto|prepend|chain|disabled].
437
- # instrumentation.typhoeus: auto
500
+ # Controls auto-instrumentation of Stripe at startup. May be one of: enabled,
501
+ # disabled.
502
+ # instrumentation.stripe: enabled
438
503
 
439
- # Controls auto-instrumentation of the Thread class at start up to allow the agent to correctly nest spans inside of an asynchronous transaction.
440
- # May be one of [auto|prepend|chain|disabled].
504
+ # Controls auto-instrumentation of the Thread class at start up to allow the agent
505
+ # to correctly nest spans inside of an asynchronous transaction. This does not
506
+ # enable the agent to automatically trace all threads created (see
507
+ # instrumentation.thread.tracing). May be one of: auto, prepend, chain, disabled.
441
508
  # instrumentation.thread: auto
442
509
 
443
- # Controls auto-instrumentation of the Thread class at start up to automatically add tracing to all Threads created in the application.
510
+ # Controls auto-instrumentation of the Thread class at start up to automatically
511
+ # add tracing to all Threads created in the application.
444
512
  # instrumentation.thread.tracing: true
445
513
 
446
- # Controls auto-instrumentation of gRPC clients at start up.
447
- # May be one of [auto|prepend|chain|disabled].
448
- # instrumentation.grpc_client: auto
449
-
450
- # Controls auto-instrumentation of gRPC servers at start up.
451
- # May be one of [auto|prepend|chain|disabled].
452
- # instrumentation.grpc_server: auto
514
+ # Controls auto-instrumentation of the Tilt template rendering library at start
515
+ # up. May be one of: auto, prepend, chain, disabled.
516
+ # instrumentation.tilt: auto
453
517
 
454
- # Specifies a list of hostname patterns separated by commas that will match
455
- # gRPC hostnames that traffic is to be ignored by New Relic for.
456
- # New Relic's gRPC client instrumentation will ignore traffic streamed to a
457
- # host matching any of these patterns, and New Relic's gRPC server
458
- # instrumentation will ignore traffic for a server running on a host whose
459
- # hostname matches any of these patterns. By default, no traffic is ignored
460
- # when gRPC instrumentation is itself enabled.
461
- # For example, "private.com$,exception.*"
462
- # instrumentation.grpc.host_denylist: ""
518
+ # Controls auto-instrumentation of Typhoeus at start up. May be one of: auto,
519
+ # prepend, chain, disabled.
520
+ # instrumentation.typhoeus: auto
463
521
 
464
522
  # A dictionary of label names and values that will be applied to the data sent
465
523
  # from this agent. May also be expressed as a semicolon-delimited ; string of
466
- # colon-separated : pairs.
467
- # For example,<var>Server</var>:<var>One</var>;<var>Data Center</var>:<var>Primary</var>.
524
+ # colon-separated : pairs. For example, Server:One;Data Center:Primary.
468
525
  # labels: ""
469
526
 
470
527
  # Defines a name for the log file.
471
- # log_file_name: "newrelic_agent.log"
528
+ # log_file_name: newrelic_agent.log
472
529
 
473
530
  # Defines a path to the agent log file, excluding the filename.
474
- # log_file_path: "log/"
531
+ # log_file_path: log/
475
532
 
476
533
  # Specifies a marshaller for transmitting data to the New Relic collector.
477
534
  # Currently json is the only valid value for this setting.
@@ -487,22 +544,15 @@ common: &default_settings
487
544
  # If true, the agent obfuscates Mongo queries in transaction traces.
488
545
  # mongo.obfuscate_queries: true
489
546
 
490
- # If true, the agent captures Elasticsearch queries in transaction traces.
491
- # elasticsearch.capture_queries: true
492
-
493
- # If true, the agent obfuscates Elasticsearch queries in transaction traces.
494
- # elasticsearch.obfuscate_queries: true
495
-
496
547
  # When true, the agent transmits data about your app to the New Relic collector.
497
548
  # monitor_mode: true
498
549
 
499
- # If true, uses Module#prepend rather than alias_method for Active Record
550
+ # If true, uses Module#prepend rather than alias_method for ActiveRecord
500
551
  # instrumentation.
501
552
  # prepend_active_record_instrumentation: false
502
553
 
503
- # Specify a custom host name for display in the New Relic UI
504
- # Be be aware that you cannot rename a hostname, so please rename
505
- # process_host.display_name: "default hostname"
554
+ # Specify a custom host name for display in the New Relic UI.
555
+ # process_host.display_name: default hostname
506
556
 
507
557
  # Defines a host for communicating with the New Relic collector via a proxy
508
558
  # server.
@@ -514,7 +564,7 @@ common: &default_settings
514
564
 
515
565
  # Defines a port for communicating with the New Relic collector via a proxy
516
566
  # server.
517
- # proxy_port: nil
567
+ # proxy_port: 8080
518
568
 
519
569
  # Defines a user for communicating with the New Relic collector via a proxy
520
570
  # server.
@@ -523,15 +573,16 @@ common: &default_settings
523
573
  # Timeout for waiting on connect to complete before a rake task
524
574
  # rake.connect_timeout: 10
525
575
 
526
- # Specify an array of Rake tasks to automatically instrument.
527
- # This configuration option converts the Array to a RegEx list.
528
- # If you'd like to allow all tasks by default, use `rake.tasks: [.+]`.
529
- # Rake tasks will not be instrumented unless they're added to this list.
530
- # For more information, visit the (New Relic Rake Instrumentation docs)[/docs/apm/agents/ruby-agent/background-jobs/rake-instrumentation].
576
+ # Specify an Array of Rake tasks to automatically instrument. This configuration
577
+ # option converts the Array to a RegEx list. If you'd like to allow all tasks by
578
+ # default, use rake.tasks: [.+]. No rake tasks will be instrumented unless they're
579
+ # added to this list. For more information, visit the New Relic Rake
580
+ # Instrumentation docs.
531
581
  # rake.tasks: []
532
582
 
533
583
  # Define transactions you want the agent to ignore, by specifying a list of
534
- # patterns matching the URI you want to ignore.
584
+ # patterns matching the URI you want to ignore. For more detail, see the docs on
585
+ # ignoring specific transactions.
535
586
  # rules.ignore_url_regexes: []
536
587
 
537
588
  # Applies Language Agent Security Policy settings.
@@ -541,33 +592,48 @@ common: &default_settings
541
592
  # before shutting down.
542
593
  # send_data_on_exit: true
543
594
 
595
+ # An array of strings that will collectively serve as a denylist for filtering
596
+ # which Sidekiq job arguments get reported to New Relic. To capture any Sidekiq
597
+ # arguments, 'job.sidekiq.args.*' must be added to the separate
598
+ # :'attributes.include' configuration option. Each string in this array will be
599
+ # turned into a regular expression via Regexp.new to permit advanced matching. For
600
+ # job argument hashes, if either a key or value matches the pair will be excluded.
601
+ # All matching job argument array elements and job argument scalars will be
602
+ # excluded.
603
+ # sidekiq.args.exclude: []
604
+
605
+ # An array of strings that will collectively serve as an allowlist for filtering
606
+ # which Sidekiq job arguments get reported to New Relic. To capture any Sidekiq
607
+ # arguments, 'job.sidekiq.args.*' must be added to the separate
608
+ # :'attributes.include' configuration option. Each string in this array will be
609
+ # turned into a regular expression via Regexp.new to permit advanced matching. For
610
+ # job argument hashes, if either a key or value matches the pair will be included.
611
+ # All matching job argument array elements and job argument scalars will be
612
+ # included.
613
+ # sidekiq.args.include: []
614
+
544
615
  # If true, the agent collects slow SQL queries.
545
- # slow_sql.enabled: false
616
+ # slow_sql.enabled: true
546
617
 
547
618
  # If true, the agent collects explain plans in slow SQL queries. If this setting
548
619
  # is omitted, the transaction_tracer.explain_enabled setting will be applied as
549
620
  # the default setting for explain plans in slow SQL as well.
550
- # slow_sql.explain_enabled: false
621
+ # slow_sql.explain_enabled: true
551
622
 
552
- # Specify a threshold in seconds. The agent collects slow SQL queries and
553
- # explain plans that exceed this threshold.
554
- # slow_sql.explain_threshold: 1.0
623
+ # Specify a threshold in seconds. The agent collects slow SQL queries and explain
624
+ # plans that exceed this threshold.
625
+ # slow_sql.explain_threshold: 0.5
555
626
 
556
- # Defines an obfuscation level for slow SQL queries.
557
- # Valid options are obfuscated, raw, or none.
558
- # slow_sql.record_sql: none
627
+ # Defines an obfuscation level for slow SQL queries. Valid options are obfuscated,
628
+ # raw, or none.
629
+ # slow_sql.record_sql: obfuscated
559
630
 
560
- # Generate a longer sql_id for slow SQL traces. sql_id is used for aggregation
561
- # of similar queries.
631
+ # Generate a longer sql_id for slow SQL traces. sql_id is used for aggregation of
632
+ # similar queries.
562
633
  # slow_sql.use_longer_sql_id: false
563
634
 
564
635
  # If true, the agent captures attributes on span events.
565
- # span_events_attributes.enabled: true
566
-
567
- # Defines the maximum number of span events reported from a single harvest.
568
- # This can be any integer between 1 and 10000. Increasing this value may impact
569
- # memory usage.
570
- # span_events.max_samples_stored: 2000
636
+ # span_events.attributes.enabled: true
571
637
 
572
638
  # Prefix of attributes to exclude from span events. Allows * as wildcard at end.
573
639
  # span_events.attributes.exclude: []
@@ -578,21 +644,44 @@ common: &default_settings
578
644
  # If true, enables span event sampling.
579
645
  # span_events.enabled: true
580
646
 
647
+ # Defines the maximum number of span events reported from a single harvest. Any
648
+ # Integer between 1 and 10000 is valid.
649
+ # span_events.max_samples_stored: 2000
650
+
581
651
  # Sets the maximum number of span events to buffer when streaming to the trace
582
652
  # observer.
583
653
  # span_events.queue_size: 10000
584
654
 
585
655
  # Specify a list of exceptions you do not want the agent to strip when
586
- # strip_exception_messages is true. Separate exceptions with a comma. For
587
- # example, "ImportantException,PreserveMessageException".
656
+ # strip_exception_messages is true. Separate exceptions with a comma. For example,
657
+ # "ImportantException,PreserveMessageException".
588
658
  # strip_exception_messages.allowed_classes: ""
589
659
 
590
660
  # If true, the agent strips messages from all exceptions except those in the
591
661
  # allowlist. Enabled automatically in high security mode.
592
- # strip_exception_messages.enabled: true
662
+ # strip_exception_messages.enabled: false
663
+
664
+ # An array of strings to specify which keys and/or values inside a Stripe event's
665
+ # user_data hash should
666
+ # not be reported to New Relic. Each string in this array will be turned into a
667
+ # regular expression via
668
+ # Regexp.new to permit advanced matching. For each hash pair, if either the key or
669
+ # value is matched the
670
+ # pair will not be reported. By default, no user_data is reported, so this option
671
+ # should only be used if
672
+ # the stripe.user_data.include option is being used.
673
+ # stripe.user_data.exclude: []
674
+
675
+ # An array of strings to specify which keys inside a Stripe event's user_data hash
676
+ # should be reported
677
+ # to New Relic. Each string in this array will be turned into a regular expression
678
+ # via Regexp.new to
679
+ # permit advanced matching. Setting the value to ["."] will report all user_data.
680
+ # stripe.user_data.include: []
593
681
 
594
682
  # When set to true, forces a synchronous connection to the New Relic collector
595
- # during application startup. For very short-lived processes, this helps ensure # the New Relic agent has time to report.
683
+ # during application startup. For very short-lived processes, this helps ensure
684
+ # the New Relic agent has time to report.
596
685
  # sync_startup: false
597
686
 
598
687
  # If true, enables use of the thread profiler.
@@ -603,50 +692,56 @@ common: &default_settings
603
692
  # timeout: 120
604
693
 
605
694
  # If true, the agent captures attributes from transaction events.
606
- # transaction_events_attributes.enabled: false
695
+ # transaction_events.attributes.enabled: true
607
696
 
608
- # Prefix of attributes to exclude from transaction events.
609
- # Allows * as wildcard at end.
697
+ # Prefix of attributes to exclude from transaction events. Allows * as wildcard at
698
+ # end.
610
699
  # transaction_events.attributes.exclude: []
611
700
 
612
- # Prefix of attributes to include in transaction events.
613
- # Allows * as wildcard at end.
701
+ # Prefix of attributes to include in transaction events. Allows * as wildcard at
702
+ # end.
614
703
  # transaction_events.attributes.include: []
615
704
 
705
+ # If true, enables transaction event sampling.
706
+ # transaction_events.enabled: true
707
+
708
+ # Defines the maximum number of transaction events reported from a single harvest.
709
+ # transaction_events.max_samples_stored: 1200
710
+
616
711
  # If true, the agent captures attributes on transaction segments.
617
- # transaction_segments_attributes.enabled: true
712
+ # transaction_segments.attributes.enabled: true
618
713
 
619
- # Prefix of attributes to exclude from transaction segments.
620
- # Allows * as wildcard at end.
714
+ # Prefix of attributes to exclude from transaction segments. Allows * as wildcard
715
+ # at end.
621
716
  # transaction_segments.attributes.exclude: []
622
717
 
623
- # Prefix of attributes to include on transaction segments.
624
- # Allows * as wildcard at end.
718
+ # Prefix of attributes to include on transaction segments. Allows * as wildcard at
719
+ # end.
625
720
  # transaction_segments.attributes.include: []
626
721
 
627
722
  # If true, the agent captures attributes from transaction traces.
628
- # transaction_tracer.attributes.enabled: false
723
+ # transaction_tracer.attributes.enabled: true
629
724
 
630
- # Prefix of attributes to exclude from transaction traces.
631
- # Allows * as wildcard at end.
725
+ # Prefix of attributes to exclude from transaction traces. Allows * as wildcard at
726
+ # end.
632
727
  # transaction_tracer.attributes.exclude: []
633
728
 
634
- # Prefix of attributes to include in transaction traces.
635
- # Allows * as wildcard at end.
729
+ # Prefix of attributes to include in transaction traces. Allows * as wildcard at
730
+ # end.
636
731
  # transaction_tracer.attributes.include: []
637
732
 
638
733
  # If true, enables collection of transaction traces.
639
734
  # transaction_tracer.enabled: true
640
735
 
736
+ # If true, enables the collection of explain plans in transaction traces. This
737
+ # setting will also apply to explain plans in slow SQL traces if
738
+ # slow_sql.explain_enabled is not set separately.
739
+ # transaction_tracer.explain_enabled: true
740
+
641
741
  # Threshold (in seconds) above which the agent will collect explain plans.
642
742
  # Relevant only when explain_enabled is true.
643
743
  # transaction_tracer.explain_threshold: 0.5
644
744
 
645
- # If true, enables the collection of explain plans in transaction traces.
646
- # This setting will also apply to explain plans in slow SQL traces if
647
- # slow_sql.explain enabled is not set separately.
648
- # transaction_tracer.explain_enabled: true
649
-
650
745
  # Maximum number of transaction trace nodes to record in a single transaction
651
746
  # trace.
652
747
  # transaction_tracer.limit_segments: 4000
@@ -656,11 +751,12 @@ common: &default_settings
656
751
 
657
752
  # Obfuscation level for SQL queries reported in transaction trace nodes.
658
753
  # By default, this is set to obfuscated, which strips out the numeric and string
659
- # literals. If you do not want the agent to capture query information, set this
660
- # to 'none'. If you want the agent to capture all query information in its
661
- # original form, set this to 'raw'. When you enable high security mode this is
662
- # automatically set to 'obfuscated'
663
- # transaction_tracer.record_sql: 'obfuscated'
754
+ # literals.
755
+ # - If you do not want the agent to capture query information, set this to none.
756
+ # - If you want the agent to capture all query information in its original form,
757
+ # set this to raw.
758
+ # - When you enable high security mode, this is automatically set to obfuscated.
759
+ # transaction_tracer.record_sql: obfuscated
664
760
 
665
761
  # Specify a threshold in seconds. The agent includes stack traces in transaction
666
762
  # trace nodes when the stack trace duration exceeds this threshold.
@@ -689,7 +785,8 @@ common: &default_settings
689
785
  # If true, the agent automatically detects that it is running in Kubernetes.
690
786
  # utilization.detect_kubernetes: true
691
787
 
692
- # If true, the agent automatically detects that it is running in a Pivotal Cloud Foundry environment.
788
+ # If true, the agent automatically detects that it is running in a Pivotal Cloud
789
+ # Foundry environment.
693
790
  # utilization.detect_pcf: true
694
791
 
695
792
  # Environment-specific settings are in this section.