aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2012-10-18 17:48:21 +0100
committerLouise Crow <louise.crow@gmail.com>2012-10-18 17:48:21 +0100
commit32ac4ff55f2e174718fad97fcbd57b50a3daef7b (patch)
treec89d85e7f4337daa8e4e028df1bfeee38b2076bf
parentfff73a074462ea797c59c561502843f6624a8371 (diff)
parentd99d5d597b16694860192ba6814f348aa445de35 (diff)
Merge remote-tracking branch 'openaustralia_github/optional_new_relic_support' into develop
-rw-r--r--Gemfile1
-rw-r--r--Gemfile.lock8
-rw-r--r--config/deploy.rb1
-rw-r--r--config/newrelic.yml-example216
4 files changed, 223 insertions, 3 deletions
diff --git a/Gemfile b/Gemfile
index 92f9ac172..334c9aa07 100644
--- a/Gemfile
+++ b/Gemfile
@@ -39,6 +39,7 @@ gem 'xml-simple'
gem 'zip'
gem 'capistrano'
gem 'syslog_protocol'
+gem 'newrelic_rpm'
group :test do
gem 'fakeweb'
diff --git a/Gemfile.lock b/Gemfile.lock
index b3fa61708..58c5bcbe0 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -19,13 +19,13 @@ GEM
activesupport (= 2.3.14)
activesupport (2.3.14)
annotate (2.4.0)
+ archive-tar-minitar (0.5.2)
capistrano (2.13.3)
highline
net-scp (>= 1.0.0)
net-sftp (>= 2.0.0)
net-ssh (>= 2.0.14)
net-ssh-gateway (>= 1.1.0)
- archive-tar-minitar (0.5.2)
columnize (0.3.6)
fakeweb (1.3.0)
fast_gettext (0.6.8)
@@ -52,6 +52,7 @@ GEM
net-ssh (2.5.2)
net-ssh-gateway (1.1.0)
net-ssh (>= 1.99.1)
+ newrelic_rpm (3.4.1)
pg (0.13.2)
rack (1.1.3)
rails (2.3.14)
@@ -91,9 +92,9 @@ GEM
ruby-ole (1.2.11.3)
ruby_core_source (0.1.5)
archive-tar-minitar (>= 0.5.2)
+ syslog_protocol (0.9.2)
test-unit (1.2.3)
hoe (>= 1.5.1)
- syslog_protocol (0.9.2)
vpim (0.695)
will_paginate (2.3.16)
xapian-full-alaveteli (1.2.9.5)
@@ -117,6 +118,7 @@ DEPENDENCIES
memcache-client
net-http-local
net-purge
+ newrelic_rpm
pg
rack (~> 1.1.0)
rails (= 2.3.14)
@@ -130,8 +132,8 @@ DEPENDENCIES
ruby-debug
ruby-debug19
ruby-msg (~> 1.5.0)
- test-unit (~> 1.2.3)
syslog_protocol
+ test-unit (~> 1.2.3)
vpim
will_paginate (~> 2.3.11)
xapian-full-alaveteli (~> 1.2.9.5)
diff --git a/config/deploy.rb b/config/deploy.rb
index f95c93b3d..8f0f2c32d 100644
--- a/config/deploy.rb
+++ b/config/deploy.rb
@@ -50,6 +50,7 @@ namespace :deploy do
"#{release_path}/config/general.yml" => "#{shared_path}/general.yml",
"#{release_path}/config/memcached.yml" => "#{shared_path}/memcached.yml",
"#{release_path}/config/rails_env.rb" => "#{shared_path}/rails_env.rb",
+ "#{release_path}/config/newrelic.yml" => "#{shared_path}/newrelic.yml",
"#{release_path}/public/foi-live-creation.png" => "#{shared_path}/foi-live-creation.png",
"#{release_path}/public/foi-user-use.png" => "#{shared_path}/foi-user-use.png",
"#{release_path}/files" => "#{shared_path}/files",
diff --git a/config/newrelic.yml-example b/config/newrelic.yml-example
new file mode 100644
index 000000000..8da7e26bd
--- /dev/null
+++ b/config/newrelic.yml-example
@@ -0,0 +1,216 @@
+#
+# This file configures the New Relic Agent. New Relic monitors
+# Ruby, Java, .NET, PHP, and Python applications with deep visibility and low overhead.
+# For more information, visit www.newrelic.com.
+#
+# Generated October 17, 2012
+#
+# This configuration file is custom generated for OpenAustralia Foundation
+
+# Here are the settings that are common to all environments:
+common: &default_settings
+ # ============================== LICENSE KEY ===============================
+
+ # You must specify the license key associated with your New Relic
+ # account. This key binds your Agent's data to your account in the
+ # New Relic service.
+ #license_key: ''
+
+ # Agent Enabled (Ruby/Rails Only)
+ # Use this setting to force the agent to run or not run.
+ # Default is 'auto' which means the agent will install and run only
+ # if a valid dispatcher such as Mongrel is running. This prevents
+ # it from running with Rake or the console. Set to false to
+ # completely turn the agent off regardless of the other settings.
+ # Valid values are true, false and auto.
+ # agent_enabled: auto
+
+ # Application Name
+ # Set this to be the name of your application as you'd like it show
+ # up in New Relic. New Relic will then auto-map instances of your application
+ # into a New Relic "application" on your home dashboard page. If you want
+ # to map this instance into multiple apps, like "AJAX Requests" and
+ # "All UI" then specify a semicolon-separated list of up to three
+ # distinct names. If you comment this out, it defaults to the
+ # capitalized RAILS_ENV (i.e., Production, Staging, etc)
+ app_name: My Application
+
+ # When "true", the agent collects performance data about your
+ # application and reports this data to the New Relic service at
+ # newrelic.com. This global switch is normally overridden for each
+ # environment below. (formerly called 'enabled')
+ monitor_mode: true
+
+ # Developer mode should be off in every environment but
+ # development as it has very high overhead in memory.
+ developer_mode: false
+
+ # The newrelic agent generates its own log file to keep its logging
+ # information separate from that of your application. Specify its
+ # log level here.
+ log_level: info
+
+ # The newrelic agent communicates with the New Relic service via http by
+ # default. If you want to communicate via https to increase
+ # security, then turn on SSL by setting this value to true. Note,
+ # this will result in increased CPU overhead to perform the
+ # encryption involved in SSL communication, but this work is done
+ # asynchronously to the threads that process your application code,
+ # so it should not impact response times.
+ ssl: false
+
+ # EXPERIMENTAL: enable verification of the SSL certificate sent by
+ # the server. This setting has no effect unless SSL is enabled
+ # above. This may block your application. Only enable it if the data
+ # you send us needs end-to-end verified certificates.
+ #
+ # This means we cannot cache the DNS lookup, so each request to the
+ # New Relic service will perform a lookup. It also means that we cannot
+ # use a non-blocking lookup, so in a worst case, if you have DNS
+ # problems, your app may block indefinitely.
+ # verify_certificate: true
+
+ # Proxy settings for connecting to the New Relic server.
+ #
+ # If a proxy is used, the host setting is required. Other settings
+ # are optional. Default port is 8080.
+ #
+ # proxy_host: hostname
+ # proxy_port: 8080
+ # proxy_user:
+ # proxy_pass:
+
+ # Tells transaction tracer and error collector (when enabled)
+ # whether or not to capture HTTP params. When true, frameworks can
+ # exclude HTTP parameters from being captured.
+ # Rails: the RoR filter_parameter_logging excludes parameters
+ # Java: create a config setting called "ignored_params" and set it to
+ # a comma separated list of HTTP parameter names.
+ # ex: ignored_params: credit_card, ssn, password
+ capture_params: false
+
+ # Transaction tracer captures deep information about slow
+ # transactions and sends this to the New Relic service once a
+ # minute. Included in the transaction is the exact call sequence of
+ # the transactions including any SQL statements issued.
+ transaction_tracer:
+
+ # Transaction tracer is enabled by default. Set this to false to
+ # turn it off. This feature is only available at the Professional
+ # product level.
+ enabled: true
+
+ # Threshold in seconds for when to collect a transaction
+ # trace. When the response time of a controller action exceeds
+ # this threshold, a transaction trace will be recorded and sent to
+ # New Relic. Valid values are any float value, or (default) "apdex_f",
+ # which will use the threshold for an dissatisfying Apdex
+ # controller action - four times the Apdex T value.
+ transaction_threshold: apdex_f
+
+ # When transaction tracer is on, SQL statements can optionally be
+ # recorded. The recorder has three modes, "off" which sends no
+ # SQL, "raw" which sends the SQL statement in its original form,
+ # and "obfuscated", which strips out numeric and string literals.
+ record_sql: obfuscated
+
+ # Threshold in seconds for when to collect stack trace for a SQL
+ # call. In other words, when SQL statements exceed this threshold,
+ # then capture and send to New Relic the current stack trace. This is
+ # helpful for pinpointing where long SQL calls originate from.
+ stack_trace_threshold: 0.500
+
+ # Determines whether the agent will capture query plans for slow
+ # SQL queries. Only supported in mysql and postgres. Should be
+ # set to false when using other adapters.
+ # explain_enabled: true
+
+ # Threshold for query execution time below which query plans will not
+ # not be captured. Relevant only when `explain_enabled` is true.
+ # explain_threshold: 0.5
+
+ # Error collector captures information about uncaught exceptions and
+ # sends them to New Relic for viewing
+ error_collector:
+
+ # Error collector is enabled by default. Set this to false to turn
+ # it off. This feature is only available at the Professional
+ # product level.
+ enabled: true
+
+ # Rails Only - tells error collector whether or not to capture a
+ # source snippet around the place of the error when errors are View
+ # related.
+ capture_source: true
+
+ # To stop specific errors from reporting to New Relic, set this property
+ # to comma-separated values. Default is to ignore routing errors,
+ # which are how 404's get triggered.
+ ignore_errors: ActionController::RoutingError
+
+ # (Advanced) Uncomment this to ensure the CPU and memory samplers
+ # won't run. Useful when you are using the agent to monitor an
+ # external resource
+ # disable_samplers: true
+
+ # If you aren't interested in visibility in these areas, you can
+ # disable the instrumentation to reduce overhead.
+ #
+ # disable_view_instrumentation: true
+ # disable_activerecord_instrumentation: true
+ # disable_memcache_instrumentation: true
+ # disable_dj: true
+
+ # Certain types of instrumentation such as GC stats will not work if
+ # you are running multi-threaded. Please let us know.
+ # multi_threaded = false
+
+# Application Environments
+# ------------------------------------------
+# Environment-specific settings are in this section.
+# For Rails applications, RAILS_ENV is used to determine the environment.
+# For Java applications, pass -Dnewrelic.environment <environment> to set
+# the environment.
+
+# NOTE if your application has other named environments, you should
+# provide newrelic configuration settings for these environments here.
+
+development:
+ <<: *default_settings
+ # Turn off communication to New Relic service in development mode (also
+ # 'enabled').
+ # NOTE: for initial evaluation purposes, you may want to temporarily
+ # turn agent communication on in development mode.
+ monitor_mode: false
+
+ # Rails Only - when running in Developer Mode, the New Relic Agent will
+ # present performance information on the last 100 transactions you have
+ # executed since starting the app server.
+ # NOTE: There is substantial overhead when running in developer mode.
+ # Do not use for production or load testing.
+ developer_mode: true
+
+ # Enable textmate links
+ # textmate: true
+
+test:
+ <<: *default_settings
+ # It almost never makes sense to turn on the agent when running
+ # unit, functional or integration tests or the like.
+ monitor_mode: false
+
+# Turn on the agent in production for 24x7 monitoring. New Relic
+# testing shows an average performance impact of < 5 ms per
+# transaction, so you can leave this on all the time without
+# incurring any user-visible performance degradation.
+production:
+ <<: *default_settings
+ monitor_mode: true
+
+# Many applications have a staging environment which behaves
+# identically to production. Support for that environment is provided
+# here. By default, the staging environment has the agent turned on.
+staging:
+ <<: *default_settings
+ monitor_mode: true
+ app_name: My Application (Staging)