A Ruby gem for detailed Rails application performance monitoring 📈. Metrics and transaction traces are reported to Scout, a hosted application monitoring service.
The Scout agent is engineered to do some wonderful things:
- A unique focus on identifying those hard-to-investigate outliers like memory bloat, N+1s, and user-specific problems. See an example workflow.
- Low-overhead
- View your performance metrics during development with DevTrace and in production via server_timing.
- Production-Safe profiling of custom code via ScoutProf (BETA).
Add the gem to your Gemfile
gem 'scout_apm'
Add a version of the parser
gem that supports your version of Ruby. For example, if you're on Ruby 3.3.0:
gem 'parser', '~> 3.3.0.0'
Update your Gemfile
bundle install
Signup for a Scout account and put the provided
config file at RAILS_ROOT/config/scout_apm.yml
.
Your config file should look like:
common: &defaults
name: YOUR_APPLICATION_NAME
key: YOUR_APPLICATION_KEY
monitor: true
test:
monitor: false
production:
<<: *defaults
To use DevTrace, our free, no-signup, in-browser development profiler:
- Add the gem to your Gemfile:
# Gemfile
gem 'scout_apm'
- Start your Rails app with the SCOUT_DEV_TRACE environment variable:
SCOUT_DEV_TRACE=true rails server
- Point your gemfile at your local checkout:
gem 'scout_apm', path: '/path/to/scout_apm_ruby
- Compile native code:
cd /path/to/scout_apm_ruby && bundle exec rake compile
For the complete list of supported frameworks, Rubies, configuration options and more, see our help site.
Email [email protected] if you need a hand.