newrelic_rpm 9.4.2 → 9.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +138 -10
  3. data/Rakefile +1 -1
  4. data/lib/new_relic/agent/attribute_pre_filtering.rb +109 -0
  5. data/lib/new_relic/agent/configuration/default_source.rb +153 -33
  6. data/lib/new_relic/agent/http_clients/async_http_wrappers.rb +83 -0
  7. data/lib/new_relic/agent/http_clients/ethon_wrappers.rb +111 -0
  8. data/lib/new_relic/agent/http_clients/httpx_wrappers.rb +93 -0
  9. data/lib/new_relic/agent/instrumentation/active_record_helper.rb +1 -2
  10. data/lib/new_relic/agent/instrumentation/active_support_broadcast_logger/chain.rb +69 -0
  11. data/lib/new_relic/agent/instrumentation/active_support_broadcast_logger/instrumentation.rb +13 -0
  12. data/lib/new_relic/agent/instrumentation/active_support_broadcast_logger/prepend.rb +37 -0
  13. data/lib/new_relic/agent/instrumentation/active_support_broadcast_logger.rb +23 -0
  14. data/lib/new_relic/agent/instrumentation/active_support_logger/instrumentation.rb +4 -0
  15. data/lib/new_relic/agent/instrumentation/active_support_logger.rb +3 -1
  16. data/lib/new_relic/agent/instrumentation/async_http/chain.rb +23 -0
  17. data/lib/new_relic/agent/instrumentation/async_http/instrumentation.rb +37 -0
  18. data/lib/new_relic/agent/instrumentation/async_http/prepend.rb +15 -0
  19. data/lib/new_relic/agent/instrumentation/async_http.rb +26 -0
  20. data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +9 -0
  21. data/lib/new_relic/agent/instrumentation/concurrent_ruby/instrumentation.rb +2 -2
  22. data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +4 -0
  23. data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +3 -0
  24. data/lib/new_relic/agent/instrumentation/elasticsearch/instrumentation.rb +4 -1
  25. data/lib/new_relic/agent/instrumentation/ethon/chain.rb +39 -0
  26. data/lib/new_relic/agent/instrumentation/ethon/instrumentation.rb +105 -0
  27. data/lib/new_relic/agent/instrumentation/ethon/prepend.rb +35 -0
  28. data/lib/new_relic/agent/instrumentation/ethon.rb +39 -0
  29. data/lib/new_relic/agent/instrumentation/excon/middleware.rb +3 -0
  30. data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +4 -0
  31. data/lib/new_relic/agent/instrumentation/grpc/client/instrumentation.rb +4 -0
  32. data/lib/new_relic/agent/instrumentation/grpc/server/instrumentation.rb +4 -0
  33. data/lib/new_relic/agent/instrumentation/grpc_client.rb +1 -1
  34. data/lib/new_relic/agent/instrumentation/grpc_server.rb +1 -1
  35. data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +4 -0
  36. data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +4 -0
  37. data/lib/new_relic/agent/instrumentation/httpx/chain.rb +20 -0
  38. data/lib/new_relic/agent/instrumentation/httpx/instrumentation.rb +51 -0
  39. data/lib/new_relic/agent/instrumentation/httpx/prepend.rb +15 -0
  40. data/lib/new_relic/agent/instrumentation/httpx.rb +27 -0
  41. data/lib/new_relic/agent/instrumentation/logger/instrumentation.rb +3 -0
  42. data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +9 -0
  43. data/lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb +1 -3
  44. data/lib/new_relic/agent/instrumentation/net_http/instrumentation.rb +5 -1
  45. data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +4 -0
  46. data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +4 -0
  47. data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +6 -0
  48. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +4 -0
  49. data/lib/new_relic/agent/instrumentation/rails_notifications/action_controller.rb +1 -0
  50. data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +4 -0
  51. data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +4 -0
  52. data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +4 -0
  53. data/lib/new_relic/agent/instrumentation/roda/ignorer.rb +45 -0
  54. data/lib/new_relic/agent/instrumentation/roda/instrumentation.rb +16 -0
  55. data/lib/new_relic/agent/instrumentation/roda/roda_transaction_namer.rb +1 -2
  56. data/lib/new_relic/agent/instrumentation/roda.rb +2 -0
  57. data/lib/new_relic/agent/instrumentation/sidekiq/client.rb +4 -0
  58. data/lib/new_relic/agent/instrumentation/sidekiq/server.rb +26 -3
  59. data/lib/new_relic/agent/instrumentation/sidekiq.rb +5 -3
  60. data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +4 -0
  61. data/lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb +1 -3
  62. data/lib/new_relic/agent/instrumentation/stripe.rb +28 -0
  63. data/lib/new_relic/agent/instrumentation/stripe_subscriber.rb +77 -0
  64. data/lib/new_relic/agent/instrumentation/tilt/instrumentation.rb +4 -0
  65. data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +5 -1
  66. data/lib/new_relic/agent/messaging.rb +2 -2
  67. data/lib/new_relic/agent/monitors/synthetics_monitor.rb +12 -1
  68. data/lib/new_relic/agent/rules_engine.rb +1 -1
  69. data/lib/new_relic/agent/span_event_primitive.rb +16 -4
  70. data/lib/new_relic/agent/system_info.rb +26 -0
  71. data/lib/new_relic/agent/tracer.rb +1 -3
  72. data/lib/new_relic/agent/transaction/abstract_segment.rb +55 -0
  73. data/lib/new_relic/agent/transaction/external_request_segment.rb +5 -2
  74. data/lib/new_relic/agent/transaction/message_broker_segment.rb +1 -2
  75. data/lib/new_relic/agent/transaction/request_attributes.rb +1 -3
  76. data/lib/new_relic/agent/transaction.rb +25 -2
  77. data/lib/new_relic/agent/transaction_error_primitive.rb +16 -0
  78. data/lib/new_relic/agent/transaction_event_primitive.rb +19 -0
  79. data/lib/new_relic/agent/utilization/gcp.rb +1 -3
  80. data/lib/new_relic/agent.rb +18 -2
  81. data/lib/new_relic/constants.rb +3 -0
  82. data/lib/new_relic/control/frameworks/rails.rb +14 -2
  83. data/lib/new_relic/language_support.rb +4 -0
  84. data/lib/new_relic/rack/agent_hooks.rb +1 -1
  85. data/lib/new_relic/rack/agent_middleware.rb +0 -16
  86. data/lib/new_relic/supportability_helper.rb +1 -0
  87. data/lib/new_relic/version.rb +2 -2
  88. data/lib/tasks/instrumentation_generator/instrumentation.thor +3 -3
  89. data/lib/tasks/tests.rake +71 -0
  90. data/newrelic.yml +93 -32
  91. data/newrelic_rpm.gemspec +4 -1
  92. metadata +39 -2
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: 9.4.2
4
+ version: 9.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanna McClure
@@ -11,8 +11,22 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2023-08-18 00:00:00.000000000 Z
14
+ date: 2023-10-30 00:00:00.000000000 Z
15
15
  dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: base64
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
16
30
  - !ruby/object:Gem::Dependency
