newrelic_rpm 6.13.0 → 7.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +231 -0
  4. data/CONTRIBUTING.md +13 -2
  5. data/README.md +2 -2
  6. data/lib/new_relic/agent.rb +5 -8
  7. data/lib/new_relic/agent/agent.rb +4 -5
  8. data/lib/new_relic/agent/audit_logger.rb +10 -0
  9. data/lib/new_relic/agent/autostart.rb +1 -2
  10. data/lib/new_relic/agent/configuration/default_source.rb +412 -220
  11. data/lib/new_relic/agent/configuration/manager.rb +2 -2
  12. data/lib/new_relic/agent/database_adapter.rb +33 -0
  13. data/lib/new_relic/agent/datastores/redis.rb +0 -4
  14. data/lib/new_relic/agent/distributed_tracing.rb +0 -66
  15. data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +2 -2
  16. data/lib/new_relic/agent/http_clients/uri_util.rb +1 -1
  17. data/lib/new_relic/agent/instrumentation/action_view_subscriber.rb +4 -5
  18. data/lib/new_relic/agent/instrumentation/active_record_helper.rb +21 -68
  19. data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +0 -16
  20. data/lib/new_relic/agent/instrumentation/active_record_prepend.rb +23 -57
  21. data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +1 -3
  22. data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +0 -15
  23. data/lib/new_relic/agent/instrumentation/bunny.rb +10 -196
  24. data/lib/new_relic/agent/instrumentation/bunny/chain.rb +45 -0
  25. data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +152 -0
  26. data/lib/new_relic/agent/instrumentation/bunny/prepend.rb +35 -0
  27. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +1 -0
  28. data/lib/new_relic/agent/instrumentation/curb.rb +9 -259
  29. data/lib/new_relic/agent/instrumentation/curb/chain.rb +93 -0
  30. data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +222 -0
  31. data/lib/new_relic/agent/instrumentation/curb/prepend.rb +63 -0
  32. data/lib/new_relic/agent/instrumentation/delayed_job/chain.rb +38 -0
  33. data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +53 -0
  34. data/lib/new_relic/agent/instrumentation/delayed_job/prepend.rb +34 -0
  35. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +8 -84
  36. data/lib/new_relic/agent/instrumentation/excon.rb +2 -1
  37. data/lib/new_relic/agent/instrumentation/grape.rb +13 -113
  38. data/lib/new_relic/agent/instrumentation/grape/chain.rb +25 -0
  39. data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +100 -0
  40. data/lib/new_relic/agent/instrumentation/grape/prepend.rb +17 -0
  41. data/lib/new_relic/agent/instrumentation/httpclient.rb +8 -30
  42. data/lib/new_relic/agent/instrumentation/httpclient/chain.rb +25 -0
  43. data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +38 -0
  44. data/lib/new_relic/agent/instrumentation/httpclient/prepend.rb +17 -0
  45. data/lib/new_relic/agent/instrumentation/httprb.rb +29 -0
  46. data/lib/new_relic/agent/instrumentation/httprb/chain.rb +22 -0
  47. data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +30 -0
  48. data/lib/new_relic/agent/instrumentation/httprb/prepend.rb +15 -0
  49. data/lib/new_relic/agent/instrumentation/memcache.rb +54 -69
  50. data/lib/new_relic/agent/instrumentation/memcache/chain.rb +16 -0
  51. data/lib/new_relic/agent/instrumentation/memcache/dalli.rb +38 -121
  52. data/lib/new_relic/agent/instrumentation/memcache/helper.rb +56 -0
  53. data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +88 -0
  54. data/lib/new_relic/agent/instrumentation/memcache/prepend.rb +88 -0
  55. data/lib/new_relic/agent/instrumentation/middleware_proxy.rb +4 -10
  56. data/lib/new_relic/agent/instrumentation/mongo.rb +7 -0
  57. data/lib/new_relic/agent/instrumentation/net_http.rb +44 -0
  58. data/lib/new_relic/agent/instrumentation/net_http/chain.rb +25 -0
  59. data/lib/new_relic/agent/instrumentation/net_http/instrumentation.rb +40 -0
  60. data/lib/new_relic/agent/instrumentation/net_http/prepend.rb +21 -0
  61. data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +1 -1
  62. data/lib/new_relic/agent/instrumentation/padrino.rb +18 -75
  63. data/lib/new_relic/agent/instrumentation/padrino/chain.rb +34 -0
  64. data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +27 -0
  65. data/lib/new_relic/agent/instrumentation/padrino/prepend.rb +20 -0
  66. data/lib/new_relic/agent/instrumentation/rack.rb +29 -160
  67. data/lib/new_relic/agent/instrumentation/rack/chain.rb +57 -0
  68. data/lib/new_relic/agent/instrumentation/rack/helpers.rb +32 -0
  69. data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +73 -0
  70. data/lib/new_relic/agent/instrumentation/rack/prepend.rb +36 -0
  71. data/lib/new_relic/agent/instrumentation/rake.rb +13 -188
  72. data/lib/new_relic/agent/instrumentation/rake/chain.rb +25 -0
  73. data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +144 -0
  74. data/lib/new_relic/agent/instrumentation/rake/prepend.rb +14 -0
  75. data/lib/new_relic/agent/instrumentation/redis.rb +12 -186
  76. data/lib/new_relic/agent/instrumentation/redis/chain.rb +34 -0
  77. data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +65 -0
  78. data/lib/new_relic/agent/instrumentation/redis/prepend.rb +24 -0
  79. data/lib/new_relic/agent/instrumentation/resque.rb +21 -32
  80. data/lib/new_relic/agent/instrumentation/resque/chain.rb +22 -0
  81. data/lib/new_relic/agent/instrumentation/resque/helper.rb +19 -0
  82. data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +35 -0
  83. data/lib/new_relic/agent/instrumentation/resque/prepend.rb +16 -0
  84. data/lib/new_relic/agent/instrumentation/sidekiq.rb +1 -1
  85. data/lib/new_relic/agent/instrumentation/sinatra.rb +20 -198
  86. data/lib/new_relic/agent/instrumentation/sinatra/chain.rb +55 -0
  87. data/lib/new_relic/agent/instrumentation/sinatra/ignorer.rb +29 -34
  88. data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +124 -0
  89. data/lib/new_relic/agent/instrumentation/sinatra/prepend.rb +33 -0
  90. data/lib/new_relic/agent/instrumentation/typhoeus.rb +10 -89
  91. data/lib/new_relic/agent/instrumentation/typhoeus/chain.rb +22 -0
  92. data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +82 -0
  93. data/lib/new_relic/agent/instrumentation/typhoeus/prepend.rb +14 -0
  94. data/lib/new_relic/agent/javascript_instrumentor.rb +12 -7
  95. data/lib/new_relic/agent/method_tracer.rb +6 -16
  96. data/lib/new_relic/agent/new_relic_service.rb +16 -13
  97. data/lib/new_relic/agent/samplers/memory_sampler.rb +1 -1
  98. data/lib/new_relic/agent/span_event_primitive.rb +10 -8
  99. data/lib/new_relic/agent/sql_sampler.rb +3 -3
  100. data/lib/new_relic/agent/stats_engine/gc_profiler.rb +1 -1
  101. data/lib/new_relic/agent/transaction.rb +1 -4
  102. data/lib/new_relic/agent/transaction/abstract_segment.rb +1 -1
  103. data/lib/new_relic/agent/transaction/distributed_tracer.rb +12 -6
  104. data/lib/new_relic/agent/transaction/message_broker_segment.rb +1 -0
  105. data/lib/new_relic/agent/vm/mri_vm.rb +6 -4
  106. data/lib/new_relic/cli/commands/deployments.rb +0 -1
  107. data/lib/new_relic/constants.rb +4 -0
  108. data/lib/new_relic/control/frameworks/rails.rb +11 -9
  109. data/lib/new_relic/control/instance_methods.rb +1 -0
  110. data/lib/new_relic/dependency_detection.rb +119 -9
  111. data/lib/new_relic/environment_report.rb +1 -7
  112. data/lib/new_relic/noticed_error.rb +1 -5
  113. data/lib/new_relic/supportability_helper.rb +3 -2
  114. data/lib/new_relic/version.rb +2 -2
  115. data/lib/tasks/config.html.erb +14 -25
  116. data/lib/tasks/config.rake +8 -7
  117. data/newrelic_rpm.gemspec +2 -2
  118. data/test/agent_helper.rb +1 -0
  119. metadata +55 -32
  120. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -31
  121. data/.github/ISSUE_TEMPLATE/config.yml +0 -5
  122. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -24
  123. data/.github/actions/annotate/README.md +0 -79
  124. data/.github/actions/annotate/action.yml +0 -6
  125. data/.github/actions/annotate/dist/index.js +0 -433
  126. data/.github/actions/annotate/index.js +0 -25
  127. data/.github/actions/annotate/package-lock.json +0 -172
  128. data/.github/actions/annotate/package.json +0 -30
  129. data/.github/actions/annotate/pre-commit +0 -5
  130. data/.github/actions/build-ruby/README.md +0 -79
  131. data/.github/actions/build-ruby/action.yml +0 -15
  132. data/.github/actions/build-ruby/dist/index.js +0 -52683
  133. data/.github/actions/build-ruby/index.js +0 -514
  134. data/.github/actions/build-ruby/package-lock.json +0 -581
  135. data/.github/actions/build-ruby/package.json +0 -32
  136. data/.github/actions/build-ruby/pre-commit +0 -5
  137. data/.github/pull_request_template.md +0 -16
  138. data/.github/workflows/ci.yml +0 -212
  139. data/.github/workflows/pr_review_checklist.yml +0 -22
  140. data/.github/workflows/release.yml +0 -78
  141. data/.github/workflows/scripts/rubygems-authenticate.py +0 -13
  142. data/.github/workflows/scripts/rubygems-publish.rb +0 -32
  143. data/.github/workflows/snyk.yml +0 -27
  144. data/.github/workflows/stale.yml +0 -21
  145. data/cert/cacert.pem +0 -1177
  146. data/lib/new_relic/agent/instrumentation/http.rb +0 -49
  147. data/lib/new_relic/agent/instrumentation/net.rb +0 -87
