newrelic_rpm 9.2.0 → 9.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/.build_ignore +26 -0
  3. data/CHANGELOG.md +197 -2
  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 +218 -63
  7. data/lib/new_relic/agent/configuration/environment_source.rb +1 -1
  8. data/lib/new_relic/agent/configuration/manager.rb +14 -0
  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/error_collector.rb +1 -1
  12. data/lib/new_relic/agent/instrumentation/action_controller_other_subscriber.rb +1 -1
  13. data/lib/new_relic/agent/instrumentation/active_record.rb +1 -1
  14. data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +2 -1
  15. data/lib/new_relic/agent/instrumentation/active_support_logger/instrumentation.rb +4 -0
  16. data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +9 -0
  17. data/lib/new_relic/agent/instrumentation/concurrent_ruby/chain.rb +1 -1
  18. data/lib/new_relic/agent/instrumentation/concurrent_ruby/instrumentation.rb +3 -4
  19. data/lib/new_relic/agent/instrumentation/concurrent_ruby/prepend.rb +1 -1
  20. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +1 -2
  21. data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +4 -0
  22. data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +3 -0
  23. data/lib/new_relic/agent/instrumentation/elasticsearch/instrumentation.rb +4 -1
  24. data/lib/new_relic/agent/instrumentation/excon/middleware.rb +3 -0
  25. data/lib/new_relic/agent/instrumentation/fiber/chain.rb +10 -3
  26. data/lib/new_relic/agent/instrumentation/fiber/instrumentation.rb +1 -2
  27. data/lib/new_relic/agent/instrumentation/fiber/prepend.rb +10 -3
  28. data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +4 -0
  29. data/lib/new_relic/agent/instrumentation/grpc/client/instrumentation.rb +4 -0
  30. data/lib/new_relic/agent/instrumentation/grpc/server/instrumentation.rb +4 -0
  31. data/lib/new_relic/agent/instrumentation/grpc_client.rb +1 -1
  32. data/lib/new_relic/agent/instrumentation/grpc_server.rb +1 -1
  33. data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +4 -0
  34. data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +4 -0
  35. data/lib/new_relic/agent/instrumentation/logger/instrumentation.rb +3 -0
  36. data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +12 -3
  37. data/lib/new_relic/agent/instrumentation/memcache.rb +2 -2
  38. data/lib/new_relic/agent/instrumentation/net_http/instrumentation.rb +4 -0
  39. data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +4 -0
  40. data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +4 -0
  41. data/lib/new_relic/agent/instrumentation/queue_time.rb +1 -1
  42. data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +6 -0
  43. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +4 -0
  44. data/lib/new_relic/agent/instrumentation/rails_notifications/action_cable.rb +1 -1
  45. data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +4 -0
  46. data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +4 -0
  47. data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +4 -0
  48. data/lib/new_relic/agent/instrumentation/roda/chain.rb +43 -0
  49. data/lib/new_relic/agent/instrumentation/roda/instrumentation.rb +56 -0
  50. data/lib/new_relic/agent/instrumentation/roda/prepend.rb +24 -0
  51. data/lib/new_relic/agent/instrumentation/roda/roda_transaction_namer.rb +30 -0
  52. data/lib/new_relic/agent/instrumentation/roda.rb +34 -0
  53. data/lib/new_relic/agent/instrumentation/sequel.rb +1 -1
  54. data/lib/new_relic/agent/instrumentation/sidekiq/client.rb +4 -0
  55. data/lib/new_relic/agent/instrumentation/sidekiq/server.rb +26 -3
  56. data/lib/new_relic/agent/instrumentation/sidekiq.rb +2 -2
  57. data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +4 -0
  58. data/lib/new_relic/agent/instrumentation/stripe.rb +28 -0
  59. data/lib/new_relic/agent/instrumentation/stripe_subscriber.rb +77 -0
  60. data/lib/new_relic/agent/instrumentation/thread/chain.rb +1 -1
  61. data/lib/new_relic/agent/instrumentation/thread/instrumentation.rb +0 -1
  62. data/lib/new_relic/agent/instrumentation/thread/prepend.rb +1 -1
  63. data/lib/new_relic/agent/instrumentation/tilt/instrumentation.rb +4 -0
  64. data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +5 -1
  65. data/lib/new_relic/agent/log_event_aggregator.rb +49 -2
  66. data/lib/new_relic/agent/log_event_attributes.rb +115 -0
  67. data/lib/new_relic/agent/logging.rb +4 -4
  68. data/lib/new_relic/agent/method_tracer_helpers.rb +26 -5
  69. data/lib/new_relic/agent/new_relic_service.rb +33 -17
  70. data/lib/new_relic/agent/pipe_service.rb +1 -1
  71. data/lib/new_relic/agent/tracer.rb +7 -6
  72. data/lib/new_relic/agent/transaction/abstract_segment.rb +52 -0
  73. data/lib/new_relic/agent/transaction/request_attributes.rb +45 -7
  74. data/lib/new_relic/agent/transaction/tracing.rb +6 -0
  75. data/lib/new_relic/agent/transaction.rb +9 -4
  76. data/lib/new_relic/agent/utilization/vendor.rb +5 -7
  77. data/lib/new_relic/agent.rb +50 -1
  78. data/lib/new_relic/cli/command.rb +1 -0
  79. data/lib/new_relic/control/class_methods.rb +1 -7
  80. data/lib/new_relic/control/frameworks/roda.rb +20 -0
  81. data/lib/new_relic/control/instrumentation.rb +0 -14
  82. data/lib/new_relic/dependency_detection.rb +16 -1
  83. data/lib/new_relic/language_support.rb +5 -0
  84. data/lib/new_relic/latest_changes.rb +1 -1
  85. data/lib/new_relic/noticed_error.rb +5 -2
  86. data/lib/new_relic/rack/agent_hooks.rb +1 -1
  87. data/lib/new_relic/rack/agent_middleware.rb +0 -16
  88. data/lib/new_relic/rack/browser_monitoring.rb +1 -1
  89. data/lib/new_relic/supportability_helper.rb +2 -0
  90. data/lib/new_relic/traced_thread.rb +2 -3
  91. data/lib/new_relic/version.rb +1 -1
  92. data/lib/sequel/extensions/new_relic_instrumentation.rb +1 -1
  93. data/lib/tasks/bump_version.rake +21 -0
  94. data/lib/tasks/config.rake +3 -2
  95. data/lib/tasks/helpers/config.html.erb +93 -0
  96. data/lib/tasks/helpers/format.rb +11 -7
  97. data/lib/tasks/helpers/newrelicyml.rb +144 -0
  98. data/lib/tasks/helpers/version_bump.rb +62 -0
  99. data/lib/tasks/newrelicyml.rake +13 -0
  100. data/newrelic.yml +364 -267
  101. data/newrelic_rpm.gemspec +11 -7
  102. metadata +36 -25
  103. data/.gitignore +0 -43
  104. data/.project +0 -23
  105. data/.rubocop.yml +0 -1845
  106. data/.rubocop_todo.yml +0 -61
  107. data/.simplecov +0 -16
  108. data/.snyk +0 -11
  109. data/.yardopts +0 -27
  110. data/Brewfile +0 -13
  111. data/DOCKER.md +0 -167
  112. data/Dockerfile +0 -10
  113. data/Guardfile +0 -27
  114. data/config/database.yml +0 -5
  115. data/config.dot +0 -278
  116. data/docker-compose.yml +0 -107
  117. data/lefthook.yml +0 -9
  118. data/lib/tasks/helpers/removers.rb +0 -33
  119. data/lib/tasks/multiverse.rake +0 -6
  120. data/lib/tasks/multiverse.rb +0 -84
