newrelic_rpm 6.15.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/CHANGELOG.md +260 -22
  4. data/CONTRIBUTING.md +13 -2
  5. data/README.md +4 -2
  6. data/lib/new_relic/agent/adaptive_sampler.rb +2 -2
  7. data/lib/new_relic/agent/agent.rb +8 -7
  8. data/lib/new_relic/agent/autostart.rb +1 -2
  9. data/lib/new_relic/agent/commands/thread_profiler_session.rb +7 -3
  10. data/lib/new_relic/agent/configuration/default_source.rb +456 -233
  11. data/lib/new_relic/agent/configuration/event_harvest_config.rb +28 -12
  12. data/lib/new_relic/agent/configuration/manager.rb +3 -4
  13. data/lib/new_relic/agent/configuration/server_source.rb +3 -2
  14. data/lib/new_relic/agent/configuration/yaml_source.rb +22 -1
  15. data/lib/new_relic/agent/connect/request_builder.rb +4 -2
  16. data/lib/new_relic/agent/custom_event_aggregator.rb +2 -1
  17. data/lib/new_relic/agent/database.rb +5 -2
  18. data/lib/new_relic/agent/datastores/mongo.rb +5 -10
  19. data/lib/new_relic/agent/datastores/redis.rb +0 -4
  20. data/lib/new_relic/agent/datastores.rb +7 -7
  21. data/lib/new_relic/agent/distributed_tracing/cross_app_payload.rb +5 -5
  22. data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +10 -6
  23. data/lib/new_relic/agent/distributed_tracing/distributed_trace_attributes.rb +0 -1
  24. data/lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb +1 -1
  25. data/lib/new_relic/agent/distributed_tracing/trace_context_payload.rb +1 -1
  26. data/lib/new_relic/agent/distributed_tracing.rb +0 -66
  27. data/lib/new_relic/agent/error_collector.rb +52 -37
  28. data/lib/new_relic/agent/error_filter.rb +167 -0
  29. data/lib/new_relic/agent/event_loop.rb +6 -6
  30. data/lib/new_relic/agent/external.rb +0 -32
  31. data/lib/new_relic/agent/http_clients/abstract.rb +2 -2
  32. data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +1 -1
  33. data/lib/new_relic/agent/instrumentation/active_merchant.rb +3 -3
  34. data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +0 -16
  35. data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +1 -3
  36. data/lib/new_relic/agent/instrumentation/bunny/chain.rb +45 -0
  37. data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +152 -0
  38. data/lib/new_relic/agent/instrumentation/bunny/prepend.rb +35 -0
  39. data/lib/new_relic/agent/instrumentation/bunny.rb +10 -152
  40. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +2 -1
  41. data/lib/new_relic/agent/instrumentation/curb/chain.rb +93 -0
  42. data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +222 -0
  43. data/lib/new_relic/agent/instrumentation/curb/prepend.rb +63 -0
  44. data/lib/new_relic/agent/instrumentation/curb.rb +9 -241
  45. data/lib/new_relic/agent/instrumentation/delayed_job/chain.rb +38 -0
  46. data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +53 -0
  47. data/lib/new_relic/agent/instrumentation/delayed_job/prepend.rb +34 -0
  48. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +8 -50
  49. data/lib/new_relic/agent/instrumentation/excon.rb +4 -22
  50. data/lib/new_relic/agent/instrumentation/grape/chain.rb +25 -0
  51. data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +100 -0
  52. data/lib/new_relic/agent/instrumentation/grape/prepend.rb +17 -0
  53. data/lib/new_relic/agent/instrumentation/grape.rb +13 -113
  54. data/lib/new_relic/agent/instrumentation/httpclient/chain.rb +25 -0
  55. data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +38 -0
  56. data/lib/new_relic/agent/instrumentation/httpclient/prepend.rb +17 -0
  57. data/lib/new_relic/agent/instrumentation/httpclient.rb +8 -30
  58. data/lib/new_relic/agent/instrumentation/httprb/chain.rb +22 -0
  59. data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +30 -0
  60. data/lib/new_relic/agent/instrumentation/httprb/prepend.rb +15 -0
  61. data/lib/new_relic/agent/instrumentation/httprb.rb +29 -0
  62. data/lib/new_relic/agent/instrumentation/memcache/chain.rb +16 -0
  63. data/lib/new_relic/agent/instrumentation/memcache/dalli.rb +38 -121
  64. data/lib/new_relic/agent/instrumentation/memcache/helper.rb +56 -0
  65. data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +88 -0
  66. data/lib/new_relic/agent/instrumentation/memcache/prepend.rb +88 -0
  67. data/lib/new_relic/agent/instrumentation/memcache.rb +54 -69
  68. data/lib/new_relic/agent/instrumentation/middleware_proxy.rb +2 -0
  69. data/lib/new_relic/agent/instrumentation/mongo.rb +3 -134
  70. data/lib/new_relic/agent/instrumentation/net_http/chain.rb +25 -0
  71. data/lib/new_relic/agent/instrumentation/{net_prepend.rb → net_http/instrumentation.rb} +3 -3
  72. data/lib/new_relic/agent/instrumentation/net_http/prepend.rb +21 -0
  73. data/lib/new_relic/agent/instrumentation/net_http.rb +44 -0
  74. data/lib/new_relic/agent/instrumentation/padrino/chain.rb +34 -0
  75. data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +27 -0
  76. data/lib/new_relic/agent/instrumentation/padrino/prepend.rb +20 -0
  77. data/lib/new_relic/agent/instrumentation/padrino.rb +18 -53
  78. data/lib/new_relic/agent/instrumentation/queue_time.rb +4 -4
  79. data/lib/new_relic/agent/instrumentation/rack/chain.rb +58 -0
  80. data/lib/new_relic/agent/instrumentation/rack/helpers.rb +32 -0
  81. data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +73 -0
  82. data/lib/new_relic/agent/instrumentation/rack/prepend.rb +37 -0
  83. data/lib/new_relic/agent/instrumentation/rack.rb +29 -139
  84. data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +5 -5
  85. data/lib/new_relic/agent/instrumentation/rails/action_web_service.rb +1 -1
  86. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +5 -41
  87. data/lib/new_relic/agent/instrumentation/rake/chain.rb +25 -0
  88. data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +144 -0
  89. data/lib/new_relic/agent/instrumentation/rake/prepend.rb +14 -0
  90. data/lib/new_relic/agent/instrumentation/rake.rb +13 -154
  91. data/lib/new_relic/agent/instrumentation/redis/chain.rb +34 -0
  92. data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +65 -0
  93. data/lib/new_relic/agent/instrumentation/redis/prepend.rb +24 -0
  94. data/lib/new_relic/agent/instrumentation/redis.rb +12 -107
  95. data/lib/new_relic/agent/instrumentation/resque/chain.rb +22 -0
  96. data/lib/new_relic/agent/instrumentation/resque/helper.rb +19 -0
  97. data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +35 -0
  98. data/lib/new_relic/agent/instrumentation/resque/prepend.rb +16 -0
  99. data/lib/new_relic/agent/instrumentation/resque.rb +21 -32
  100. data/lib/new_relic/agent/instrumentation/sidekiq.rb +6 -1
  101. data/lib/new_relic/agent/instrumentation/sinatra/chain.rb +55 -0
  102. data/lib/new_relic/agent/instrumentation/sinatra/ignorer.rb +29 -34
  103. data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +124 -0
  104. data/lib/new_relic/agent/instrumentation/sinatra/prepend.rb +33 -0
  105. data/lib/new_relic/agent/instrumentation/sinatra.rb +20 -158
  106. data/lib/new_relic/agent/instrumentation/typhoeus/chain.rb +22 -0
  107. data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +82 -0
  108. data/lib/new_relic/agent/instrumentation/typhoeus/prepend.rb +14 -0
  109. data/lib/new_relic/agent/instrumentation/typhoeus.rb +10 -89
  110. data/lib/new_relic/agent/javascript_instrumentor.rb +15 -10
  111. data/lib/new_relic/agent/messaging.rb +10 -24
  112. data/lib/new_relic/agent/method_tracer.rb +132 -138
  113. data/lib/new_relic/agent/monitors/cross_app_monitor.rb +6 -1
  114. data/lib/new_relic/agent/new_relic_service.rb +24 -22
  115. data/lib/new_relic/agent/pipe_channel_manager.rb +10 -6
  116. data/lib/new_relic/agent/pipe_service.rb +1 -1
  117. data/lib/new_relic/agent/samplers/cpu_sampler.rb +1 -1
  118. data/lib/new_relic/agent/span_event_aggregator.rb +2 -2
  119. data/lib/new_relic/agent/sql_sampler.rb +4 -4
  120. data/lib/new_relic/agent/stats_engine/stats_hash.rb +1 -1
  121. data/lib/new_relic/agent/stats_engine.rb +1 -1
  122. data/lib/new_relic/agent/supported_versions.rb +1 -1
  123. data/lib/new_relic/agent/threading/backtrace_service.rb +4 -5
  124. data/lib/new_relic/agent/threading/thread_profile.rb +1 -1
  125. data/lib/new_relic/agent/tracer.rb +15 -37
  126. data/lib/new_relic/agent/transaction/abstract_segment.rb +3 -3
  127. data/lib/new_relic/agent/transaction/message_broker_segment.rb +5 -11
  128. data/lib/new_relic/agent/transaction.rb +8 -32
  129. data/lib/new_relic/agent/transaction_time_aggregator.rb +5 -5
  130. data/lib/new_relic/agent/vm/snapshot.rb +1 -1
  131. data/lib/new_relic/agent/worker_loop.rb +5 -5
  132. data/lib/new_relic/agent.rb +10 -13
  133. data/lib/new_relic/cli/commands/deployments.rb +2 -2
  134. data/lib/new_relic/constants.rb +0 -4
  135. data/lib/new_relic/control/frameworks/rails.rb +11 -9
  136. data/lib/new_relic/control/instance_methods.rb +1 -0
  137. data/lib/new_relic/dependency_detection.rb +116 -10
  138. data/lib/new_relic/noticed_error.rb +5 -9
  139. data/lib/new_relic/supportability_helper.rb +1 -2
  140. data/lib/new_relic/version.rb +2 -2
  141. data/lib/newrelic_rpm.rb +10 -34
  142. data/lib/tasks/all.rb +1 -1
  143. data/lib/tasks/config.html.erb +14 -25
  144. data/lib/tasks/config.rake +8 -7
  145. data/newrelic.yml +593 -3
  146. data/newrelic_rpm.gemspec +1 -1
  147. data/test/agent_helper.rb +27 -2
  148. metadata +56 -14
  149. data/cert/cacert.pem +0 -1177
  150. data/lib/new_relic/agent/datastores/mongo/statement_formatter.rb +0 -53
  151. data/lib/new_relic/agent/instrumentation/excon/connection.rb +0 -49
  152. data/lib/new_relic/agent/instrumentation/http.rb +0 -49
  153. data/lib/new_relic/agent/instrumentation/merb/controller.rb +0 -44
  154. data/lib/new_relic/agent/instrumentation/merb/errors.rb +0 -33
  155. data/lib/new_relic/agent/instrumentation/net.rb +0 -70
  156. data/lib/new_relic/control/frameworks/merb.rb +0 -29
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newrelic_rpm
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.15.0
4
+ version: 8.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - Rachel Klein
7
+ - Aaron Huntsman
8
8
  - Tanna McClure