@@ -69,13 +69,7 @@ module NewRelic
69
69
  report_on('Arch' ) { ::NewRelic::Agent::SystemInfo.processor_arch }
70
70
  report_on('OS version' ) { ::NewRelic::Agent::SystemInfo.os_version }
71
71
  report_on('OS' ) { ::NewRelic::Agent::SystemInfo.ruby_os_identifier }
72
- report_on('Database adapter' ) do
73
- begin
74
- ActiveRecord::Base.configurations.configs_for(env_name: NewRelic::Control.instance.env, spec_name: "primary").config['adapter']
75
- rescue NoMethodError
76
- ActiveRecord::Base.configurations[NewRelic::Control.instance.env]['adapter']
77
- end
78
- end
72
+ report_on('Database adapter' ) { ::NewRelic::Agent::DatabaseAdapter.value }
79
73
  report_on('Framework' ) { Agent.config[:framework].to_s }
80
74
  report_on('Dispatcher' ) { Agent.config[:dispatcher].to_s }
81
75
  report_on('Environment' ) { NewRelic::Control.instance.env }
@@ -70,11 +70,7 @@ class NewRelic::NoticedError
70
70
  end
71
71
 
72
72
  def self.passes_message_allowlist(exception_class)
73
- # For backwards compatibility until we remove :'strip_exception_messages.whitelist' config option
74
-
75
- allowed = NewRelic::Agent.config[:'strip_exception_messages.allowed_classes'].concat(NewRelic::Agent.config[:'strip_exception_messages.whitelist'])
76
-
77
- allowed.any? do |klass|
73
+ NewRelic::Agent.config[:'strip_exception_messages.allowed_classes'].any? do |klass|
78
74
  exception_class <= klass