data/newrelic_rpm.gemspec CHANGED
@@ -21,6 +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
+ # TODO: MAJOR VERSION - remove newrelic_cmd, deprecated since version 2.13
24
25
  s.executables = %w[newrelic_cmd newrelic nrdebug]
25
26
  s.extra_rdoc_files = [
26
27
  'CHANGELOG.md',
@@ -38,12 +39,14 @@ Gem::Specification.new do |s|
38
39
  'homepage_uri' => 'https://newrelic.com/ruby'
39
40
  }
40
41
 
41
- file_list = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|infinite_tracing|\.github)/(?!agent_helper.rb)}) }
42
- build_file_path = 'lib/new_relic/build.rb'
43
- file_list << build_file_path if File.exist?(build_file_path)
42
+ reject_list = File.read(File.expand_path('../.build_ignore', __FILE__)).split("\n")
43
+ file_list = `git ls-files -z`.split("\x0").reject { |f| reject_list.any? { |rf| f.start_with?(rf) } }
44
+ # test/agent_helper.rb is a requirement for the NewRelic::Agent.require_test_helper public API
45
+ test_helper_path = 'test/agent_helper.rb'
46
+ file_list << test_helper_path
44
47
  s.files = file_list
45
48
 
46
- s.homepage = 'https://github.com/newrelic/rpm'
49
+ s.homepage = 'https://github.com/newrelic/newrelic-ruby-agent'
47
50
  s.require_paths = ['lib']