17
31
  name: bundler
18
32
  requirement: !ruby/object:Gem::Requirement
@@ -255,6 +269,7 @@ files:
255
269
  - lib/new_relic/agent/agent_helpers/transmit.rb
256
270
  - lib/new_relic/agent/agent_logger.rb
257
271
  - lib/new_relic/agent/attribute_filter.rb
272
+ - lib/new_relic/agent/attribute_pre_filtering.rb
258
273
  - lib/new_relic/agent/attribute_processing.rb
259
274
  - lib/new_relic/agent/attributes.rb
260
275
  - lib/new_relic/agent/audit_logger.rb
@@ -316,10 +331,13 @@ files:
316
331
  - lib/new_relic/agent/heap.rb
317
332
  - lib/new_relic/agent/hostname.rb
318
333
  - lib/new_relic/agent/http_clients/abstract.rb
334
+ - lib/new_relic/agent/http_clients/async_http_wrappers.rb
319
335
  - lib/new_relic/agent/http_clients/curb_wrappers.rb
336
+ - lib/new_relic/agent/http_clients/ethon_wrappers.rb
320
337
  - lib/new_relic/agent/http_clients/excon_wrappers.rb
321
338
  - lib/new_relic/agent/http_clients/http_rb_wrappers.rb
322
339
  - lib/new_relic/agent/http_clients/httpclient_wrappers.rb
340
+ - lib/new_relic/agent/http_clients/httpx_wrappers.rb
323
341
  - lib/new_relic/agent/http_clients/net_http_wrappers.rb
324
342
  - lib/new_relic/agent/http_clients/typhoeus_wrappers.rb
325
343
  - lib/new_relic/agent/http_clients/uri_util.rb
@@ -345,11 +363,19 @@ files:
345
363
  - lib/new_relic/agent/instrumentation/active_storage.rb
346
364
  - lib/new_relic/agent/instrumentation/active_storage_subscriber.rb