79
75
  end
80
76
  end
@@ -11,9 +11,10 @@ module NewRelic
11
11
  # transaction, just to eke out a bit less performance hit
12
12
  #
13
13
  API_SUPPORTABILITY_METRICS = [
14
+ :insert_distributed_trace_headers,
14
15
  :accept_distributed_trace_headers,
15
- :create_distributed_trace_headers,
16
16
  :add_custom_attributes,
17
+ :add_custom_span_attributes,
17
18
  :add_instrumentation,
18
19
  :add_method_tracer,
19
20
  :add_transaction_tracer,
@@ -73,7 +74,7 @@ module NewRelic
73
74
  caller_location = caller_locations.first.label
74
75
 
75
76
  message = "Bad argument passed to ##{caller_location}. " \
76
- "Expected #{klass} for `#{name}` but got #{headers.class}"
77
+ "Expected #{klass} for `#{name}` but got #{arg.class}"
77
78
 
78
79
  NewRelic::Agent.logger.warn message
79
80
  nil
@@ -10,8 +10,8 @@ module NewRelic
10
10
  parts.compact.join('.')
11
11
  end
12
12
 
13
- MAJOR = 6
14
- MINOR = 13
13
+ MAJOR = 7
14
+ MINOR = 1
15
15
  TINY = 0
16
16
 
17
17
  begin
@@ -1,32 +1,21 @@
1
1
  <% sections.each do |(section_key, section_name, section_description, configs)| %>
2
- <h2 id="<%=section_key%>"><%=section_name%></h2>
2
+ ## <%=section_name%>
3
3
 
4
- <%= "<p>#{section_description}</p>" unless section_description.nil? %>
4
+ <%= "#{section_description}" unless section_description.nil? %>
5
5
 
6
- <dl class="clamshell-list">
6
+ <CollapserGroup>
7
7
  <% configs.each do |config|%>
8
- <!-- ********** <%= config[:key] %> ********** -->
9
- <dt id="<%= config[:key].gsub('.', '-') %>"><%=config[:key]%></dt>
10
- <dd>
11
- <table class="specs">
12
- <tbody>
13
- <tr>
14
- <th>Type</th>
15
- <td><%=config[:type]%></td>
16
- </tr>
17
- <tr>
18
- <th>Default</th>
19
- <td><%=config[:default]%></td>
20
- </tr>
21
- <tr>
22
- <th>Environ variable</th>
23
- <td><code><%=config[:env_var]%></code></td>
24
- </tr>
25
- </tbody>
26
- </table>
8
+ <Collapser id="<%= config[:key].gsub('.', '-') %>" title="<%=config[:key]%>">
9
+ <table>
10
+ <tbody>
11
+ <tr><th>Type</th><td><%=config[:type]%></td></tr>
12
+ <tr><th>Default</th><td>`<%=config[:default]%>`</td></tr>
13
+ <tr><th>Environ variable</th><td>`<%=config[:env_var]%>`</td></tr>
14
+ </tbody>
15
+ </table>
27
16
 
28
- <p><%=config[:description]%></p>
29
- </dd>
17
+ <%=config[:description]%>
18
+ </Collapser>
30
19
  <% end %>
31
- </dl>
20
+ </CollapserGroup>
32
21
  <% end %>
@@ -9,11 +9,11 @@ namespace :newrelic do
9
9
  SECTION_DESCRIPTIONS = {
10
10
  GENERAL => 'These settings are available for agent configuration. Some settings depend on your New Relic subscription level.',
11
11
  DISABLING => 'Use these settings to toggle instrumentation types during agent startup.',
12
- ATTRIBUTES => '<a href="https://docs.newrelic.com/docs/features/agent-attributes">Attributes</a> are key-value pairs containing information that determines the properties of an event or transaction. These key-value pairs can be viewed within transaction traces in New Relic APM, traced errors in New Relic APM, transaction events in Insights, and page views in Insights. You can customize exactly which attributes will be sent to each of these destinations.',
13
- "transaction_tracer" => 'The <a href="/docs/apm/traces/transaction-traces/transaction-traces">transaction traces</a> feature collects detailed information from a selection of transactions, including a summary of the calling sequence, a breakdown of time spent, and a list of SQL queries and their query plans (on mysql and postgresql). Available features depend on your New Relic subscription level.',
12
+ ATTRIBUTES => '[Attributes](/docs/features/agent-attributes) are key-value pairs containing information that determines the properties of an event or transaction. These key-value pairs can be viewed within transaction traces in APM, traced errors in APM, transaction events in dashboards, and page views in dashboards. You can customize exactly which attributes will be sent to each of these destinations',
13
+ "transaction_tracer" => 'The [transaction traces](/docs/apm/traces/transaction-traces/transaction-traces) feature collects detailed information from a selection of transactions, including a summary of the calling sequence, a breakdown of time spent, and a list of SQL queries and their query plans (on mysql and postgresql). Available features depend on your New Relic subscription level.',
14
14
  "error_collector" => 'The agent collects and reports all uncaught exceptions by default. These configuration options allow you to customize the error collection.',
15
- "browser_monitoring" => 'New Relic Browser\'s <a href="/docs/browser/new-relic-browser/page-load-timing/page-load-timing-process">page load timing</a> feature (sometimes referred to as real user monitoring or RUM) gives you insight into the performance real users are experiencing with your website. This is accomplished by measuring the time it takes for your users\' browsers to download and render your web pages by injecting a small amount of JavaScript code into the header and footer of each page.',
16
- "analytics_events" => '<a href="/docs/insights/new-relic-insights/understanding-insights/new-relic-insights">New Relic Insights</a> is a software analytics resource to gather and visualize data about your software and what it says about your business. With it you can quickly and easily create real-time dashboards to get immediate answers about end-user experiences, clickstreams, mobile activities, and server transactions.'
15
+ "browser_monitoring" => 'The Browser monitoring [page load timing](/docs/browser/new-relic-browser/page-load-timing/page-load-timing-process) feature (sometimes referred to as real user monitoring or RUM) gives you insight into the performance real users are experiencing with your website. This is accomplished by measuring the time it takes for your users\' browsers to download and render your web pages by injecting a small amount of JavaScript code into the header and footer of each page.',
16
+ "analytics_events" => '[New Relic dashboards](/docs/query-your-data/explore-query-data/dashboards/introduction-new-relic-one-dashboards) is a resource to gather and visualize data about your software and what it says about your business. With it you can quickly and easily create real-time dashboards to get immediate answers about end-user experiences, clickstreams, mobile activities, and server transactions.'
17
17
  }
18
18
 
19
19
  NAME_OVERRIDES = {
@@ -96,8 +96,9 @@ namespace :newrelic do
96
96
  end
97
97
 
98
98
  def format_description(value)
99
- description = value[:description]
100
- description = "<b>DEPRECATED</b> #{description}" if value[:deprecated]
99
+ description = ''
100
+ description += "<b>DEPRECATED</b> " if value[:deprecated]
101
+ description += value[:description]
101
102
  description
102
103
  end
103
104
 
@@ -105,7 +106,7 @@ namespace :newrelic do
105
106
  if spec[:default].is_a?(Proc)
106
107
  '(Dynamic)'
107
108
  else
108
- "<code>#{spec[:default].inspect}</code>"
109
+ "#{spec[:default].inspect}"
109
110
  end
110
111
  end
111
112
 
data/newrelic_rpm.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.version = NewRelic::VERSION::STRING
11
11
  s.required_ruby_version = '>= 2.0.0'
12
12
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
13
- s.authors = [ "Rachel Klein", "Tanna McClure", "Michael Lang" ]
13
+ s.authors = [ "Aaron Huntsman", "Tanna McClure", "Michael Lang" ]
14
14
  s.date = Time.now.strftime('%Y-%m-%d')
15
15
  s.licenses = ['Apache-2.0']
16
16
  s.description = <<-EOS
@@ -39,7 +39,7 @@ EOS
39
39
  "homepage_uri" => "https://newrelic.com/ruby",
40
40
  }
41
41
 
42
- file_list = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|infinite_tracing)/(?!agent_helper.rb)}) }
42
+ file_list = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|infinite_tracing|\.github)/(?!agent_helper.rb)}) }
43
43
  build_file_path = 'lib/new_relic/build.rb'