48
51
  s.summary = 'New Relic Ruby Agent'
49
52
  s.add_development_dependency 'bundler'
@@ -53,16 +56,17 @@ Gem::Specification.new do |s|
53
56
  s.add_development_dependency 'minitest-stub-const', '0.6'
54
57
  s.add_development_dependency 'mocha', '~> 1.16'
55
58
  s.add_development_dependency 'pry' unless ENV['CI']
59
+ s.add_development_dependency 'rack'
56
60
  s.add_development_dependency 'rake', '12.3.3'
57
61
 
58
- s.add_development_dependency 'rubocop', '1.44.1' unless ENV['CI'] && RUBY_VERSION < '3.0.0'
59
- s.add_development_dependency 'rubocop-ast', '1.24.1' unless ENV['CI'] && RUBY_VERSION < '3.0.0'
62
+ s.add_development_dependency 'rubocop', '1.54' unless ENV['CI'] && RUBY_VERSION < '3.0.0'
63
+ s.add_development_dependency 'rubocop-ast', '1.28.1' unless ENV['CI'] && RUBY_VERSION < '3.0.0'
60
64
  s.add_development_dependency 'rubocop-minitest', '0.27.0' unless ENV['CI'] && RUBY_VERSION < '3.0.0'
61
65
  s.add_development_dependency 'rubocop-performance', '1.16.0' unless ENV['CI'] && RUBY_VERSION < '3.0.0'
62
66
  s.add_development_dependency 'rubocop-rake', '0.6.0' unless ENV['CI'] && RUBY_VERSION < '3.0.0'
63
67
 
64
68
  s.add_development_dependency 'simplecov' if RUBY_VERSION >= '2.7.0'
65
69
  s.add_development_dependency 'thor' unless ENV['CI']
66
- s.add_development_dependency 'warning' if RUBY_VERSION >= '2.4.0'
70
+ s.add_development_dependency 'warning'
67
71
  s.add_development_dependency 'yard'
68
72
  end
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.2.0
4
+ version: 9.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanna McClure
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2023-04-17 00:00:00.000000000 Z
14
+ date: 2023-09-12 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler
@@ -69,6 +69,20 @@ dependencies:
69
69
  - - "~>"
70
70
  - !ruby/object:Gem::Version
71
71
  version: '1.16'
72
+ - !ruby/object:Gem::Dependency
73
+ name: rack
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
72
86
  - !ruby/object:Gem::Dependency
73
87
  name: rake
74
88
  requirement: !ruby/object:Gem::Requirement
@@ -89,28 +103,28 @@ dependencies:
89
103
  requirements:
90
104
  - - '='
91
105
  - !ruby/object:Gem::Version
92
- version: 1.44.1
106
+ version: '1.54'
93
107
  type: :development
94
108
  prerelease: false
95
109
  version_requirements: !ruby/object:Gem::Requirement
96
110
  requirements:
97
111
  - - '='
98
112
  - !ruby/object:Gem::Version
99
- version: 1.44.1
113
+ version: '1.54'
100
114
  - !ruby/object:Gem::Dependency
101
115
  name: rubocop-ast
102
116
  requirement: !ruby/object:Gem::Requirement
103
117
  requirements:
104
118
  - - '='
105
119
  - !ruby/object:Gem::Version
106
- version: 1.24.1
120
+ version: 1.28.1
107
121
  type: :development
108
122
  prerelease: false
109
123
  version_requirements: !ruby/object:Gem::Requirement
110
124
  requirements:
111
125
  - - '='
112
126
  - !ruby/object:Gem::Version