9
- - Michael Lang
9
+ - Kayla Reopelle
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-01-19 00:00:00.000000000 Z
13
+ date: 2021-09-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake
@@ -217,7 +217,6 @@ files:
217
217
  - bin/newrelic
218
218
  - bin/newrelic_cmd
219
219
  - bin/nrdebug
220
- - cert/cacert.pem
221
220
  - config.dot
222
221
  - config/database.yml
223
222
  - init.rb
@@ -262,7 +261,6 @@ files:
262
261
  - lib/new_relic/agent/datastores/mongo/event_formatter.rb
263
262
  - lib/new_relic/agent/datastores/mongo/metric_translator.rb
264
263
  - lib/new_relic/agent/datastores/mongo/obfuscator.rb
265
- - lib/new_relic/agent/datastores/mongo/statement_formatter.rb
266
264
  - lib/new_relic/agent/datastores/redis.rb
267
265
  - lib/new_relic/agent/deprecator.rb
268
266
  - lib/new_relic/agent/distributed_tracing.rb
@@ -277,6 +275,7 @@ files:
277
275
  - lib/new_relic/agent/encoding_normalizer.rb
278
276
  - lib/new_relic/agent/error_collector.rb
279
277
  - lib/new_relic/agent/error_event_aggregator.rb