44
44
  file_list << build_file_path if File.exist?(build_file_path)
45
45
  s.files = file_list
data/test/agent_helper.rb CHANGED
@@ -418,6 +418,7 @@ end
418
418
  # build 'em as appropriate so we can test 'em
419
419
  def build_deferred_error_attributes segment
420
420
  return unless segment.noticed_error
421
+ return if segment.noticed_error_attributes.frozen?
421
422
  segment.noticed_error.build_error_attributes
422
423
  end
423
424
 
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.13.0
4
+ version: 7.1.0
5
5
  platform: ruby
6
6
  authors:
7
- - Rachel Klein
7
+ - Aaron Huntsman
8
8
  - Tanna McClure
9
9
  - Michael Lang
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-09-17 00:00:00.000000000 Z
13
+ date: 2021-06-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake
@@ -201,31 +201,6 @@ extra_rdoc_files:
201
201
  - CONTRIBUTING.md
202
202
  - newrelic.yml
203
203
  files:
204
- - ".github/ISSUE_TEMPLATE/bug_report.md"
205
- - ".github/ISSUE_TEMPLATE/config.yml"
206
- - ".github/ISSUE_TEMPLATE/feature_request.md"
207
- - ".github/actions/annotate/README.md"
208
- - ".github/actions/annotate/action.yml"
209
- - ".github/actions/annotate/dist/index.js"
210
- - ".github/actions/annotate/index.js"
211
- - ".github/actions/annotate/package-lock.json"
212
- - ".github/actions/annotate/package.json"
213
- - ".github/actions/annotate/pre-commit"
214
- - ".github/actions/build-ruby/README.md"
215
- - ".github/actions/build-ruby/action.yml"
216
- - ".github/actions/build-ruby/dist/index.js"
217
- - ".github/actions/build-ruby/index.js"
218
- - ".github/actions/build-ruby/package-lock.json"
219
- - ".github/actions/build-ruby/package.json"
220
- - ".github/actions/build-ruby/pre-commit"
221
- - ".github/pull_request_template.md"
222
- - ".github/workflows/ci.yml"
223
- - ".github/workflows/pr_review_checklist.yml"
224
- - ".github/workflows/release.yml"
225
- - ".github/workflows/scripts/rubygems-authenticate.py"
226
- - ".github/workflows/scripts/rubygems-publish.rb"
227
- - ".github/workflows/snyk.yml"
228
- - ".github/workflows/stale.yml"
229
204
  - ".gitignore"
