# Automatic Instrumentation | Sentry for Laravel

The Laravel SDK automatically instruments your application to capture transactions and adds spans for the following features:

* Views
* Queue jobs
* Caches (when using Laravel v11.11.0 or higher)
* Notifications
* Database queries
* Redis operations
* Laravel HTTP Client requests (when using Laravel v8.45.0 or higher)

Automatic instrumentation is also available with the following packages:

* [Lighthouse](https://lighthouse-php.com/.md) GraphQL operations
* [Laravel Folio](https://laravel.com/docs/11.x/folio.md) page based routes
* [Laravel Livewire](https://livewire.laravel.com/.md) components

The Laravel SDK is also capable of creating spans for filesystem access operations. You can enable this feature by wrapping the configuration for all disks with a call to `Sentry\Laravel\Features\Storage\Integration::configureDisks()`:

`config/filesystems.php`

```php
'disks' => Sentry\Laravel\Features\Storage\Integration::configureDisks([
    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
        'throw' => false,
    ],

    // ...
], /* enableSpans: */ true, /* enableBreadcrumbs: */ true),
```

Alternatively, you can enable this feature only for select disks:

`config/filesystems.php`

```php
'disks' => [
    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
        'throw' => false,
    ],

    's3' => Sentry\Laravel\Features\Storage\Integration::configureDisk('s3', [
        // ...
    ], /* enableSpans: */ true, /* enableBreadcrumbs: */ true),
],
```

By default, both spans and breadcrumbs are enabled. You may disable them by passing the second argument, `$enableSpans`, or the third argument, `$enableBreadcrumbs`.
