Query Analysis with Industry Standard Insights

Scout automatically reveals slow query problems, N+1 query issues, and memory bloat. Fix elusive and performance impacting events with a solution that uncovers your most expensive queries and bottlenecks and pinpoints the root cause – with detailed metrics.

Query Analysis

Base Database Decisions On Meaningful Data

No guessing at bottlenecks or manually timing operations. Scout's Query Analysis gives you concrete data about your most resource-intensive database operations, so you can make informed decisions about optimization and keep your application running smoothly.

Real-time monitoring

Real-time monitoring lets you track your application's throughput while drilling down into specific time periods to investigate performance issues. Whether you're looking at find operations, commits, or custom queries, you'll see exactly how much database time each one consumes.

Database events

Scout automatically detects and alerts on significant changes to database performance. When usage spikes occur – you'll know immediately, with the context you need to quickly diagnose and resolve database bottlenecks.

N+1 Insights

An Industry Standard for Solving N+1 Query Issues

When, instead of a single query, an N amount of individual queries are executed to retrieve related data, this results in a total of N+1 queries. Scout analyzes your traces and shows you the trace found to contain N+1s with UX impacts.

Query impact

See which database queries are consuming the most time and impacting overall performance.

Query bottlenecks

Identify queries causing significant slowdowns within your web endpoints and background jobs.

Slow queries

Track consistently slow-performing queries to prioritize your optimization efforts.

Insights history

Insights From The Past

Scout users can also view past insights related to slow queries, N+1 queries, and memory bloat. These insights have a corresponding trace saved – and with a longer retention period.

Get Started in Minutes

Add Scout to Your App

With monitoring that "just works" for Rails, Django and more, get running in minutes with Scout's streamlined setup. No extra code needed - just deploy our agent and start getting insights in 5 minutes.

Get started in under 3 minutes with our easy to install Ruby agent.

1

Install our gem. In your gemfile:

gem 'scout_apm'
2

Shell:

bundle install
3

Download your customized config file, placing it at config/scout_apm.yml.

4

Deploy.

Heroku customers

We initially provision your application using environment variables instead of the config/scout_apm.yml. Configuration values set via env variables will take priority over those set via yaml.

For Django, use the following steps (Flask and friends, see full docs):

1

Install the scout-apm package:

pip install scout-apm
2

Configure Scout in your settings.py file:

# settings.py
INSTALLED_APPS = [
    "scout_apm.django",  # should be listed first
    # ... other apps ...
]

# Scout settings
SCOUT_MONITOR = True
SCOUT_KEY = "[AVAILABLE IN THE SCOUT UI]"
SCOUT_NAME = "A FRIENDLY NAME FOR YOUR APP"
3

If you wish to configure Scout via environment variables, use SCOUT_MONITOR, SCOUT_NAME, and SCOUT_KEY instead of providing these settings in settings.py.

4

Deploy.

It takes approximately five minutes for your data to first appear within the Scout UI.

Heroku customers

If you've installed Scout via the Heroku Addon, the provisioning process automatically sets SCOUT_MONITOR and SCOUT_KEY via config vars. Only SCOUT_NAME is additionally required.

Scout supports Laravel 5.5+.

Not using Laravel? Check our documentation.

1

Install the scoutapp/scout-apm-laravel package:

composer require scoutapp/scout-apm-laravel
2

Install the scoutapm php extension (optional, recommended):

sudo pecl install scoutapm
3

Configure Scout in your .env file:

# Scout settings
SCOUT_MONITOR=true
SCOUT_KEY="[AVAILABLE IN THE SCOUT UI]"
SCOUT_NAME="A FRIENDLY NAME FOR YOUR APP"
4

Add the config/scout_apm.php:

php artisan vendor:publish --provider="Scoutapm\Laravel\Providers\ScoutApmServiceProvider"
5

Clear and re-cache your config:

php artisan config:cache
6

Deploy.

It takes approximatively five minutes for your data to first appear within the Scout UI.

Heroku customers

If you’ve installed Scout via the Heroku Addon, the provisioning process automatically sets SCOUT_MONITOR and SCOUT_KEY via config vars. Only SCOUT_NAME is required.

1

For a Phoenix app, add our package to mix.exs (and run mix deps.get):

{:scout_apm, "~> 1.0"}]
2

Download your customized config after signing up and place at config/scout_apm.exs

3

Add to your app:

# lib/your_app_web.ex
defmodule YourApp.Web do
  def controller do
    quote do
      use Phoenix.Controller
      use ScoutApm.Instrumentation
      ...
See also

See our full installation guide to get the most out of your Scout instrumentation!

Ready to Optimize Your App?

Join engineering teams who trust Scout Monitoring for hassle-free performance monitoring. With our 3-step setup, powerful tooling, and responsive support, you can quickly identify and fix performance issues before they impact your users.