278
+ - lib/new_relic/agent/error_filter.rb
280
279
  - lib/new_relic/agent/error_trace_aggregator.rb
281
280
  - lib/new_relic/agent/event_aggregator.rb
282
281
  - lib/new_relic/agent/event_buffer.rb
@@ -311,32 +310,60 @@ files:
311
310
  - lib/new_relic/agent/instrumentation/acts_as_solr.rb
312
311
  - lib/new_relic/agent/instrumentation/authlogic.rb
313
312
  - lib/new_relic/agent/instrumentation/bunny.rb
313
+ - lib/new_relic/agent/instrumentation/bunny/chain.rb
314
+ - lib/new_relic/agent/instrumentation/bunny/instrumentation.rb
315
+ - lib/new_relic/agent/instrumentation/bunny/prepend.rb
314
316
  - lib/new_relic/agent/instrumentation/controller_instrumentation.rb
315
317
  - lib/new_relic/agent/instrumentation/curb.rb
318
+ - lib/new_relic/agent/instrumentation/curb/chain.rb
319
+ - lib/new_relic/agent/instrumentation/curb/instrumentation.rb
320
+ - lib/new_relic/agent/instrumentation/curb/prepend.rb
316
321
  - lib/new_relic/agent/instrumentation/data_mapper.rb
