newrelic_rpm 7.0.0 → 8.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/CHANGELOG.md +226 -0
  4. data/CONTRIBUTING.md +13 -2
  5. data/README.md +5 -1
  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/commands/thread_profiler_session.rb +7 -3
  9. data/lib/new_relic/agent/configuration/default_source.rb +229 -158
  10. data/lib/new_relic/agent/configuration/event_harvest_config.rb +28 -12
  11. data/lib/new_relic/agent/configuration/manager.rb +1 -2
  12. data/lib/new_relic/agent/configuration/server_source.rb +3 -2
  13. data/lib/new_relic/agent/configuration/yaml_source.rb +22 -1
  14. data/lib/new_relic/agent/connect/request_builder.rb +4 -2
  15. data/lib/new_relic/agent/custom_event_aggregator.rb +2 -1
  16. data/lib/new_relic/agent/database.rb +5 -2
  17. data/lib/new_relic/agent/datastores/mongo.rb +5 -10
  18. data/lib/new_relic/agent/datastores.rb +7 -7
  19. data/lib/new_relic/agent/distributed_tracing/cross_app_payload.rb +5 -5
  20. data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +10 -6
  21. data/lib/new_relic/agent/distributed_tracing/distributed_trace_attributes.rb +0 -1
  22. data/lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb +1 -1
  23. data/lib/new_relic/agent/distributed_tracing/trace_context_payload.rb +6 -6
  24. data/lib/new_relic/agent/error_collector.rb +52 -37
  25. data/lib/new_relic/agent/error_filter.rb +175 -0
  26. data/lib/new_relic/agent/event_loop.rb +6 -6
  27. data/lib/new_relic/agent/external.rb +0 -32
  28. data/lib/new_relic/agent/http_clients/abstract.rb +2 -2
  29. data/lib/new_relic/agent/http_clients/net_http_wrappers.rb +7 -1
  30. data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +1 -1
  31. data/lib/new_relic/agent/instrumentation/active_merchant.rb +3 -3
  32. data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +1 -3
  33. data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +1 -1
  34. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +2 -1
  35. data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +4 -4
  36. data/lib/new_relic/agent/instrumentation/excon.rb +4 -23
  37. data/lib/new_relic/agent/instrumentation/logger/chain.rb +21 -0
  38. data/lib/new_relic/agent/instrumentation/logger/instrumentation.rb +59 -0
  39. data/lib/new_relic/agent/instrumentation/logger/prepend.rb +13 -0
  40. data/lib/new_relic/agent/instrumentation/logger.rb +25 -0
  41. data/lib/new_relic/agent/instrumentation/memcache/dalli.rb +5 -1
  42. data/lib/new_relic/agent/instrumentation/memcache/helper.rb +5 -0
  43. data/lib/new_relic/agent/instrumentation/memcache/prepend.rb +8 -2
  44. data/lib/new_relic/agent/instrumentation/mongo.rb +3 -141
  45. data/lib/new_relic/agent/instrumentation/net_http.rb +6 -1
  46. data/lib/new_relic/agent/instrumentation/padrino/chain.rb +23 -19
  47. data/lib/new_relic/agent/instrumentation/padrino/prepend.rb +1 -1
  48. data/lib/new_relic/agent/instrumentation/padrino.rb +4 -2
  49. data/lib/new_relic/agent/instrumentation/queue_time.rb +4 -4
  50. data/lib/new_relic/agent/instrumentation/rack/chain.rb +3 -2
  51. data/lib/new_relic/agent/instrumentation/rack/prepend.rb +2 -1
  52. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +5 -41
  53. data/lib/new_relic/agent/instrumentation/redis.rb +4 -0
  54. data/lib/new_relic/agent/instrumentation/resque/helper.rb +19 -0
  55. data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +5 -3
  56. data/lib/new_relic/agent/instrumentation/resque.rb +13 -4
  57. data/lib/new_relic/agent/instrumentation/sidekiq.rb +6 -1
  58. data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +8 -2
  59. data/lib/new_relic/agent/instrumentation/tilt/chain.rb +24 -0
  60. data/lib/new_relic/agent/instrumentation/tilt/instrumentation.rb +41 -0
  61. data/lib/new_relic/agent/instrumentation/tilt/prepend.rb +13 -0
  62. data/lib/new_relic/agent/instrumentation/tilt.rb +25 -0
  63. data/lib/new_relic/agent/javascript_instrumentor.rb +15 -10
  64. data/lib/new_relic/agent/logging.rb +5 -6
  65. data/lib/new_relic/agent/messaging.rb +10 -24
  66. data/lib/new_relic/agent/method_tracer.rb +137 -138
  67. data/lib/new_relic/agent/monitors/cross_app_monitor.rb +8 -1
  68. data/lib/new_relic/agent/new_relic_service.rb +16 -12
  69. data/lib/new_relic/agent/pipe_channel_manager.rb +10 -6
  70. data/lib/new_relic/agent/pipe_service.rb +1 -1
  71. data/lib/new_relic/agent/samplers/cpu_sampler.rb +1 -1
  72. data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +9 -6
  73. data/lib/new_relic/agent/span_event_aggregator.rb +2 -2
  74. data/lib/new_relic/agent/sql_sampler.rb +3 -3
  75. data/lib/new_relic/agent/stats_engine/stats_hash.rb +1 -1
  76. data/lib/new_relic/agent/stats_engine.rb +1 -1
  77. data/lib/new_relic/agent/threading/backtrace_service.rb +4 -5
  78. data/lib/new_relic/agent/threading/thread_profile.rb +1 -1
  79. data/lib/new_relic/agent/tracer.rb +15 -37
  80. data/lib/new_relic/agent/transaction/abstract_segment.rb +3 -3
  81. data/lib/new_relic/agent/transaction/datastore_segment.rb +3 -0
  82. data/lib/new_relic/agent/transaction/distributed_tracer.rb +1 -0
  83. data/lib/new_relic/agent/transaction/external_request_segment.rb +3 -0
  84. data/lib/new_relic/agent/transaction/message_broker_segment.rb +5 -11
  85. data/lib/new_relic/agent/transaction/segment.rb +3 -0
  86. data/lib/new_relic/agent/transaction.rb +7 -28
  87. data/lib/new_relic/agent/transaction_time_aggregator.rb +5 -5
  88. data/lib/new_relic/agent/vm/snapshot.rb +1 -1
  89. data/lib/new_relic/agent/worker_loop.rb +5 -5
  90. data/lib/new_relic/agent.rb +10 -7
  91. data/lib/new_relic/cli/commands/deployments.rb +2 -2
  92. data/lib/new_relic/constants.rb +0 -4
  93. data/lib/new_relic/noticed_error.rb +4 -4
  94. data/lib/new_relic/version.rb +2 -2
  95. data/lib/newrelic_rpm.rb +10 -34
  96. data/lib/tasks/all.rb +1 -1
  97. data/lib/tasks/config.html.erb +14 -25
  98. data/lib/tasks/config.rake +8 -7
  99. data/newrelic.yml +580 -3
  100. data/newrelic_rpm.gemspec +1 -1
  101. data/test/agent_helper.rb +27 -2
  102. metadata +13 -11
  103. data/lib/new_relic/agent/datastores/mongo/statement_formatter.rb +0 -53
  104. data/lib/new_relic/agent/instrumentation/excon/connection.rb +0 -49
  105. data/lib/new_relic/agent/instrumentation/merb/controller.rb +0 -44
  106. data/lib/new_relic/agent/instrumentation/merb/errors.rb +0 -33
  107. data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +0 -125
  108. data/lib/new_relic/agent/instrumentation/rails/action_web_service.rb +0 -46
  109. data/lib/new_relic/agent/supported_versions.rb +0 -275
  110. data/lib/new_relic/control/frameworks/merb.rb +0 -29
@@ -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