diff --git a/.gitignore b/.gitignore
index b59e8d5..741d4b5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,4 +23,6 @@
/.DS_Store
/doc/gh_sparkline.js
/tempodb.csv
-/lib/tasks/tempo.rake
\ No newline at end of file
+/lib/tasks/tempo.rake
+/heroku_dumps
+heroku_sync.sh
\ No newline at end of file
diff --git a/.ruby-version b/.ruby-version
new file mode 100644
index 0000000..68b3a4c
--- /dev/null
+++ b/.ruby-version
@@ -0,0 +1 @@
+1.9.3-p551
diff --git a/Gemfile b/Gemfile
index 07be0bc..815f915 100644
--- a/Gemfile
+++ b/Gemfile
@@ -2,7 +2,7 @@ source 'https://rubygems.org'
ruby "1.9.3"
-gem 'rails', '3.2.19'
+gem 'rails', '~> 3.2.19'
gem 'rack', '~> 1.4.5'
gem 'json', '>= 1.7.7'
@@ -40,6 +40,8 @@ end
gem 'jquery-rails'
gem "rspec-rails", :group => [:test, :development]
+gem 'dotenv-rails', '~> 0.11', :group => [:test, :development]
+
group :test do
gem "factory_girl_rails"
gem "guard-rspec"
@@ -110,7 +112,7 @@ end
gem 'rubyzip', :require => ["zip/zip"]
# Performance metrics
-gem "newrelic_rpm", "~> 3.5.5.540.dev", :group => :production
+# gem "newrelic_rpm", "~> 3.5.5.540.dev", :group => :production
# Pretty form display
gem 'simple_form'
@@ -121,8 +123,10 @@ gem 'psych'
# jQuery file uploader assets
gem "jquery-fileupload-rails"
-# Time series service
-gem 'tempodb'
-
# Elastic Search
# gem 'tire'
+
+# Metrics
+gem "skylight"
+
+gem 'rollbar', '~> 2.2.1'
diff --git a/Gemfile.lock b/Gemfile.lock
index 3e48445..a63520a 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -65,6 +65,11 @@ GEM
execjs
coffee-script-source (1.4.0)
diff-lcs (1.1.3)
+ dotenv (0.11.1)
+ dotenv-deployment (~> 0.0.2)
+ dotenv-deployment (0.0.2)
+ dotenv-rails (0.11.1)
+ dotenv (= 0.11.1)
erubis (2.7.0)
excon (0.16.10)
execjs (1.4.0)
@@ -106,7 +111,6 @@ GEM
hashie (1.2.0)
hike (1.2.3)
httpauth (0.2.0)
- httpclient (2.3.3)
i18n (0.6.11)
jeweler (1.8.4)
bundler (~> 1.0)
@@ -146,7 +150,6 @@ GEM
net-scp (1.0.4)
net-ssh (>= 1.99.1)
net-ssh (2.6.3)
- newrelic_rpm (3.5.5.540.dev)
nokogiri (1.5.6)
oauth2 (0.8.0)
faraday (~> 0.8)
@@ -225,6 +228,7 @@ GEM
redis (>= 2.2.0)
rest-client (1.6.7)
mime-types (>= 1.16)
+ rollbar (2.2.1)
rspec (2.8.0)
rspec-core (~> 2.8.0)
rspec-expectations (~> 2.8.0)
@@ -256,6 +260,8 @@ GEM
simple_form (2.0.4)
actionpack (~> 3.0)
activemodel (~> 3.0)
+ skylight (0.8.0)
+ activesupport (>= 3.0.0)
slop (3.3.3)
sprockets (2.2.2)
hike (~> 1.2)
@@ -270,9 +276,6 @@ GEM
actionpack (~> 3.0)
activemodel (~> 3.0)
railties (~> 3.0)
- tempodb (0.5.4)
- httpclient
- json
thor (0.19.1)
tilt (1.4.1)
treetop (1.4.15)
@@ -302,6 +305,7 @@ DEPENDENCIES
cancan
capybara (= 1.1.2)
coffee-rails (~> 3.2.1)
+ dotenv-rails (~> 0.11)
factory_girl
factory_girl_rails
font-awesome-rails
@@ -314,7 +318,6 @@ DEPENDENCIES
kaminari
localeapp
morris-rails!
- newrelic_rpm (~> 3.5.5.540.dev)
omniauth
omniauth-allied_modders
omniauth-openid
@@ -322,10 +325,11 @@ DEPENDENCIES
pg
psych
rack (~> 1.4.5)
- rails (= 3.2.19)
+ rails (~> 3.2.19)
raphaeljs-rails
redis
redis-rails
+ rollbar (~> 2.2.1)
rspec (= 2.8.0)
rspec-rails
rubyzip
@@ -333,9 +337,9 @@ DEPENDENCIES
select2-rails
selenium-webdriver (= 2.20.0)
simple_form
+ skylight
steam-condenser
strong_parameters
- tempodb
turn (= 0.8.2)
uglifier (>= 1.0.3)
unicorn
diff --git a/app/assets/javascripts/metrics.js.coffee b/app/assets/javascripts/metrics.js.coffee
deleted file mode 100644
index 951aa6f..0000000
--- a/app/assets/javascripts/metrics.js.coffee
+++ /dev/null
@@ -1,57 +0,0 @@
-
-Metrics = {}
-
-Metrics.loadUsersGraphs = ->
- return if $("#users_chart").size() == 0
- $.ajax "/metrics/users.json",
- success: (data) ->
- Morris.Area
- element: 'users_chart'
- data: data.metrics
- xkey: 'd'
- ykeys: ['u']
- labels: ["Users"]
- hideHover: true
- continuousLine: true
-
- Morris.Donut
- element: 'users_pie'
- data: data.providers
-
- return
- return
-
-Metrics.loadTranslationsGraph = ->
- return if $("#translations_chart").size() == 0
- $.ajax "/metrics/translations.json",
- success: (data) ->
- Morris.Area
- element: 'translations_chart'
- data: data.metrics
- xkey: 'd'
- ykeys: ['w']
- labels: ["Web"]
- hideHover: true
- continuousLine: true
- return
-
-Metrics.loadPluginsGraph = ->
- return if $("#plugins_chart").size() == 0
- $.ajax "/metrics/plugins.json",
- success: (data) ->
- Morris.Area
- element: 'plugins_chart'
- data: data.metrics
- xkey: 'd'
- ykeys: ['p']
- labels: ["Plugins"]
- hideHover: true
- continuousLine: true
- return
-
-
-$(document).ready ->
- Metrics.loadTranslationsGraph()
- Metrics.loadPluginsGraph()
- Metrics.loadUsersGraphs()
- return
\ No newline at end of file
diff --git a/app/assets/javascripts/metrics_graphing.js b/app/assets/javascripts/metrics_graphing.js
deleted file mode 100644
index 884875f..0000000
--- a/app/assets/javascripts/metrics_graphing.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// For Graphing
-//= OFF_require raphael/raphael
-//= require morris
-
-//= OFF_require morris.grid
-//= OFF_require morris.hover
-//= OFF_require morris.area
-//= OFF_require morris.line
-//= OFF_require morris.bar
-//= OFF_require morris.donut
diff --git a/app/controllers/metrics_controller.rb b/app/controllers/metrics_controller.rb
index 2e515f8..1f1e20a 100644
--- a/app/controllers/metrics_controller.rb
+++ b/app/controllers/metrics_controller.rb
@@ -3,67 +3,6 @@ class MetricsController < ApplicationController
def index
end
- def translations
-
- metrics = {}
- resp = {
- metrics: []
- }
-
- readkey("translations").each do |point|
- time = format_time point.ts
- metrics[time] = {t: point.value}
- end
-
- readkey("translations_web").each do |point|
- metrics[format_time(point.ts)].merge!({w: point.value})
- end
-
- # readkey("translations_imported").each do |point|
- # metrics[format_time(point.ts)].merge!({i: point.value})
- # end
-
- metrics.each_pair do |k,v|
- resp[:metrics] << v.merge({d: k})
- end
-
- render :json => resp
- end
-
-
- def plugins
- resp = {
- metrics: []
- }
- readkey("plugins").each do |point|
- resp[:metrics] << {
- d: format_time(point.ts),
- p: point.value
- }
- end
- render :json => resp
- end
-
- def users
- resp = {
- metrics: [],
- providers: []
- }
- readkey("users").each do |point|
- resp[:metrics] << {
- d: format_time(point.ts),
- u: point.value
- }
- end
-
- User.group(:provider).count.each do |provider,num|
- resp[:providers] << {label: provider_name(provider), value: num}
- end
-
- render :json => resp
- end
-
-
# This should be called in order to log the metrics to tempodb
# ?nosave=1 to not save to tempodb
# TODO: Maybe some cheesy authentication? param checking?
@@ -103,12 +42,9 @@ def update
metrics << {key: "tags_used", v: Tag.used.count}
metrics << {key: "tags_unused", v: Tag.unused.count}
- tempodb.write_bulk timestamp, metrics unless params[:nosave].eql?("1")
-
response = {
timestamp: timestamp,
metric_count: metrics.size,
- nosave: params[:nosave].eql?("1"),
metrics: metrics,
}
@@ -117,19 +53,11 @@ def update
private
- def readkey(key)
- tempodb.read_key(key, 1.year.ago, Time.now.utc, :interval => "1day").data
- end
-
def format_time(ts)
# ts.strftime "%Y-%m-%d %H:00"
ts.strftime "%Y-%m-%d"
end
- def tempodb
- @tempodb ||= TempoDB::Client.new(ENV['TEMPODB_API_KEY'], ENV['TEMPODB_API_SECRET'])
- end
-
def provider_name(provider)
return "AlliedModders" if provider.eql?("allied_modders")
return "Steam" if provider.eql?("steam")
diff --git a/app/controllers/sourcemod_plugins_controller.rb b/app/controllers/sourcemod_plugins_controller.rb
index 762b963..f86b61b 100644
--- a/app/controllers/sourcemod_plugins_controller.rb
+++ b/app/controllers/sourcemod_plugins_controller.rb
@@ -20,7 +20,7 @@ def index
@sourcemod_plugin.name = params[:name] || ''
- search = SourcemodPlugin.includes(:user)
+ search = SourcemodPlugin.includes(:user, :tags)
if !@sourcemod_plugin.name.blank?
diff --git a/app/views/metrics/index.html.erb b/app/views/metrics/index.html.erb
index f506f35..16c8a50 100644
--- a/app/views/metrics/index.html.erb
+++ b/app/views/metrics/index.html.erb
@@ -12,7 +12,7 @@
-
+
Users
diff --git a/app/views/pages/changelog.html.erb b/app/views/pages/changelog.html.erb
index d866d02..f22e0c5 100644
--- a/app/views/pages/changelog.html.erb
+++ b/app/views/pages/changelog.html.erb
@@ -5,6 +5,14 @@
I will try to keep this updated with changes I make in each version.
+
0.5.1 - (2015-09-12)
+
+ - Added instrumentation to the app to monitor API calls
+ - Removed time-series endpoints
+ - Added exception tracking service
+ - Improved database
+
+
0.5.0 - (2013-03-30)
diff --git a/app/views/sourcemod_plugins/_sourcemod_plugin.html.erb b/app/views/sourcemod_plugins/_sourcemod_plugin.html.erb
index 4527af4..edcf8c1 100644
--- a/app/views/sourcemod_plugins/_sourcemod_plugin.html.erb
+++ b/app/views/sourcemod_plugins/_sourcemod_plugin.html.erb
@@ -16,10 +16,10 @@
- <% if sourcemod_plugin.tags.count > 0 %>
+ <% if sourcemod_plugin.tags.size > 0 %>
Tags:
- <% sourcemod_plugin.tags.order("tags.name ASC").each do |tag| %>
+ <% sourcemod_plugin.tags.sort{|a,b| a.name <=> b.name}.each do |tag| %>
- <%= link_to tag.name, tagged_sourcemod_plugins_path(tag.name) %>
<% end %>
diff --git a/config/database.yml b/config/database.yml
index 88ddc5b..6d99a85 100644
--- a/config/database.yml
+++ b/config/database.yml
@@ -7,7 +7,7 @@ development:
adapter: postgresql
username: rails
password: rails99
- database: sourcemod_translator_development
+ database: sourcemod_translator
pool: 5
# Warning: The database defined as "test" will be erased and
diff --git a/config/environments/development.rb b/config/environments/development.rb
index 9ef6cb0..9268cfc 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -27,7 +27,7 @@
# Log the query plan for queries taking more than this (works
# with SQLite, MySQL, and PostgreSQL)
- config.active_record.auto_explain_threshold_in_seconds = 0.5
+ config.active_record.auto_explain_threshold_in_seconds = 1.0
# Do not compress assets
config.assets.compress = false
diff --git a/config/environments/production.rb b/config/environments/production.rb
index f17aa85..50ba7b3 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -43,7 +43,7 @@
# config.cache_store = :mem_cache_store
# Enable serving of images, stylesheets, and JavaScripts from an asset server
- config.action_controller.asset_host = "//#{ENV['ASSET_DIRECTORY']}.s3.amazonaws.com"
+ config.action_controller.asset_host = "//#{ENV['ASSET_HOST']}"
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
config.assets.precompile += %w( bootstrap.js bootstrap.css jquery-fileupload.js uploads.js metrics_graphing.js metrics_graphing.css plugin_stats.js )
diff --git a/config/initializers/rollbar.rb b/config/initializers/rollbar.rb
new file mode 100644
index 0000000..34cf595
--- /dev/null
+++ b/config/initializers/rollbar.rb
@@ -0,0 +1,50 @@
+require 'rollbar/rails'
+Rollbar.configure do |config|
+ # Without configuration, Rollbar is enabled in all environments.
+ # To disable in specific environments, set config.enabled=false.
+
+ config.access_token = ENV['ROLLBAR_ACCESS_TOKEN']
+
+ # Here we'll disable in 'test':
+ if Rails.env.test? || Rails.env.development?
+ config.enabled = false
+ end
+
+ # By default, Rollbar will try to call the `current_user` controller method
+ # to fetch the logged-in user object, and then call that object's `id`,
+ # `username`, and `email` methods to fetch those properties. To customize:
+ config.person_method = "current_user"
+ config.person_id_method = "id"
+ config.person_username_method = "name"
+
+ # If you want to attach custom data to all exception and message reports,
+ # provide a lambda like the following. It should return a hash.
+ # config.custom_data_method = lambda { {:some_key => "some_value" } }
+
+ # Add exception class names to the exception_level_filters hash to
+ # change the level that exception is reported at. Note that if an exception
+ # has already been reported and logged the level will need to be changed
+ # via the rollbar interface.
+ # Valid levels: 'critical', 'error', 'warning', 'info', 'debug', 'ignore'
+ # 'ignore' will cause the exception to not be reported at all.
+ # config.exception_level_filters.merge!('MyCriticalException' => 'critical')
+
+ # You can also specify a callable, which will be called with the exception instance.
+ # config.exception_level_filters.merge!('MyCriticalException' => lambda { |e| 'critical' })
+
+ # Enable asynchronous reporting (uses girl_friday or Threading if girl_friday
+ # is not installed)
+ # config.use_async = true
+ # Supply your own async handler:
+ # config.async_handler = Proc.new { |payload|
+ # Thread.new { Rollbar.process_payload_safely(payload) }
+ # }
+
+ # Enable asynchronous reporting (using sucker_punch)
+ # config.use_sucker_punch
+
+ # Enable delayed reporting (using Sidekiq)
+ # config.use_sidekiq
+ # You can supply custom Sidekiq options:
+ # config.use_sidekiq 'queue' => 'my_queue'
+end
diff --git a/config/initializers/version.rb b/config/initializers/version.rb
index 1f9a85d..0e6721e 100644
--- a/config/initializers/version.rb
+++ b/config/initializers/version.rb
@@ -1 +1 @@
-$VERSION = "0.5.0"
\ No newline at end of file
+$VERSION = "0.5.1"
\ No newline at end of file
diff --git a/config/newrelic.yml b/config/newrelic.yml
deleted file mode 100644
index ccf098e..0000000
--- a/config/newrelic.yml
+++ /dev/null
@@ -1,259 +0,0 @@
-<%unless ENV["NEW_RELIC_LICENSE_KEY"].nil? %>
-# 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: '<%= ENV["NEW_RELIC_LICENSE_KEY"] %>'
-
- # Agent Enabled (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. The service will then auto-map
- # instances of your application into an "application" on your
- # 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, or a yaml list.
- # Defaults to the capitalized RAILS_ENV or RACK_ENV (i.e.,
- # Production, Staging, etc)
- #
- # Example:
- #
- # app_name:
- # - Ajax Service
- # - All Services
- #
- app_name: <%= ENV["NEW_RELIC_APP_NAME"] %>
-
- # 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
-
- # Optionally set the path to the log file This is expanded from the
- # root directory (may be relative or absolute, e.g. 'log/' or
- # '/var/log/') The agent will attempt to create this directory if it
- # does not exist.
- # log_file_path: 'log'
-
- # Optionally set the name of the log file, defaults to 'newrelic_agent.log'
- # log_file_name: 'newrelic_agent.log'
-
- # The newrelic agent communicates with the 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
- # 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
-
- # Set your application's Apdex threshold value with the 'apdex_t'
- # setting, in seconds. The apdex_t value determines the buckets used
- # to compute your overall Apdex score.
- # Requests that take less than apdex_t seconds to process will be
- # classified as Satisfying transactions; more than apdex_t seconds
- # as Tolerating transactions; and more than four times the apdex_t
- # value as Frustrating transactions.
- # For more about the Apdex standard, see
- # http://newrelic.com/docs/general/apdex
-
- apdex_t: 0.5
-
- #============================== Browser Monitoring ===============================
- # New Relic Real User Monitoring 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.
- browser_monitoring:
- # By default the agent automatically injects the monitoring JavaScript
- # into web pages. Set this attribute to false to turn off this behavior.
- auto_instrument: true
-
- # Proxy settings for connecting to the service.
- #
- # 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
- capture_params: true
-
-
- # Transaction tracer captures deep information about slow
- # transactions and sends this to the 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
- # and above product levels.
- 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
- # the service. 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
- record_sql: raw
-
- # 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 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 the service 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 and above
- # product levels
- 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
-
- # If you're interested in capturing memcache keys as though they
- # were SQL uncomment this flag. Note that this does increase
- # overhead slightly on every memcached call, and can have security
- # implications if your memcached keys are sensitive
- # capture_memcache_keys: 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 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 the agent 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 mongrel.
- # 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. NewRelic
-# testing shows an average performance impact of < 5 ms per
-# transaction, you 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: <%= ENV["NEW_RELIC_APP_NAME"] %> (Staging)
-<%end%>
\ No newline at end of file
diff --git a/config/routes.rb b/config/routes.rb
index 4c04c68..e6816bf 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -52,11 +52,11 @@
get 'changelog', to: 'pages#changelog', as: 'changelog'
scope 'metrics' do
- get '', to: 'metrics#index', as: :metrics, format: :html
+ # get '', to: 'metrics#index', as: :metrics, format: :html
get 'update', to: 'metrics#update', as: :metrics_update, format: :json
- get 'translations', to: 'metrics#translations', as: :metrics_translations, format: :json
- get 'plugins', to: 'metrics#plugins', as: :metrics_plugins, format: :json
- get 'users', to: 'metrics#users', as: :metrics_users, format: :json
+ # get 'translations', to: 'metrics#translations', as: :metrics_translations, format: :json
+ # get 'plugins', to: 'metrics#plugins', as: :metrics_plugins, format: :json
+ # get 'users', to: 'metrics#users', as: :metrics_users, format: :json
end
root :to => 'pages#index'
diff --git a/config/unicorn.rb b/config/unicorn.rb
index 25b147a..f044297 100644
--- a/config/unicorn.rb
+++ b/config/unicorn.rb
@@ -1,5 +1,5 @@
# number of workers
-worker_processes ENV['UNICORN_WORKERS'].to_i
+worker_processes ENV['WEB_CONCURRENCY'].to_i
# bailout after
timeout 30