322
+ - lib/new_relic/agent/instrumentation/delayed_job/chain.rb
323
+ - lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb
324
+ - lib/new_relic/agent/instrumentation/delayed_job/prepend.rb
317
325
  - lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb
318
326
  - lib/new_relic/agent/instrumentation/excon.rb
319
- - lib/new_relic/agent/instrumentation/excon/connection.rb
320
327
  - lib/new_relic/agent/instrumentation/excon/middleware.rb
321
328
  - lib/new_relic/agent/instrumentation/grape.rb
322
- - lib/new_relic/agent/instrumentation/http.rb
329
+ - lib/new_relic/agent/instrumentation/grape/chain.rb
330
+ - lib/new_relic/agent/instrumentation/grape/instrumentation.rb
331
+ - lib/new_relic/agent/instrumentation/grape/prepend.rb
323
332
  - lib/new_relic/agent/instrumentation/httpclient.rb
333
+ - lib/new_relic/agent/instrumentation/httpclient/chain.rb
334
+ - lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb
335
+ - lib/new_relic/agent/instrumentation/httpclient/prepend.rb
336
+ - lib/new_relic/agent/instrumentation/httprb.rb
337
+ - lib/new_relic/agent/instrumentation/httprb/chain.rb
338
+ - lib/new_relic/agent/instrumentation/httprb/instrumentation.rb
339
+ - lib/new_relic/agent/instrumentation/httprb/prepend.rb
324
340
  - lib/new_relic/agent/instrumentation/ignore_actions.rb
325
341
  - lib/new_relic/agent/instrumentation/memcache.rb
342
+ - lib/new_relic/agent/instrumentation/memcache/chain.rb
326
343
  - lib/new_relic/agent/instrumentation/memcache/dalli.rb
327
- - lib/new_relic/agent/instrumentation/merb/controller.rb
328
- - lib/new_relic/agent/instrumentation/merb/errors.rb
344
+ - lib/new_relic/agent/instrumentation/memcache/helper.rb
345
+ - lib/new_relic/agent/instrumentation/memcache/instrumentation.rb
346
+ - lib/new_relic/agent/instrumentation/memcache/prepend.rb
329
347
  - lib/new_relic/agent/instrumentation/middleware_proxy.rb
330
348
  - lib/new_relic/agent/instrumentation/middleware_tracing.rb
331
349
  - lib/new_relic/agent/instrumentation/mongo.rb
332
350
  - lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb
333
- - lib/new_relic/agent/instrumentation/net.rb
334
- - lib/new_relic/agent/instrumentation/net_prepend.rb
351
+ - lib/new_relic/agent/instrumentation/net_http.rb
352
+ - lib/new_relic/agent/instrumentation/net_http/chain.rb
353
+ - lib/new_relic/agent/instrumentation/net_http/instrumentation.rb
354
+ - lib/new_relic/agent/instrumentation/net_http/prepend.rb
335
355
  - lib/new_relic/agent/instrumentation/notifications_subscriber.rb
336
356
  - lib/new_relic/agent/instrumentation/padrino.rb
