App Traces with Precision and Versatility

Instantly identify performance bottlenecks with detailed transaction monitoring that reveal the full journey of each request, leading directly to the exact line of source code.

Trace Breakdown

No Transaction Left Untraced!

Scout automatically collects and analyzes transactions across your web endpoints and background jobs. Visual indicators highlight performance hotspots, helping you quickly pinpoint issues down to the specific line of code, author, commit date, and deploy time. You can also optimize your traces with custom context – like user IDs, subscription tiers, or business metrics – for deeper insights and additional filtering options!

Errors controller

Summary view

Aggregates all identical method calls and ranks by total cost – perfect for quickly identifying your most expensive operations.

Summary view

Timeline view

Shows the chronological execution order of every call, letting you see exactly how your code flows during a request – great for identifying issues like N+1 queries or blocking operations that delay other processes.

Timeline view
Trace Explorer

Get Answers Now with Scout’s Awesome Trace Explorer

What was the slowest request yesterday? How is the app performing for user X? Which endpoints are generating the bulk of slow requests? Get answers to critical questions in seconds with Scout’s powerful trace explorer!

Get Answers Now with Scout’s Awesome Trace Explorer
Slowest requests

Identify poorly performing requests to focus your optimization efforts where it matters most.

User analysis

Track and analyze application performance across different users to understand their experience.

Problem endpoints

Spot endpoints generating excessive slow requests and impacting overall performance.

Custom filters

Filter transactions using any custom dimension to drill down into specific scenarios.

Visual insights

Explore and analyze trace metrics through interactive histograms that reveal patterns.

Live updates

Watch filtered trace lists update in real-time as you explore different performance dimensions.

GitHub Integration

Code Backtraces with GitHub Integration

If you’ve enabled GitHub integration, you can see the line of code, associated SQL or HTTP endpoint, and the author, commit date, and deployment time for the relevant slow code. If GitHub integration isn’t enabled, you’ll still see a detailed backtrace.

Code Backtraces with GitHub Integration
SQL Insights

Monitor Database Performance with Deep SQL Insights

Stop wasting time hunting down database problems! Scout automatically sanitizes and captures SQL queries, letting you track database performance without compromising security. Spot N+1 problems instantly with inline annotations, and click the "SQL" button next to any call to view complete query details. For optimal performance, Scout limits query statement collection to 16k characters.

Monitor Database Performance with Deep SQL Insights
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.