347
365
  - lib/new_relic/agent/instrumentation/active_support.rb
366
+ - lib/new_relic/agent/instrumentation/active_support_broadcast_logger.rb
367
+ - lib/new_relic/agent/instrumentation/active_support_broadcast_logger/chain.rb
368
+ - lib/new_relic/agent/instrumentation/active_support_broadcast_logger/instrumentation.rb
369
+ - lib/new_relic/agent/instrumentation/active_support_broadcast_logger/prepend.rb
348
370
  - lib/new_relic/agent/instrumentation/active_support_logger.rb
349
371
  - lib/new_relic/agent/instrumentation/active_support_logger/chain.rb
350
372
  - lib/new_relic/agent/instrumentation/active_support_logger/instrumentation.rb
351
373
  - lib/new_relic/agent/instrumentation/active_support_logger/prepend.rb
352
374
  - lib/new_relic/agent/instrumentation/active_support_subscriber.rb
375
+ - lib/new_relic/agent/instrumentation/async_http.rb
376
+ - lib/new_relic/agent/instrumentation/async_http/chain.rb
377
+ - lib/new_relic/agent/instrumentation/async_http/instrumentation.rb
378
+ - lib/new_relic/agent/instrumentation/async_http/prepend.rb
353
379
  - lib/new_relic/agent/instrumentation/bunny.rb
354
380
  - lib/new_relic/agent/instrumentation/bunny/chain.rb
355
381
  - lib/new_relic/agent/instrumentation/bunny/instrumentation.rb
@@ -373,6 +399,10 @@ files:
373
399
  - lib/new_relic/agent/instrumentation/elasticsearch/chain.rb
374
400
  - lib/new_relic/agent/instrumentation/elasticsearch/instrumentation.rb
375
401
  - lib/new_relic/agent/instrumentation/elasticsearch/prepend.rb
402
+ - lib/new_relic/agent/instrumentation/ethon.rb
403
+ - lib/new_relic/agent/instrumentation/ethon/chain.rb
404
+ - lib/new_relic/agent/instrumentation/ethon/instrumentation.rb
405
+ - lib/new_relic/agent/instrumentation/ethon/prepend.rb
376
406
  - lib/new_relic/agent/instrumentation/excon.rb
377
407
  - lib/new_relic/agent/instrumentation/excon/middleware.rb
378
408
  - lib/new_relic/agent/instrumentation/fiber.rb
@@ -402,6 +432,10 @@ files:
402
432
  - lib/new_relic/agent/instrumentation/httprb/chain.rb
403
433
  - lib/new_relic/agent/instrumentation/httprb/instrumentation.rb
404
434
  - lib/new_relic/agent/instrumentation/httprb/prepend.rb
435
+ - lib/new_relic/agent/instrumentation/httpx.rb
436
+ - lib/new_relic/agent/instrumentation/httpx/chain.rb
437
+ - lib/new_relic/agent/instrumentation/httpx/instrumentation.rb
438
+ - lib/new_relic/agent/instrumentation/httpx/prepend.rb
405
439
  - lib/new_relic/agent/instrumentation/ignore_actions.rb
406
440
  - lib/new_relic/agent/instrumentation/logger.rb
407
441
  - lib/new_relic/agent/instrumentation/logger/chain.rb
@@ -456,6 +490,7 @@ files:
456
490
  - lib/new_relic/agent/instrumentation/resque/prepend.rb
457
491
  - lib/new_relic/agent/instrumentation/roda.rb
458
492
  - lib/new_relic/agent/instrumentation/roda/chain.rb
493
+ - lib/new_relic/agent/instrumentation/roda/ignorer.rb
459
494
  - lib/new_relic/agent/instrumentation/roda/instrumentation.rb
460
495
  - lib/new_relic/agent/instrumentation/roda/prepend.rb
461
496
  - lib/new_relic/agent/instrumentation/roda/roda_transaction_namer.rb
@@ -471,6 +506,8 @@ files:
471
506
  - lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb
472
507
  - lib/new_relic/agent/instrumentation/sinatra/prepend.rb
473
508
  - lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb
509
+ - lib/new_relic/agent/instrumentation/stripe.rb
510
+ - lib/new_relic/agent/instrumentation/stripe_subscriber.rb
474
511
  - lib/new_relic/agent/instrumentation/thread.rb
475
512
  - lib/new_relic/agent/instrumentation/thread/chain.rb
476
513
  - lib/new_relic/agent/instrumentation/thread/instrumentation.rb