113
- version: 1.24.1
127
+ version: 1.28.1
114
128
  - !ruby/object:Gem::Dependency
115
129
  name: rubocop-minitest
116
130
  requirement: !ruby/object:Gem::Requirement
@@ -215,20 +229,10 @@ extra_rdoc_files:
215
229
  - CONTRIBUTING.md
216
230
  - newrelic.yml
217
231
  files:
218
- - ".gitignore"
219
- - ".project"
220
- - ".rubocop.yml"
221
- - ".rubocop_todo.yml"
222
- - ".simplecov"
223
- - ".snyk"
224
- - ".yardopts"
225
- - Brewfile
232
+ - ".build_ignore"
226
233
  - CHANGELOG.md
227
234
  - CONTRIBUTING.md
228
- - DOCKER.md
229
- - Dockerfile
230
235
  - Gemfile
231
- - Guardfile
232
236
  - LICENSE
233
237
  - README.md
234
238
  - Rakefile
@@ -237,12 +241,8 @@ files:
237
241
  - bin/newrelic
238
242
  - bin/newrelic_cmd
239
243
  - bin/nrdebug
240
- - config.dot
241
- - config/database.yml
242
- - docker-compose.yml
243
244
  - init.rb
244
245
  - install.rb
245
- - lefthook.yml
246
246
  - lib/new_relic/agent.rb
247
247
  - lib/new_relic/agent/adaptive_sampler.rb
248
248
  - lib/new_relic/agent/agent.rb
@@ -255,6 +255,7 @@ files:
255
255
  - lib/new_relic/agent/agent_helpers/transmit.rb
256
256
  - lib/new_relic/agent/agent_logger.rb
257
257
  - lib/new_relic/agent/attribute_filter.rb
258
+ - lib/new_relic/agent/attribute_pre_filtering.rb
258
259
  - lib/new_relic/agent/attribute_processing.rb
259
260
  - lib/new_relic/agent/attributes.rb
260
261
  - lib/new_relic/agent/audit_logger.rb
@@ -454,6 +455,11 @@ files:
454
455
  - lib/new_relic/agent/instrumentation/resque/helper.rb
455
456
  - lib/new_relic/agent/instrumentation/resque/instrumentation.rb
456
457
  - lib/new_relic/agent/instrumentation/resque/prepend.rb
458
+ - lib/new_relic/agent/instrumentation/roda.rb
459
+ - lib/new_relic/agent/instrumentation/roda/chain.rb
460
+ - lib/new_relic/agent/instrumentation/roda/instrumentation.rb
461
+ - lib/new_relic/agent/instrumentation/roda/prepend.rb
462
+ - lib/new_relic/agent/instrumentation/roda/roda_transaction_namer.rb
457
463
  - lib/new_relic/agent/instrumentation/sequel.rb
458
464
  - lib/new_relic/agent/instrumentation/sequel_helper.rb
459
465
  - lib/new_relic/agent/instrumentation/sidekiq.rb
@@ -466,6 +472,8 @@ files:
466
472
  - lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb
467
473
  - lib/new_relic/agent/instrumentation/sinatra/prepend.rb
468
474
  - lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb
475
+ - lib/new_relic/agent/instrumentation/stripe.rb
476
+ - lib/new_relic/agent/instrumentation/stripe_subscriber.rb
469
477
  - lib/new_relic/agent/instrumentation/thread.rb
470
478
  - lib/new_relic/agent/instrumentation/thread/chain.rb
471
479
  - lib/new_relic/agent/instrumentation/thread/instrumentation.rb
@@ -483,6 +491,7 @@ files:
483
491
  - lib/new_relic/agent/linking_metadata.rb
484
492
  - lib/new_relic/agent/local_log_decorator.rb
485
493
  - lib/new_relic/agent/log_event_aggregator.rb
494
+ - lib/new_relic/agent/log_event_attributes.rb
486
495
  - lib/new_relic/agent/log_once.rb
487
496
  - lib/new_relic/agent/log_priority.rb
488
497
  - lib/new_relic/agent/logging.rb
@@ -584,6 +593,7 @@ files:
584
593
  - lib/new_relic/control/frameworks/rails3.rb
585
594
  - lib/new_relic/control/frameworks/rails4.rb
586
595
  - lib/new_relic/control/frameworks/rails_notifications.rb
