| Package Data | |
|---|---|
| Maintainer Username: | ScoutAPM | 
| Package Create Date: | 2018-12-13 | 
| Package Last Update: | 2024-06-10 | 
| Language: | PHP | 
| License: | MIT | 
| Last Refreshed: | 2025-10-22 15:03:02 | 
| Package Statistics | |
|---|---|
| Total Downloads: | 804,787 | 
| Monthly Downloads: | 4,468 | 
| Daily Downloads: | 200 | 
| Total Stars: | 22 | 
| Total Watchers: | 6 | 
| Total Forks: | 15 | 
| Total Open Issues: | 2 | 
Monitor the performance of PHP Laravel applications with Scout's PHP APM Agent. Detailed performance metrics and transaction traces are collected once the scout-apm package is installed and configured.
A Scout account is required. Signup for Scout.
composer require scoutapp/scout-apm-laravel
Then use Laravel's artisan vendor:publish to ensure configuration can be cached:
php artisan vendor:publish --provider="Scoutapm\Laravel\Providers\ScoutApmServiceProvider"
In your .env file, make sure you set a few configuration variables:
SCOUT_KEY=ABC0ZABCDEFGHIJKLMNOP
SCOUT_NAME="My Laravel App"
SCOUT_MONITOR=true
Your key can be found in the Scout organization settings page.
For full installation and troubleshooting documentation, visit our help site.
Please contact us at support@scoutapm.com or create an issue in this repo.
The Laravel library:
\Scoutapm\ScoutApmAgent::class into the container (useful for dependency injection)\Scoutapm\Laravel\Facades\ScoutApm
In order to perform custom instrumentation, you can wrap your code in a call to the instrument method. For example,
given some code to be monitored:
$request = new ServiceRequest();
$request->setApiVersion($version);
Using the provided Facade for Laravel, you can wrap the call and it will be monitored.
// At top, with other imports
use Scoutapm\Events\Span\Span;
use Scoutapm\Laravel\Facades\ScoutApm;
// Replacing the above code
$request = ScoutApm::instrument(
    'Custom',
    'Building Service Request',
    static function (Span $span) use ($version) {
        $request = new ServiceRequest();
        $request->setApiVersion($version);
        return $request;
    }
);