wd_newrelic_rpm 3.5.5 → 3.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. data/.gitignore +2 -0
  2. data/CHANGELOG +60 -0
  3. data/Rakefile +14 -18
  4. data/gem-public_cert.pem +20 -0
  5. data/lib/new_relic/agent.rb +3 -0
  6. data/lib/new_relic/agent/agent.rb +86 -97
  7. data/lib/new_relic/agent/agent_logger.rb +9 -1
  8. data/lib/new_relic/agent/busy_calculator.rb +5 -0
  9. data/lib/new_relic/agent/configuration/defaults.rb +3 -3
  10. data/lib/new_relic/agent/configuration/manager.rb +12 -0
  11. data/lib/new_relic/agent/configuration/mask_defaults.rb +1 -0
  12. data/lib/new_relic/agent/configuration/yaml_source.rb +5 -1
  13. data/lib/new_relic/agent/cross_process_monitoring.rb +164 -20
  14. data/lib/new_relic/agent/error_collector.rb +13 -2
  15. data/lib/new_relic/agent/event_listener.rb +39 -0
  16. data/lib/new_relic/agent/instrumentation/browser_monitoring_timings.rb +18 -8
  17. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +1 -1
  18. data/lib/new_relic/agent/instrumentation/sinatra.rb +8 -1
  19. data/lib/new_relic/agent/new_relic_service.rb +90 -10
  20. data/lib/new_relic/agent/pipe_service.rb +9 -0
  21. data/lib/new_relic/agent/sql_sampler.rb +10 -3
  22. data/lib/new_relic/agent/stats_engine/transactions.rb +1 -0
  23. data/lib/new_relic/agent/thread_profiler.rb +20 -7
  24. data/lib/new_relic/agent/worker_loop.rb +2 -1
  25. data/lib/new_relic/coerce.rb +37 -0
  26. data/lib/new_relic/commands/deployments.rb +1 -1
  27. data/lib/new_relic/control/frameworks/rails.rb +29 -5
  28. data/lib/new_relic/control/frameworks/rails3.rb +2 -11
  29. data/lib/new_relic/control/instance_methods.rb +11 -7
  30. data/lib/new_relic/control/server_methods.rb +5 -37
  31. data/lib/new_relic/latest_changes.rb +31 -0
  32. data/lib/new_relic/local_environment.rb +1 -1
  33. data/lib/new_relic/metric_data.rb +13 -2
  34. data/lib/new_relic/noticed_error.rb +8 -1
  35. data/lib/new_relic/rack/agent_hooks.rb +20 -0
  36. data/lib/new_relic/rack/error_collector.rb +11 -1
  37. data/lib/new_relic/recipes.rb +32 -10
  38. data/lib/new_relic/transaction_sample.rb +12 -3
  39. data/lib/new_relic/transaction_sample/segment.rb +6 -3
  40. data/lib/new_relic/version.rb +10 -15
  41. data/newrelic.yml +12 -19
  42. data/newrelic_rpm.gemspec +22 -464
  43. data/test/multiverse/.gitignore +1 -0
  44. data/test/multiverse/lib/multiverse/environment.rb +1 -1
  45. data/test/multiverse/lib/multiverse/suite.rb +2 -0
  46. data/test/multiverse/suites/active_record/Envfile +3 -3
  47. data/test/multiverse/suites/active_record/ar_method_aliasing.rb +1 -1
  48. data/test/multiverse/suites/active_record/config/newrelic.yml +2 -2
  49. data/test/multiverse/suites/agent_only/Envfile +2 -1
  50. data/test/multiverse/suites/agent_only/config/newrelic.yml +3 -1
  51. data/test/multiverse/suites/agent_only/cross_process_test.rb +56 -0
  52. data/test/multiverse/suites/{logging → agent_only}/logging_test.rb +42 -22
  53. data/test/multiverse/suites/agent_only/no_dns_resolv.rb +17 -0
  54. data/test/multiverse/suites/{rum_auto_instrumentation/sanity_test.rb → agent_only/rum_instrumentation_test.rb} +25 -46
  55. data/test/multiverse/suites/agent_only/service_timeout_test.rb +6 -3
  56. data/test/multiverse/suites/agent_only/ssl_test.rb +22 -0
  57. data/test/multiverse/suites/{no_load → agent_only}/start_up_test.rb +9 -2
  58. data/test/multiverse/suites/agent_only/testing_app.rb +17 -0
  59. data/test/multiverse/suites/agent_only/thread_profiling_test.rb +6 -5
  60. data/test/multiverse/suites/datamapper/config/newrelic.yml +1 -1
  61. data/test/multiverse/suites/{rails_3_queue_time → rails}/Envfile +3 -0
  62. data/test/multiverse/suites/rails/app.rb +49 -0
  63. data/test/multiverse/suites/{rails_3_views → rails}/app/views/foos/_foo.html.haml +0 -0
  64. data/test/multiverse/suites/{rails_3_views/app/views/test → rails/app/views/views}/_a_partial.html.erb +0 -0
  65. data/test/multiverse/suites/{rails_3_views/app/views/test → rails/app/views/views}/_mid_partial.html.erb +0 -0
  66. data/test/multiverse/suites/{rails_3_views/app/views/test → rails/app/views/views}/_top_partial.html.erb +0 -0
  67. data/test/multiverse/suites/{rails_3_views/app/views/test → rails/app/views/views}/deep_partial.html.erb +0 -0
  68. data/test/multiverse/suites/{rails_3_views/app/views/test → rails/app/views/views}/haml_view.html.haml +0 -0
  69. data/test/multiverse/suites/{rails_3_views/app/views/test → rails/app/views/views}/index.html.erb +0 -0
  70. data/test/multiverse/suites/rails/config/newrelic.yml +32 -0
  71. data/test/multiverse/suites/{rails_3_error_tracing → rails}/error_tracing_test.rb +51 -88
  72. data/test/multiverse/suites/rails/gc_instrumentation_test.rb +79 -0
  73. data/test/multiverse/suites/{rails_3_queue_time → rails}/queue_time_test.rb +3 -23
  74. data/test/multiverse/suites/{rails_3_views → rails}/view_instrumentation_test.rb +21 -61
  75. data/test/multiverse/suites/resque/Envfile +7 -4
  76. data/test/multiverse/suites/resque/Rakefile +8 -0
  77. data/test/multiverse/suites/resque/config/newrelic.yml +1 -1
  78. data/test/multiverse/suites/resque/instrumentation_test.rb +118 -41
  79. data/test/multiverse/suites/resque/resque_setup.rb +15 -0
  80. data/test/multiverse/suites/sinatra/config/newrelic.yml +1 -2
  81. data/test/multiverse/suites/sinatra/sinatra_error_tracing_test.rb +38 -0
  82. data/test/multiverse/suites/sinatra/sinatra_test.rb +17 -0
  83. data/test/multiverse/test/suite_examples/one/a/config/newrelic.yml +1 -1
  84. data/test/multiverse/test/suite_examples/one/b/config/newrelic.yml +1 -1
  85. data/test/new_relic/agent/agent/connect_test.rb +24 -100
  86. data/test/new_relic/agent/agent/start_worker_thread_test.rb +3 -3
  87. data/test/new_relic/agent/agent_test.rb +126 -31
  88. data/test/new_relic/agent/browser_monitoring_test.rb +1 -1
  89. data/test/new_relic/agent/busy_calculator_test.rb +8 -0
  90. data/test/new_relic/agent/configuration/manager_test.rb +28 -0
  91. data/test/new_relic/agent/configuration/yaml_source_test.rb +12 -2
  92. data/test/new_relic/agent/cross_process_monitoring_test.rb +144 -31
  93. data/test/new_relic/agent/error_collector_test.rb +16 -0
  94. data/test/new_relic/agent/event_listener_test.rb +46 -0
  95. data/test/new_relic/agent/instrumentation/browser_monitoring_timings_test.rb +57 -30
  96. data/test/new_relic/agent/instrumentation/task_instrumentation_test.rb +1 -0
  97. data/test/new_relic/agent/new_relic_service_test.rb +95 -2
  98. data/test/new_relic/agent/pipe_channel_manager_test.rb +3 -3
  99. data/test/new_relic/agent/pipe_service_test.rb +21 -1
  100. data/test/new_relic/agent/rpm_agent_test.rb +1 -1
  101. data/test/new_relic/agent/sql_sampler_test.rb +20 -0
  102. data/test/new_relic/agent/thread_profiler_test.rb +53 -8
  103. data/test/new_relic/agent/worker_loop_test.rb +19 -16
  104. data/test/new_relic/agent_test.rb +1 -2
  105. data/test/new_relic/coerce_test.rb +65 -0
  106. data/test/new_relic/command/deployments_test.rb +1 -1
  107. data/test/new_relic/control_test.rb +23 -44
  108. data/test/new_relic/fake_collector.rb +34 -6
  109. data/test/new_relic/local_environment_test.rb +1 -1
  110. data/test/new_relic/metric_data_test.rb +29 -0
  111. data/test/new_relic/noticed_error_test.rb +8 -0
  112. data/test/new_relic/rack/agent_hooks_test.rb +30 -0
  113. data/test/new_relic/rack/error_collector_test.rb +16 -0
  114. data/test/new_relic/transaction_sample/segment_test.rb +7 -0
  115. data/test/new_relic/transaction_sample_test.rb +36 -8
  116. data/test/new_relic/version_number_test.rb +6 -30
  117. data/test/script/ci.sh +6 -5
  118. data/test/test_contexts.rb +2 -1
  119. data/test/test_helper.rb +23 -6
  120. data/ui/helpers/google_pie_chart.rb +1 -0
  121. metadata +68 -67
  122. data/newrelic_rpm.gemspec.erb +0 -54
  123. data/test/fixtures/gemspec_no_build.rb +0 -442
  124. data/test/fixtures/gemspec_with_build.rb +0 -442
  125. data/test/fixtures/gemspec_with_build_and_stage.rb +0 -442
  126. data/test/multiverse/suites/logging/Envfile +0 -4
  127. data/test/multiverse/suites/logging/config/newrelic.yml +0 -22
  128. data/test/multiverse/suites/monitor_mode_false/Envfile +0 -2
  129. data/test/multiverse/suites/monitor_mode_false/config/newrelic.yml +0 -25
  130. data/test/multiverse/suites/monitor_mode_false/no_dns_resolv.rb +0 -29
  131. data/test/multiverse/suites/no_load/Envfile +0 -2
  132. data/test/multiverse/suites/no_load/config/newrelic.yml +0 -22
  133. data/test/multiverse/suites/rails_3_error_tracing/Envfile +0 -15
  134. data/test/multiverse/suites/rails_3_error_tracing/config/newrelic.yml +0 -165
  135. data/test/multiverse/suites/rails_3_gc/Envfile +0 -8
  136. data/test/multiverse/suites/rails_3_gc/config/newrelic.yml +0 -167
  137. data/test/multiverse/suites/rails_3_gc/instrumentation_test.rb +0 -92
  138. data/test/multiverse/suites/rails_3_queue_time/config/newrelic.yml +0 -165
  139. data/test/multiverse/suites/rails_3_views/.gitignore +0 -3
  140. data/test/multiverse/suites/rails_3_views/Envfile +0 -16
  141. data/test/multiverse/suites/rails_3_views/config/newrelic.yml +0 -164
  142. data/test/multiverse/suites/resque/dump.rdb +0 -0
  143. data/test/multiverse/suites/rum_auto_instrumentation/Envfile +0 -4
  144. data/test/multiverse/suites/rum_auto_instrumentation/config/newrelic.yml +0 -24
  145. data/test/multiverse/suites/rum_auto_instrumentation/responses/worst_case_small.html +0 -5000
  146. data/test/new_relic/fake_service.rb +0 -53
