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.
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!
Aggregates all identical method calls and ranks by total cost – perfect for quickly identifying your most expensive operations.
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.
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!
Identify poorly performing requests to focus your optimization efforts where it matters most.
Track and analyze application performance across different users to understand their experience.
Spot endpoints generating excessive slow requests and impacting overall performance.
Filter transactions using any custom dimension to drill down into specific scenarios.
Explore and analyze trace metrics through interactive histograms that reveal patterns.
Watch filtered trace lists update in real-time as you explore different performance dimensions.
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.
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.
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.
Install our gem. In your gemfile:
gem 'scout_apm'
Shell:
bundle install
Download your customized config file, placing it at config/scout_apm.yml
.
Deploy.
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):
Install the scout-apm
package:
pip install scout-apm
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"
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
.
Deploy.
It takes approximately five minutes for your data to first appear within the Scout UI.
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.
Install the scoutapp/scout-apm-laravel
package:
composer require scoutapp/scout-apm-laravel
Install the scoutapm
php extension (optional, recommended):
sudo pecl install scoutapm
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"
Add the config/scout_apm.php:
php artisan vendor:publish --provider="Scoutapm\Laravel\Providers\ScoutApmServiceProvider"
Clear and re-cache your config:
php artisan config:cache
Deploy.
It takes approximatively five minutes for your data to first appear within the Scout UI.
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.
For a Phoenix app, add our package to mix.exs
(and run mix deps.get
):
{:scout_apm, "~> 1.0"}]
Download your customized config after signing up and place at config/scout_apm.exs
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 our full installation guide to get the most out of your Scout instrumentation!
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.