230
205
  - ".project"
231
206
  - ".yardopts"
@@ -242,7 +217,6 @@ files:
242
217
  - bin/newrelic
243
218
  - bin/newrelic_cmd
244
219
  - bin/nrdebug
245
- - cert/cacert.pem
246
220
  - config.dot
247
221
  - config/database.yml
248
222
  - init.rb
@@ -280,6 +254,7 @@ files:
280
254
  - lib/new_relic/agent/database/obfuscation_helpers.rb
281
255
  - lib/new_relic/agent/database/obfuscator.rb
282
256
  - lib/new_relic/agent/database/postgres_explain_obfuscator.rb
257
+ - lib/new_relic/agent/database_adapter.rb
283
258
  - lib/new_relic/agent/datastores.rb
284
259
  - lib/new_relic/agent/datastores/metric_helper.rb
285
260
  - lib/new_relic/agent/datastores/mongo.rb
@@ -335,31 +310,63 @@ files:
335
310
  - lib/new_relic/agent/instrumentation/acts_as_solr.rb
336
311
  - lib/new_relic/agent/instrumentation/authlogic.rb
337
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
338
316
  - lib/new_relic/agent/instrumentation/controller_instrumentation.rb
339
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
340
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
341
325
  - lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb
342
326
  - lib/new_relic/agent/instrumentation/excon.rb