357
+ - lib/new_relic/agent/instrumentation/padrino/chain.rb
358
+ - lib/new_relic/agent/instrumentation/padrino/instrumentation.rb
359
+ - lib/new_relic/agent/instrumentation/padrino/prepend.rb
337
360
  - lib/new_relic/agent/instrumentation/passenger_instrumentation.rb
338
361
  - lib/new_relic/agent/instrumentation/queue_time.rb
339
362
  - lib/new_relic/agent/instrumentation/rack.rb
363
+ - lib/new_relic/agent/instrumentation/rack/chain.rb
364
+ - lib/new_relic/agent/instrumentation/rack/helpers.rb
365
+ - lib/new_relic/agent/instrumentation/rack/instrumentation.rb
366
+ - lib/new_relic/agent/instrumentation/rack/prepend.rb
340
367
  - lib/new_relic/agent/instrumentation/rails/action_controller.rb
341
368
  - lib/new_relic/agent/instrumentation/rails/action_web_service.rb
342
369
  - lib/new_relic/agent/instrumentation/rails3/action_controller.rb
@@ -346,16 +373,32 @@ files:
346
373
  - lib/new_relic/agent/instrumentation/rails_notifications/action_view.rb
347
374
  - lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb
348
375
  - lib/new_relic/agent/instrumentation/rake.rb
376
+ - lib/new_relic/agent/instrumentation/rake/chain.rb
377
+ - lib/new_relic/agent/instrumentation/rake/instrumentation.rb
378
+ - lib/new_relic/agent/instrumentation/rake/prepend.rb
349
379
  - lib/new_relic/agent/instrumentation/redis.rb
380
+ - lib/new_relic/agent/instrumentation/redis/chain.rb
381
+ - lib/new_relic/agent/instrumentation/redis/instrumentation.rb
382
+ - lib/new_relic/agent/instrumentation/redis/prepend.rb
350
383
  - lib/new_relic/agent/instrumentation/resque.rb
384
+ - lib/new_relic/agent/instrumentation/resque/chain.rb
385
+ - lib/new_relic/agent/instrumentation/resque/helper.rb
386
+ - lib/new_relic/agent/instrumentation/resque/instrumentation.rb
387
+ - lib/new_relic/agent/instrumentation/resque/prepend.rb
351
388
  - lib/new_relic/agent/instrumentation/sequel.rb
352
389
  - lib/new_relic/agent/instrumentation/sequel_helper.rb
353
390
  - lib/new_relic/agent/instrumentation/sidekiq.rb
354
391
  - lib/new_relic/agent/instrumentation/sinatra.rb
392
+ - lib/new_relic/agent/instrumentation/sinatra/chain.rb
355
393
  - lib/new_relic/agent/instrumentation/sinatra/ignorer.rb
394
+ - lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb
395
+ - lib/new_relic/agent/instrumentation/sinatra/prepend.rb
356
396
  - lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb
357
397
  - lib/new_relic/agent/instrumentation/sunspot.rb
358
398
  - lib/new_relic/agent/instrumentation/typhoeus.rb
399
+ - lib/new_relic/agent/instrumentation/typhoeus/chain.rb
400
+ - lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb
401
+ - lib/new_relic/agent/instrumentation/typhoeus/prepend.rb
359
402
  - lib/new_relic/agent/internal_agent_error.rb
360
403
  - lib/new_relic/agent/javascript_instrumentor.rb
361
404
  - lib/new_relic/agent/log_once.rb
@@ -456,7 +499,6 @@ files:
456
499
  - lib/new_relic/control/class_methods.rb
457
500
  - lib/new_relic/control/frameworks.rb
458
501
  - lib/new_relic/control/frameworks/external.rb
459
- - lib/new_relic/control/frameworks/merb.rb
460
502
  - lib/new_relic/control/frameworks/rails.rb
461
503
  - lib/new_relic/control/frameworks/rails3.rb
462
504
  - lib/new_relic/control/frameworks/rails4.rb
@@ -525,7 +567,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
525
567
  - !ruby/object:Gem::Version
526
568
  version: 1.3.1
527
569
  requirements: []
528
- rubygems_version: 3.1.4
570
+ rubygems_version: 3.1.6
529
571
  signing_key:
530
572
  specification_version: 4
531
573
  summary: New Relic Ruby Agent