@@ -1,4 +0,0 @@
1
- gemfile <<-RB
2
- gem 'rack'
3
- gem 'mocha', '< 0.13', :require => false
4
- RB
@@ -1,22 +0,0 @@
1
- ---
2
- development:
3
- error_collector:
4
- capture_source: true
5
- enabled: false
6
- apdex_t: 0.5
7
- ssl: false
8
- monitor_mode: true
9
- license_key: bootstrap_newrelic_admin_license_key_000
10
- developer_mode: false
11
- app_name: test
12
- host: 127.0.0.1
13
- api_host: 127.0.0.1
14
- port: 30303
15
- transaction_tracer:
16
- record_sql: obfuscated
17
- enabled: true
18
- stack_trace_threshold: 0.5
19
- transaction_threshold: 1.0
20
- capture_params: false
21
- log_level: debug
22
- disable_serialization: false
@@ -1,2 +0,0 @@
1
- self.newrelic_gemfile_options=(':require => false')
2
-
@@ -1,25 +0,0 @@
1
- development:
2
- browser_monitoring:
3
- auto_instrument: true
4
- error_collector:
5
- capture_source: true
6
- enabled: true
7
- apdex_t: 0.5
8
- ssl: false
9
- monitor_mode: false
10
- license_key: bootstrap_newrelic_admin_license_key_000
11
- developer_mode: false
12
- app_name: test
13
- host: staging-collector.newrelic.com
14
- api_host: 127.0.0.1
15
- port: 80
16
- transaction_tracer:
17
- record_sql: obfuscated
18
- enabled: true
19
- stack_trace_threshold: 0.5
20
- transaction_threshold: 1.0
21
- capture_params: false
22
- log_level: debug
23
- disable_serialization: false
24
- log_file_name: mon_mode_false_newrelic.log
25
- agent_enabled: false
@@ -1,29 +0,0 @@
1
- require 'resolv'
2
-
3
- class NoDnsResolv < Test::Unit::TestCase
4
- def test_should_no_resolve_hostname_when_agent_is_disabled
5
- Resolv.class_eval do
6
-
7
- if RUBY_VERSION == '1.9.2'
8
- class_variable_set(:@@getaddress_called,false)
9
- else
10
- @@getaddress_called = false
11
- end
12
-
13
- def self.getaddress(host)
14
- @@getaddress_called = true
15
- puts "address for #{host} requested"
16
- "127.0.0.1"
17
- end
18
-
19
- def self.getaddress_called?
20
- @@getaddress_called
21
- end
22
- end
23
-
24
- require 'newrelic_rpm'
25
-
26
- assert(!Resolv.getaddress_called?,
27
- 'called Resolv.getaddress when we should not have')
28
- end
29
- end
@@ -1,2 +0,0 @@
1
- self.newrelic_gemfile_options=(':require => false')
2
-
@@ -1,22 +0,0 @@
1
- ---
2
- development:
3
- error_collector:
4
- capture_source: true
5
- enabled: true
6
- apdex_t: 0.5
7
- ssl: false
8
- monitor_mode: true
9
- license_key: bootstrap_newrelic_admin_license_key_000
10
- developer_mode: false
11
- app_name: test
12
- host: 127.0.0.1
13
- api_host: 127.0.0.1
14
- port: 30303
15
- transaction_tracer:
16
- record_sql: raw
17
- enabled: true
18
- stack_trace_threshold: 0.5
19
- transaction_threshold: 1.0
20
- capture_params: false
21
- log_level: debug
22
- disable_serialization: false
@@ -1,15 +0,0 @@
1
- suite_condition("Rails 3 does not support 1.8.6") do
2
- RUBY_VERSION != '1.8.6'
3
- end
4
-
5
- gemfile <<-RB
6
- gem 'rails', '~>3.2.0'
7
- RB
8
-
9
- gemfile <<-RB
10
- gem 'rails', '~>3.1.0'
11
- RB
12
-
13
- gemfile <<-RB
14
- gem 'rails', '~>3.0.0'
15
- RB
@@ -1,165 +0,0 @@
1
- #
2
- # This file configures the NewRelic RPM Agent, NewRelic RPM monitors Rails
3
- # applications with deep visibility and low overhead. For more information,
4
- # visit www.newrelic.com.
5
- #
6
- #
7
- #
8
- # here are the settings that are common to all environments
9
- common: &default_settings
10
-
11
- # ============================== LICENSE KEY ===============================
12
- # You must specify the licence key associated with your New Relic account.
13
- # This key binds your Agent's data to your account in the New Relic RPM service.
14
-
15
- #license_key: 'bootstrap_newrelic_admin_license_key_000'
16
- #host: localhost
17
- #port: 3000
18
-
19
- license_key: 'bd0e1d52adade840f7ca727d29a86249e89a6f1c'
20
- host: localhost
21
-
22
- # Agent Enabled
23
- # Use this setting to force the agent to run or not run.
24
- # Default is 'auto' which means the agent will install and run only if a
25
- # valid dispatcher such as Mongrel is running. This prevents it from running
26
- # with Rake or the console. Set to false to completely turn the agent off
27
- # regardless of the other settings. Valid values are true, false and auto.
28
- # agent_enabled: auto
29
-
30
- # Application Name
31
- # Set this to be the name of your application as you'd like it show up in RPM.
32
- # RPM will then auto-map instances of your application into a RPM "application"
33
- # on your home dashboard page. This setting does not prevent you from manually
34
- # defining applications.
35
- app_name: Rails 3 view test ap
36
-
37
- # When 'enabled' is turned on, the agent collects performance data by inserting lightweight
38
- # tracers on key methods inside the rails framework and asynchronously aggregating
39
- # and reporting this performance data to the NewRelic RPM service at newrelic.com.
40
- enabled: false
41
-
42
- # The newrelic agent generates its own log file to keep its logging information
43
- # separate from that of your application. Specify its log level here.
44
- log_level: debug
45
-
46
- # The newrelic agent communicates with the RPM service via http by default.
47
- # If you want to communicate via https to increase security, then turn on
48
- # SSL by setting this value to true. Note, this will result in increased
49
- # CPU overhead to perform the encryption involved in SSL communication, but this
50
- # work is done asynchronously to the threads that process your application code, so
51
- # it should not impact response times.
52
- ssl: false
53
-
54
- # Set your application's Apdex threshold value with the 'apdex_t' setting, in seconds. The
55
- # apdex_t value determines the buckets used to compute your overall Apdex score. Requests
56
- # that take less than apdex_t seconds to process will be classified as Satisfying transactions;
57
- # more than apdex_t seconds as Tolerating transactions; and more than four times the apdex_t
58
- # value as Frustrating transactions. For more
59
- # about the Apdex standard, see http://support.newrelic.com/faqs/general/apdex
60
- apdex_t: 1.0
61
-
62
-
63
- # Proxy settings for connecting to the RPM server.
64
- #
65
- # If a proxy is used, the host setting is required. Other settings are optional. Default
66
- # port is 8080.
67
- #
68
- # proxy_host: hostname
69
- # proxy_port: 8080
70
- # proxy_user:
71
- # proxy_pass:
72
-
73
-
74
- # Tells transaction tracer and error collector (when enabled) whether or not to capture HTTP params.
75
- # When true, the RoR filter_parameter_logging mechanism is used so that sensitive parameters are not recorded
76
- capture_params: true
77
-
78
-
79
- # Transaction tracer captures deep information about slow
80
- # transactions and sends this to the RPM service once a minute. Included in the
81
- # transaction is the exact call sequence of the transactions including any SQL statements
82
- # issued.
83
- transaction_tracer:
84
-
85
- # Transaction tracer is enabled by default. Set this to false to turn it off. This feature
86
- # is only available at the Silver and above product levels.
87
- enabled: true
88
-
89
- # Threshold in seconds for when to collect a transaction trace. When the response time of
90
- # a controller action exceeds this threshold, a transaction trace will be recorded and sent
91
- # to RPM. Valid values are any float value, or (default) "apdex_f", which will use the
92
- # threshold for an dissatisfying Apdex controller action - four times the Apdex T value.
93
- transaction_threshold: apdex_f
94
-
95
- # When transaction tracer is on, SQL statements can optionally be recorded. The recorder
96
- # has three modes, "off" which sends no SQL, "raw" which sends the SQL statement in its
97
- # original form, and "obfuscated", which strips out numeric and string literals
98
- record_sql: obfuscated
99
-
100
- # Threshold in seconds for when to collect stack trace for a SQL call. In other words,
101
- # when SQL statements exceed this threshold, then capture and send to RPM the current
102
- # stack trace. This is helpful for pinpointing where long SQL calls originate from
103
- stack_trace_threshold: 0.500
104
-
105
- # Error collector captures information about uncaught exceptions and sends them to RPM for
106
- # viewing
107
- error_collector:
108
-
109
- # Error collector is enabled by default. Set this to false to turn it off. This feature
110
- # is only available at the Silver and above product levels
111
- enabled: true
112
-
113
- # Tells error collector whether or not to capture a source snippet around the place of the
114
- # error when errors are View related.
115
- capture_source: true
116
-
117
- # To stop specific errors from reporting to RPM, set this property to comma separated
118
- # values
119
- #
120
- #ignore_errors: ActionController::RoutingError, ...
121
- ignore_errors: IgnoredError
122
-
123
- # (Advanced) Uncomment this to ensure the cpu and memory samplers won't run. Useful when you
124
- # are using the agent to monitor an external resource
125
- # disable_samplers: true
126
-
127
- # override default settings based on your application's environment
128
-
129
- # NOTE if your application has other named environments, you should
130
- # provide newrelic conifguration settings for these enviromnents here.
131
-
132
- development:
133
- <<: *default_settings
134
- # turn off communication to RPM service in development mode.
135
- # NOTE: for initial evaluation purposes, you may want to temporarily turn
136
- # the agent on in development mode.
137
- enabled: true
138
-
139
- # When running in Developer Mode, the New Relic Agent will present
140
- # performance information on the last 100 transactions you have
141
- # executed since starting the mongrel. to view this data, go to
142
- # http://localhost:3000/newrelic
143
- developer: true
144
-
145
- test:
146
- <<: *default_settings
147
- # it almost never makes sense to turn on the agent when running unit, functional or
148
- # integration tests or the like.
149
- enabled: true
150
- log_level: debug
151
-
152
- # Turn on the agent in production for 24x7 monitoring. NewRelic testing shows
153
- # an average performance impact of < 5 ms per transaction, you you can leave this on
154
- # all the time without incurring any user-visible performance degredation.
155
- production:
156
- <<: *default_settings
157
- enabled: true
158
-
159
- # many applications have a staging environment which behaves identically to production.
160
- # Support for that environment is provided here. By default, the staging environment has
161
- # the agent turned on.
162
- staging:
163
- <<: *default_settings
164
- enabled: true
165
- app_name: My Application (Staging)
@@ -1,8 +0,0 @@
1
- suite_condition("GC instrumentation only works with REE or 1.9.x") do
2
- (defined?(RUBY_DESCRIPTION) && RUBY_DESCRIPTION =~ /Enterprise/) ||
3
- RUBY_VERSION >= '1.9.2'
4
- end
5
-
6
- gemfile <<-RB
7
- gem 'rails', '~>3.2.0'
8
- RB
@@ -1,167 +0,0 @@
1
- #
2
- # This file configures the NewRelic RPM Agent, NewRelic RPM monitors Rails
3
- # applications with deep visibility and low overhead. For more information,
4
- # visit www.newrelic.com.
5
- #
6
- #
7
- #
8
- # here are the settings that are common to all environments
9
- common: &default_settings
10
-
11
- # ============================== LICENSE KEY ===============================
12
- # You must specify the licence key associated with your New Relic account.
13
- # This key binds your Agent's data to your account in the New Relic RPM service.
14
-
15
- #license_key: 'bootstrap_newrelic_admin_license_key_000'
16
- #host: localhost
17
- #port: 3000
18
-
19
- license_key: 'bd0e1d52adade840f7ca727d29a86249e89a6f1c'
20
- host: localhost
21
-
22
- # Agent Enabled
23
- # Use this setting to force the agent to run or not run.
24
- # Default is 'auto' which means the agent will install and run only if a
25
- # valid dispatcher such as Mongrel is running. This prevents it from running
26
- # with Rake or the console. Set to false to completely turn the agent off
27
- # regardless of the other settings. Valid values are true, false and auto.
28
- # agent_enabled: auto
29
-
30
- # Application Name
31
- # Set this to be the name of your application as you'd like it show up in RPM.
32
- # RPM will then auto-map instances of your application into a RPM "application"
33
- # on your home dashboard page. This setting does not prevent you from manually
34
- # defining applications.
35
- app_name: Rails 3 view test ap
36
-
37
- # When 'enabled' is turned on, the agent collects performance data by inserting lightweight
38
- # tracers on key methods inside the rails framework and asynchronously aggregating
39
- # and reporting this performance data to the NewRelic RPM service at newrelic.com.
40
- enabled: false
41
-
42
- # The newrelic agent generates its own log file to keep its logging information
43
- # separate from that of your application. Specify its log level here.
44
- log_level: debug
45
-
46
- # The newrelic agent communicates with the RPM service via http by default.
47
- # If you want to communicate via https to increase security, then turn on
48
- # SSL by setting this value to true. Note, this will result in increased
49
- # CPU overhead to perform the encryption involved in SSL communication, but this
50
- # work is done asynchronously to the threads that process your application code, so
51
- # it should not impact response times.
52
- ssl: false
53
-
54
- # Set your application's Apdex threshold value with the 'apdex_t' setting, in seconds. The
55
- # apdex_t value determines the buckets used to compute your overall Apdex score. Requests
56
- # that take less than apdex_t seconds to process will be classified as Satisfying transactions;
57
- # more than apdex_t seconds as Tolerating transactions; and more than four times the apdex_t
58
- # value as Frustrating transactions. For more
59
- # about the Apdex standard, see http://support.newrelic.com/faqs/general/apdex
60
- apdex_t: 1.0
61
-
62
-
63
- # Proxy settings for connecting to the RPM server.
64
- #
65
- # If a proxy is used, the host setting is required. Other settings are optional. Default
66
- # port is 8080.
67
- #
68
- # proxy_host: hostname
69
- # proxy_port: 8080
70
- # proxy_user:
71
- # proxy_pass:
72
-
73
-
74
- # Tells transaction tracer and error collector (when enabled) whether or not to capture HTTP params.
75
- # When true, the RoR filter_parameter_logging mechanism is used so that sensitive parameters are not recorded
76
- capture_params: false
77
-
78
-
79
- # Transaction tracer captures deep information about slow
80
- # transactions and sends this to the RPM service once a minute. Included in the
81
- # transaction is the exact call sequence of the transactions including any SQL statements
82
- # issued.
83
- transaction_tracer:
84
-
85
- # Transaction tracer is enabled by default. Set this to false to turn it off. This feature
86
- # is only available at the Silver and above product levels.
87
- enabled: true
88
-
89
- # Threshold in seconds for when to collect a transaction trace. When the response time of
90
- # a controller action exceeds this threshold, a transaction trace will be recorded and sent
91
- # to RPM. Valid values are any float value, or (default) "apdex_f", which will use the
92
- # threshold for an dissatisfying Apdex controller action - four times the Apdex T value.
93
- transaction_threshold: apdex_f
94
-
95
- # When transaction tracer is on, SQL statements can optionally be recorded. The recorder
96
- # has three modes, "off" which sends no SQL, "raw" which sends the SQL statement in its
97
- # original form, and "obfuscated", which strips out numeric and string literals
98
- record_sql: obfuscated
99
-
100
- # Threshold in seconds for when to collect stack trace for a SQL call. In other words,
101
- # when SQL statements exceed this threshold, then capture and send to RPM the current
102
- # stack trace. This is helpful for pinpointing where long SQL calls originate from
103
- stack_trace_threshold: 0.500
104
-
105
- # Error collector captures information about uncaught exceptions and sends them to RPM for
106
- # viewing
107
- error_collector:
108
-
109
- # Error collector is enabled by default. Set this to false to turn it off. This feature
110
- # is only available at the Silver and above product levels
111
- enabled: true
112
-
113
- # Tells error collector whether or not to capture a source snippet around the place of the
114
- # error when errors are View related.
115
- capture_source: true
116
-
117
- # To stop specific errors from reporting to RPM, set this property to comma separated
118
- # values
119
- #
120
- #ignore_errors: ActionController::RoutingError, ...
121
-
122
- # (Advanced) Uncomment this to ensure the cpu and memory samplers won't run. Useful when you
123
- # are using the agent to monitor an external resource
124
- # disable_samplers: true
125
-
126
- # override default settings based on your application's environment
127
-
128
- # NOTE if your application has other named environments, you should
129
- # provide newrelic conifguration settings for these enviromnents here.
130
-
131
- disable_memory_profiling: false
132
-
133
- development:
134
- <<: *default_settings
135
- # turn off communication to RPM service in development mode.
136
- # NOTE: for initial evaluation purposes, you may want to temporarily turn
137
- # the agent on in development mode.
138
- enabled: true
139
-
140
- # When running in Developer Mode, the New Relic Agent will present
141
- # performance information on the last 100 transactions you have
142
- # executed since starting the mongrel. to view this data, go to
143
- # http://localhost:3000/newrelic
144
- developer: true
145
-
146
- test:
147
- <<: *default_settings
148
- # it almost never makes sense to turn on the agent when running unit, functional or
149
- # integration tests or the like.
150
- enabled: true
151
- log_level: debug
152
- developer: true
153
-
154
- # Turn on the agent in production for 24x7 monitoring. NewRelic testing shows
155
- # an average performance impact of < 5 ms per transaction, you you can leave this on
156
- # all the time without incurring any user-visible performance degredation.
157
- production:
158
- <<: *default_settings
159
- enabled: true
160
-
161
- # many applications have a staging environment which behaves identically to production.
162
- # Support for that environment is provided here. By default, the staging environment has
163
- # the agent turned on.
164
- staging:
165
- <<: *default_settings
166
- enabled: true
167
- app_name: My Application (Staging)