343
327
  - lib/new_relic/agent/instrumentation/excon/connection.rb
344
328
  - lib/new_relic/agent/instrumentation/excon/middleware.rb
345
329
  - lib/new_relic/agent/instrumentation/grape.rb
346
- - lib/new_relic/agent/instrumentation/http.rb
330
+ - lib/new_relic/agent/instrumentation/grape/chain.rb
331
+ - lib/new_relic/agent/instrumentation/grape/instrumentation.rb
332
+ - lib/new_relic/agent/instrumentation/grape/prepend.rb
347
333
  - lib/new_relic/agent/instrumentation/httpclient.rb
334
+ - lib/new_relic/agent/instrumentation/httpclient/chain.rb
335
+ - lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb
336
+ - lib/new_relic/agent/instrumentation/httpclient/prepend.rb
337
+ - lib/new_relic/agent/instrumentation/httprb.rb
338
+ - lib/new_relic/agent/instrumentation/httprb/chain.rb
339
+ - lib/new_relic/agent/instrumentation/httprb/instrumentation.rb
340
+ - lib/new_relic/agent/instrumentation/httprb/prepend.rb
348
341
  - lib/new_relic/agent/instrumentation/ignore_actions.rb
349
342
  - lib/new_relic/agent/instrumentation/memcache.rb
343
+ - lib/new_relic/agent/instrumentation/memcache/chain.rb
350
344
  - lib/new_relic/agent/instrumentation/memcache/dalli.rb
345
+ - lib/new_relic/agent/instrumentation/memcache/helper.rb
346
+ - lib/new_relic/agent/instrumentation/memcache/instrumentation.rb
347
+ - lib/new_relic/agent/instrumentation/memcache/prepend.rb
351
348
  - lib/new_relic/agent/instrumentation/merb/controller.rb
352
349
  - lib/new_relic/agent/instrumentation/merb/errors.rb
353
350
  - lib/new_relic/agent/instrumentation/middleware_proxy.rb
354
351
  - lib/new_relic/agent/instrumentation/middleware_tracing.rb
355
352
  - lib/new_relic/agent/instrumentation/mongo.rb
