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.
- data/.gitignore +2 -0
- data/CHANGELOG +60 -0
- data/Rakefile +14 -18
- data/gem-public_cert.pem +20 -0
- data/lib/new_relic/agent.rb +3 -0
- data/lib/new_relic/agent/agent.rb +86 -97
- data/lib/new_relic/agent/agent_logger.rb +9 -1
- data/lib/new_relic/agent/busy_calculator.rb +5 -0
- data/lib/new_relic/agent/configuration/defaults.rb +3 -3
- data/lib/new_relic/agent/configuration/manager.rb +12 -0
- data/lib/new_relic/agent/configuration/mask_defaults.rb +1 -0
- data/lib/new_relic/agent/configuration/yaml_source.rb +5 -1
- data/lib/new_relic/agent/cross_process_monitoring.rb +164 -20
- data/lib/new_relic/agent/error_collector.rb +13 -2
- data/lib/new_relic/agent/event_listener.rb +39 -0
- data/lib/new_relic/agent/instrumentation/browser_monitoring_timings.rb +18 -8
- data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +1 -1
- data/lib/new_relic/agent/instrumentation/sinatra.rb +8 -1
- data/lib/new_relic/agent/new_relic_service.rb +90 -10
- data/lib/new_relic/agent/pipe_service.rb +9 -0
- data/lib/new_relic/agent/sql_sampler.rb +10 -3
- data/lib/new_relic/agent/stats_engine/transactions.rb +1 -0
- data/lib/new_relic/agent/thread_profiler.rb +20 -7
- data/lib/new_relic/agent/worker_loop.rb +2 -1
- data/lib/new_relic/coerce.rb +37 -0
- data/lib/new_relic/commands/deployments.rb +1 -1
- data/lib/new_relic/control/frameworks/rails.rb +29 -5
- data/lib/new_relic/control/frameworks/rails3.rb +2 -11
- data/lib/new_relic/control/instance_methods.rb +11 -7
- data/lib/new_relic/control/server_methods.rb +5 -37
- data/lib/new_relic/latest_changes.rb +31 -0
- data/lib/new_relic/local_environment.rb +1 -1
- data/lib/new_relic/metric_data.rb +13 -2
- data/lib/new_relic/noticed_error.rb +8 -1
- data/lib/new_relic/rack/agent_hooks.rb +20 -0
- data/lib/new_relic/rack/error_collector.rb +11 -1
- data/lib/new_relic/recipes.rb +32 -10
- data/lib/new_relic/transaction_sample.rb +12 -3
- data/lib/new_relic/transaction_sample/segment.rb +6 -3
- data/lib/new_relic/version.rb +10 -15
- data/newrelic.yml +12 -19
- data/newrelic_rpm.gemspec +22 -464
- data/test/multiverse/.gitignore +1 -0
- data/test/multiverse/lib/multiverse/environment.rb +1 -1
- data/test/multiverse/lib/multiverse/suite.rb +2 -0
- data/test/multiverse/suites/active_record/Envfile +3 -3
- data/test/multiverse/suites/active_record/ar_method_aliasing.rb +1 -1
- data/test/multiverse/suites/active_record/config/newrelic.yml +2 -2
- data/test/multiverse/suites/agent_only/Envfile +2 -1
- data/test/multiverse/suites/agent_only/config/newrelic.yml +3 -1
- data/test/multiverse/suites/agent_only/cross_process_test.rb +56 -0
- data/test/multiverse/suites/{logging → agent_only}/logging_test.rb +42 -22
- data/test/multiverse/suites/agent_only/no_dns_resolv.rb +17 -0
- data/test/multiverse/suites/{rum_auto_instrumentation/sanity_test.rb → agent_only/rum_instrumentation_test.rb} +25 -46
- data/test/multiverse/suites/agent_only/service_timeout_test.rb +6 -3
- data/test/multiverse/suites/agent_only/ssl_test.rb +22 -0
- data/test/multiverse/suites/{no_load → agent_only}/start_up_test.rb +9 -2
- data/test/multiverse/suites/agent_only/testing_app.rb +17 -0
- data/test/multiverse/suites/agent_only/thread_profiling_test.rb +6 -5
- data/test/multiverse/suites/datamapper/config/newrelic.yml +1 -1
- data/test/multiverse/suites/{rails_3_queue_time → rails}/Envfile +3 -0
- data/test/multiverse/suites/rails/app.rb +49 -0
- data/test/multiverse/suites/{rails_3_views → rails}/app/views/foos/_foo.html.haml +0 -0
- data/test/multiverse/suites/{rails_3_views/app/views/test → rails/app/views/views}/_a_partial.html.erb +0 -0
- data/test/multiverse/suites/{rails_3_views/app/views/test → rails/app/views/views}/_mid_partial.html.erb +0 -0
- data/test/multiverse/suites/{rails_3_views/app/views/test → rails/app/views/views}/_top_partial.html.erb +0 -0
- data/test/multiverse/suites/{rails_3_views/app/views/test → rails/app/views/views}/deep_partial.html.erb +0 -0
- data/test/multiverse/suites/{rails_3_views/app/views/test → rails/app/views/views}/haml_view.html.haml +0 -0
- data/test/multiverse/suites/{rails_3_views/app/views/test → rails/app/views/views}/index.html.erb +0 -0
- data/test/multiverse/suites/rails/config/newrelic.yml +32 -0
- data/test/multiverse/suites/{rails_3_error_tracing → rails}/error_tracing_test.rb +51 -88
- data/test/multiverse/suites/rails/gc_instrumentation_test.rb +79 -0
- data/test/multiverse/suites/{rails_3_queue_time → rails}/queue_time_test.rb +3 -23
- data/test/multiverse/suites/{rails_3_views → rails}/view_instrumentation_test.rb +21 -61
- data/test/multiverse/suites/resque/Envfile +7 -4
- data/test/multiverse/suites/resque/Rakefile +8 -0
- data/test/multiverse/suites/resque/config/newrelic.yml +1 -1
- data/test/multiverse/suites/resque/instrumentation_test.rb +118 -41
- data/test/multiverse/suites/resque/resque_setup.rb +15 -0
- data/test/multiverse/suites/sinatra/config/newrelic.yml +1 -2
- data/test/multiverse/suites/sinatra/sinatra_error_tracing_test.rb +38 -0
- data/test/multiverse/suites/sinatra/sinatra_test.rb +17 -0
- data/test/multiverse/test/suite_examples/one/a/config/newrelic.yml +1 -1
- data/test/multiverse/test/suite_examples/one/b/config/newrelic.yml +1 -1
- data/test/new_relic/agent/agent/connect_test.rb +24 -100
- data/test/new_relic/agent/agent/start_worker_thread_test.rb +3 -3
- data/test/new_relic/agent/agent_test.rb +126 -31
- data/test/new_relic/agent/browser_monitoring_test.rb +1 -1
- data/test/new_relic/agent/busy_calculator_test.rb +8 -0
- data/test/new_relic/agent/configuration/manager_test.rb +28 -0
- data/test/new_relic/agent/configuration/yaml_source_test.rb +12 -2
- data/test/new_relic/agent/cross_process_monitoring_test.rb +144 -31
- data/test/new_relic/agent/error_collector_test.rb +16 -0
- data/test/new_relic/agent/event_listener_test.rb +46 -0
- data/test/new_relic/agent/instrumentation/browser_monitoring_timings_test.rb +57 -30
- data/test/new_relic/agent/instrumentation/task_instrumentation_test.rb +1 -0
- data/test/new_relic/agent/new_relic_service_test.rb +95 -2
- data/test/new_relic/agent/pipe_channel_manager_test.rb +3 -3
- data/test/new_relic/agent/pipe_service_test.rb +21 -1
- data/test/new_relic/agent/rpm_agent_test.rb +1 -1
- data/test/new_relic/agent/sql_sampler_test.rb +20 -0
- data/test/new_relic/agent/thread_profiler_test.rb +53 -8
- data/test/new_relic/agent/worker_loop_test.rb +19 -16
- data/test/new_relic/agent_test.rb +1 -2
- data/test/new_relic/coerce_test.rb +65 -0
- data/test/new_relic/command/deployments_test.rb +1 -1
- data/test/new_relic/control_test.rb +23 -44
- data/test/new_relic/fake_collector.rb +34 -6
- data/test/new_relic/local_environment_test.rb +1 -1
- data/test/new_relic/metric_data_test.rb +29 -0
- data/test/new_relic/noticed_error_test.rb +8 -0
- data/test/new_relic/rack/agent_hooks_test.rb +30 -0
- data/test/new_relic/rack/error_collector_test.rb +16 -0
- data/test/new_relic/transaction_sample/segment_test.rb +7 -0
- data/test/new_relic/transaction_sample_test.rb +36 -8
- data/test/new_relic/version_number_test.rb +6 -30
- data/test/script/ci.sh +6 -5
- data/test/test_contexts.rb +2 -1
- data/test/test_helper.rb +23 -6
- data/ui/helpers/google_pie_chart.rb +1 -0
- metadata +68 -67
- data/newrelic_rpm.gemspec.erb +0 -54
- data/test/fixtures/gemspec_no_build.rb +0 -442
- data/test/fixtures/gemspec_with_build.rb +0 -442
- data/test/fixtures/gemspec_with_build_and_stage.rb +0 -442
- data/test/multiverse/suites/logging/Envfile +0 -4
- data/test/multiverse/suites/logging/config/newrelic.yml +0 -22
- data/test/multiverse/suites/monitor_mode_false/Envfile +0 -2
- data/test/multiverse/suites/monitor_mode_false/config/newrelic.yml +0 -25
- data/test/multiverse/suites/monitor_mode_false/no_dns_resolv.rb +0 -29
- data/test/multiverse/suites/no_load/Envfile +0 -2
- data/test/multiverse/suites/no_load/config/newrelic.yml +0 -22
- data/test/multiverse/suites/rails_3_error_tracing/Envfile +0 -15
- data/test/multiverse/suites/rails_3_error_tracing/config/newrelic.yml +0 -165
- data/test/multiverse/suites/rails_3_gc/Envfile +0 -8
- data/test/multiverse/suites/rails_3_gc/config/newrelic.yml +0 -167
- data/test/multiverse/suites/rails_3_gc/instrumentation_test.rb +0 -92
- data/test/multiverse/suites/rails_3_queue_time/config/newrelic.yml +0 -165
- data/test/multiverse/suites/rails_3_views/.gitignore +0 -3
- data/test/multiverse/suites/rails_3_views/Envfile +0 -16
- data/test/multiverse/suites/rails_3_views/config/newrelic.yml +0 -164
- data/test/multiverse/suites/resque/dump.rdb +0 -0
- data/test/multiverse/suites/rum_auto_instrumentation/Envfile +0 -4
- data/test/multiverse/suites/rum_auto_instrumentation/config/newrelic.yml +0 -24
- data/test/multiverse/suites/rum_auto_instrumentation/responses/worst_case_small.html +0 -5000
- data/test/new_relic/fake_service.rb +0 -53
@@ -1,92 +0,0 @@
|
|
1
|
-
require "action_controller/railtie"
|
2
|
-
require "rails/test_unit/railtie"
|
3
|
-
require 'rails/test_help'
|
4
|
-
require 'test/unit'
|
5
|
-
|
6
|
-
# BEGIN RAILS APP
|
7
|
-
|
8
|
-
class MyApp < Rails::Application
|
9
|
-
config.active_support.deprecation = :log
|
10
|
-
config.secret_token = '!*#$#' * 31
|
11
|
-
end
|
12
|
-
MyApp.initialize!
|
13
|
-
|
14
|
-
MyApp.routes.draw do
|
15
|
-
match '/:controller(/:action(/:id))'
|
16
|
-
end
|
17
|
-
|
18
|
-
class ApplicationController < ActionController::Base; end
|
19
|
-
|
20
|
-
class TestController < ApplicationController
|
21
|
-
include Rails.application.routes.url_helpers
|
22
|
-
def gc_action
|
23
|
-
GC.disable
|
24
|
-
|
25
|
-
long_string = "01234567" * 100_000
|
26
|
-
long_string = nil
|
27
|
-
another_long_string = "01234567" * 100_000
|
28
|
-
|
29
|
-
start = Time.now
|
30
|
-
GC.enable
|
31
|
-
GC.start
|
32
|
-
stop = Time.now
|
33
|
-
|
34
|
-
@duration = stop.to_f - start.to_f
|
35
|
-
|
36
|
-
render :text => @duration.to_s
|
37
|
-
ensure
|
38
|
-
GC.enable
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
# END RAILS APP
|
43
|
-
|
44
|
-
class TestControllerTest < ActionController::TestCase
|
45
|
-
tests TestController
|
46
|
-
def setup
|
47
|
-
enable_gc_stats
|
48
|
-
|
49
|
-
@controller = TestController.new
|
50
|
-
NewRelic::Agent.instance.stats_engine.reset_stats
|
51
|
-
NewRelic::Agent.instance.transaction_sampler \
|
52
|
-
.instance_variable_set(:@samples, [])
|
53
|
-
NewRelic::Agent.manual_start
|
54
|
-
end
|
55
|
-
|
56
|
-
def teardown
|
57
|
-
NewRelic::Agent.shutdown
|
58
|
-
end
|
59
|
-
|
60
|
-
def enable_gc_stats
|
61
|
-
if RUBY_DESCRIPTION =~ /Enterprise/
|
62
|
-
GC.enable_stats
|
63
|
-
elsif RUBY_VERSION >= '1.9.2'
|
64
|
-
GC::Profiler.enable
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
class GCRailsInstrumentationTest < TestControllerTest
|
70
|
-
def test_records_accurate_time_for_gc_activity
|
71
|
-
get :gc_action
|
72
|
-
|
73
|
-
assert_in_delta(assigns[:duration],
|
74
|
-
NewRelic::Agent.agent.stats_engine \
|
75
|
-
.get_stats('GC/cumulative') \
|
76
|
-
.total_call_time, 0.1,
|
77
|
-
'problem with unscoped GC metric')
|
78
|
-
assert_in_delta(assigns[:duration],
|
79
|
-
NewRelic::Agent.agent.stats_engine \
|
80
|
-
.get_stats('GC/cumulative', true, false,
|
81
|
-
'Controller/test/gc_action') \
|
82
|
-
.total_call_time, 0.1,
|
83
|
-
'problem with scoped GC metric')
|
84
|
-
end
|
85
|
-
|
86
|
-
def test_records_transaction_param_for_gc_activity
|
87
|
-
get :gc_action
|
88
|
-
|
89
|
-
trace = NewRelic::Agent.instance.transaction_sampler.last_sample
|
90
|
-
assert_in_delta(assigns[:duration], trace.params[:custom_params][:gc_time], 0.1)
|
91
|
-
end
|
92
|
-
end
|
@@ -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,16 +0,0 @@
|
|
1
|
-
suite_condition("Rails 3 not compatible with 1.8.6") do
|
2
|
-
RUBY_VERSION != '1.8.6'
|
3
|
-
end
|
4
|
-
|
5
|
-
gemfile <<-RB
|
6
|
-
gem 'rails', '~>3.2.0'
|
7
|
-
gem 'haml'
|
8
|
-
RB
|
9
|
-
gemfile <<-RB
|
10
|
-
gem 'rails', '~>3.1.0'
|
11
|
-
gem 'haml'
|
12
|
-
RB
|
13
|
-
gemfile <<-RB
|
14
|
-
gem 'rails', '~>3.0.0'
|
15
|
-
gem 'haml'
|
16
|
-
RB
|
@@ -1,164 +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
|
-
development:
|
132
|
-
<<: *default_settings
|
133
|
-
# turn off communication to RPM service in development mode.
|
134
|
-
# NOTE: for initial evaluation purposes, you may want to temporarily turn
|
135
|
-
# the agent on in development mode.
|
136
|
-
enabled: true
|
137
|
-
|
138
|
-
# When running in Developer Mode, the New Relic Agent will present
|
139
|
-
# performance information on the last 100 transactions you have
|
140
|
-
# executed since starting the mongrel. to view this data, go to
|
141
|
-
# http://localhost:3000/newrelic
|
142
|
-
developer: true
|
143
|
-
|
144
|
-
test:
|
145
|
-
<<: *default_settings
|
146
|
-
# it almost never makes sense to turn on the agent when running unit, functional or
|
147
|
-
# integration tests or the like.
|
148
|
-
enabled: true
|
149
|
-
log_level: debug
|
150
|
-
|
151
|
-
# Turn on the agent in production for 24x7 monitoring. NewRelic testing shows
|
152
|
-
# an average performance impact of < 5 ms per transaction, you you can leave this on
|
153
|
-
# all the time without incurring any user-visible performance degredation.
|
154
|
-
production:
|
155
|
-
<<: *default_settings
|
156
|
-
enabled: true
|
157
|
-
|
158
|
-
# many applications have a staging environment which behaves identically to production.
|
159
|
-
# Support for that environment is provided here. By default, the staging environment has
|
160
|
-
# the agent turned on.
|
161
|
-
staging:
|
162
|
-
<<: *default_settings
|
163
|
-
enabled: true
|
164
|
-
app_name: My Application (Staging)
|
Binary file
|