596
+ - lib/new_relic/control/frameworks/roda.rb
587
597
  - lib/new_relic/control/frameworks/ruby.rb
588
598
  - lib/new_relic/control/frameworks/sinatra.rb
589
599
  - lib/new_relic/control/instance_methods.rb
@@ -615,14 +625,16 @@ files:
615
625
  - lib/sequel/extensions/new_relic_instrumentation.rb
616
626
  - lib/sequel/plugins/new_relic_instrumentation.rb
617
627
  - lib/tasks/all.rb
628
+ - lib/tasks/bump_version.rake
618
629
  - lib/tasks/config.rake
619
630
  - lib/tasks/coverage_report.rake
620
631
  - lib/tasks/helpers/config.html.erb
621
632
  - lib/tasks/helpers/config.text.erb
622
633
  - lib/tasks/helpers/format.rb
623
634
  - lib/tasks/helpers/matches.rb
635
+ - lib/tasks/helpers/newrelicyml.rb
624
636
  - lib/tasks/helpers/prompt.rb
625
- - lib/tasks/helpers/removers.rb
637
+ - lib/tasks/helpers/version_bump.rb
626
638
  - lib/tasks/install.rake
627
639
  - lib/tasks/instrumentation_generator/README.md
628
640
  - lib/tasks/instrumentation_generator/TODO.md
@@ -637,15 +649,14 @@ files:
637
649
  - lib/tasks/instrumentation_generator/templates/prepend.tt
638
650
  - lib/tasks/instrumentation_generator/templates/prepend_method.tt
639
651
  - lib/tasks/instrumentation_generator/templates/test.tt
640
- - lib/tasks/multiverse.rake
641
- - lib/tasks/multiverse.rb
642
652
  - lib/tasks/newrelic.rb
653
+ - lib/tasks/newrelicyml.rake
643
654
  - lib/tasks/tests.rake
644
655
  - newrelic.yml
645
656
  - newrelic_rpm.gemspec
646
657
  - recipes/newrelic.rb
647
658
  - test/agent_helper.rb
648
- homepage: https://github.com/newrelic/rpm
659
+ homepage: https://github.com/newrelic/newrelic-ruby-agent
649
660
  licenses:
650
661
  - Apache-2.0
651
662
  metadata:
data/.gitignore DELETED
@@ -1,43 +0,0 @@
1
- .ruby-version
2
- Gemfile.lock
3
- Guard*
4
- .DS\_Store
5
- .svn/
6
- *~
7
- *.rbc
8
- pkg/
9
- *.gem
10
- !rails
11
- .idea/
12
- tmp/
13
- TAGS
14
- tags
15
- *.swp
16
- *.swo
17
-
18
- coverage
19
- /doc/
20
- /log/
21
- /lerg/
22
- gems/newrelic_rpm.gemspec
23
- gems/newrelic_rpm*.tar.gz
24
- lib/new_relic/build.rb
25
- .pryrc
26
- .tm_properties
27
- .bundle
28
- .yardoc
29
- artifacts/
30
- test/performance/log/
31
- test/performance/script/log/
32
- infinite_tracing/log/
33
- test/fixtures/cross_agent_tests/*/README.md
34
- node_modules/
35
- yarn.lock
36
- package-lock.json
37
- errors.txt
38
- .history/
39
- vendor/
40
- Brewfile.lock.json
41
- .github/actions/simplecov-report/lib/
42
- test/minitest/minitest_time_report
43
- gem_manifest_*.json
data/.project DELETED
@@ -1,23 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <projectDescription>
3
- <name>New Relic Agent</name>
4
- <comment></comment>
5
- <projects>
6
- </projects>
7
- <buildSpec>
8
- <buildCommand>
9
- <name>com.aptana.ide.core.unifiedBuilder</name>
10
- <arguments>
11
- </arguments>
12
- </buildCommand>
13
- <buildCommand>
14
- <name>org.rubypeople.rdt.core.rubybuilder</name>
15
- <arguments>
16
- </arguments>
17
- </buildCommand>
18
- </buildSpec>
19
- <natures>
20
- <nature>com.aptana.ruby.core.rubynature</nature>
21
- <nature>org.rubypeople.rdt.core.rubynature</nature>
22
- </natures>
23
- </projectDescription>