356
353
  - lib/new_relic/agent/instrumentation/mongodb_command_subscriber.rb
357
- - lib/new_relic/agent/instrumentation/net.rb
354
+ - lib/new_relic/agent/instrumentation/net_http.rb
355
+ - lib/new_relic/agent/instrumentation/net_http/chain.rb
356
+ - lib/new_relic/agent/instrumentation/net_http/instrumentation.rb
357
+ - lib/new_relic/agent/instrumentation/net_http/prepend.rb
358
358
  - lib/new_relic/agent/instrumentation/notifications_subscriber.rb
359
359
  - lib/new_relic/agent/instrumentation/padrino.rb
360
+ - lib/new_relic/agent/instrumentation/padrino/chain.rb
361
+ - lib/new_relic/agent/instrumentation/padrino/instrumentation.rb
362
+ - lib/new_relic/agent/instrumentation/padrino/prepend.rb
360
363
  - lib/new_relic/agent/instrumentation/passenger_instrumentation.rb
361
364
  - lib/new_relic/agent/instrumentation/queue_time.rb
362
365
  - lib/new_relic/agent/instrumentation/rack.rb
366
+ - lib/new_relic/agent/instrumentation/rack/chain.rb
367
+ - lib/new_relic/agent/instrumentation/rack/helpers.rb
368
+ - lib/new_relic/agent/instrumentation/rack/instrumentation.rb
369
+ - lib/new_relic/agent/instrumentation/rack/prepend.rb
363
370
  - lib/new_relic/agent/instrumentation/rails/action_controller.rb
364
371
  - lib/new_relic/agent/instrumentation/rails/action_web_service.rb
365
372
  - lib/new_relic/agent/instrumentation/rails3/action_controller.rb
@@ -369,16 +376,32 @@ files:
369
376
  - lib/new_relic/agent/instrumentation/rails_notifications/action_view.rb
370
377
  - lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb
371
378
  - lib/new_relic/agent/instrumentation/rake.rb
379
+ - lib/new_relic/agent/instrumentation/rake/chain.rb
380
+ - lib/new_relic/agent/instrumentation/rake/instrumentation.rb
381
+ - lib/new_relic/agent/instrumentation/rake/prepend.rb
372
382
  - lib/new_relic/agent/instrumentation/redis.rb
383
+ - lib/new_relic/agent/instrumentation/redis/chain.rb
384
+ - lib/new_relic/agent/instrumentation/redis/instrumentation.rb
385
+ - lib/new_relic/agent/instrumentation/redis/prepend.rb
373
386
  - lib/new_relic/agent/instrumentation/resque.rb
387
+ - lib/new_relic/agent/instrumentation/resque/chain.rb
388
+ - lib/new_relic/agent/instrumentation/resque/helper.rb
389
+ - lib/new_relic/agent/instrumentation/resque/instrumentation.rb
390
+ - lib/new_relic/agent/instrumentation/resque/prepend.rb
374
391
  - lib/new_relic/agent/instrumentation/sequel.rb
375
392
  - lib/new_relic/agent/instrumentation/sequel_helper.rb
376
393
  - lib/new_relic/agent/instrumentation/sidekiq.rb
377
394
  - lib/new_relic/agent/instrumentation/sinatra.rb
395
+ - lib/new_relic/agent/instrumentation/sinatra/chain.rb
378
396
  - lib/new_relic/agent/instrumentation/sinatra/ignorer.rb
397
+ - lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb
398
+ - lib/new_relic/agent/instrumentation/sinatra/prepend.rb
379
399
  - lib/new_relic/agent/instrumentation/sinatra/transaction_namer.rb
380
400
  - lib/new_relic/agent/instrumentation/sunspot.rb
381
401
  - lib/new_relic/agent/instrumentation/typhoeus.rb
402
+ - lib/new_relic/agent/instrumentation/typhoeus/chain.rb
403
+ - lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb
404
+ - lib/new_relic/agent/instrumentation/typhoeus/prepend.rb
382
405
  - lib/new_relic/agent/internal_agent_error.rb
383
406
  - lib/new_relic/agent/javascript_instrumentor.rb
384
407
  - lib/new_relic/agent/log_once.rb
@@ -548,7 +571,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
548
571
  - !ruby/object:Gem::Version
549
572
  version: 1.3.1
550
573
  requirements: []
551
- rubygems_version: 3.1.4
574
+ rubygems_version: 3.1.6
552
575
  signing_key:
553
576
  specification_version: 4
554
577
  summary: New Relic Ruby Agent
@@ -1,31 +0,0 @@
1
- ---
2
- name: Bug report
3
- about: Create a report to help us improve
4
- title: ''
5
- labels: ''
6
- assignees: ''
7
-
8
- ---
9
-
10
- ^^ Provide a general summary of the issue in the title above. ^^
11
-
12
- ## Description
13
- Describe the problem you're encountering.
14
- TIP: Do NOT share sensitive information, whether personal, proprietary, or otherwise!
15
-
16
- ## Expected Behavior
17
- Tell us what you expected to happen.
18
-
19
- ## [Troubleshooting](https://discuss.newrelic.com/t/troubleshooting-frameworks/108787) or [NR Diag](https://docs.newrelic.com/docs/using-new-relic/cross-product-functions/troubleshooting/new-relic-diagnostics) results
20
- Provide any other relevant log data.
21
- TIP: Scrub logs and diagnostic information for sensitive information
22
-
23
- ## Steps to Reproduce
24
- Please be as specific as possible.
25
- TIP: Link a sample application that demonstrates the issue.
26
-
27
- ## Your Environment
28
- Include as many relevant details about your environment as possible including the running version of the Ruby agent, the Ruby version being used and any other relevant environment information
29
-
30
- ## Additional context
31
- Add any other context about the problem here. For example, relevant community posts or support tickets.
@@ -1,5 +0,0 @@
1
- blank_issues_enabled: false
2
- contact_links:
3
- - name: Troubleshooting
4
- url: https://github.com/newrelic/newrelic-ruby-agent#support
5
- about: checkout the README for troubleshooting directions
@@ -1,24 +0,0 @@
1
- ---
2
- name: Feature request
3
- about: Suggest an idea for this project
4
- title: ''
5
- labels: ''
6
- assignees: ''
7
-
8
- ---
9
-
10
- ### Is your feature request related to a problem? Please describe.
11
- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
-
13
- ### Feature Description
14
- A clear and concise description of the feature you want or need.
15
-
16
- ### Describe Alternatives
17
- A clear and concise description of any alternative solutions or features you've considered. Are there examples you could link us to?
18
-
19
- ### Additional context
20
- Add any other context here.
21
-
22
- ### Priority
23
- Please help us better understand this feature request by choosing a priority from the following options:
24
- [Nice to Have, Really Want, Must Have, Blocker]
@@ -1,79 +0,0 @@
1
-
2
- # Install Node
3
-
4
- Using Homebrew, install Node (npm will be installed with Node):
5
-
6
- ```
7
- brew install node
8
- ```
9
-
10
- # Install Yarn
11
-
12
- Yarn provides dependency management, so install it:
13
-
14
- ```
15
- brew install yarn
16
- ```
17
-
18
- # Install NCC
19
-
20
- NCC is used to compile the *.js into a dist/index.js
21
-
22
- ```
23
- npm i -g @zeit/ncc
24
- ```
25
-
26
- # Build the dist/index.js
27
-
28
- ```
29
- yarn run package
30
- ```
31
-
32
- # Installing new javascript packages
33
-
34
- Adding new javascript packages is fairly straightforward. If you're adding a github @actions/xxx package,
35
- simply refer to it by its short-hand name:
36
-
37
- ```
38
- npm install @actions/core
39
- ```
40
-
41
- # Optional pre-commit hook
42
-
43
- A pre-commit hook is provided that can help keep dist/index.js in tune with local changes
44
-
45
-
46
- # Using Node as a REPL
47
-
48
- If you're developing or working on the index.js script, it can be handy to try out stuff
49
- locally. To do that, use Node to start up a REPL shell by running it from the action's folder:
50
-
51
- ```
52
- cd .github/workflow/actions/annotate
53
- node
54
- ```
55
-
56
- Example session:
57
-
58
- ```javascript
59
- Welcome to Node.js v14.3.0.
60
- Type ".help" for more information.
61
- > const os = require('os')
62
- undefined
63
- > const fs = require('fs')
64
- undefined
65
- > const path = require('path')
66
- undefined
67
- >
68
- > const core = require('@actions/core')
69
- undefined
70
- > core.startGroup("hello")
71
- ::group::hello
72
- undefined
73
- > console.debug("hello")
74
- hello
75
- undefined
76
- > core.endGroup()
77
- ::endgroup::
78
- undefined
79
- ```