This package allows you to detect controller methods in the code that make a lot of queries to the database as well as find very heavy queries.
- PHP 8.0+
- Laravel 9+
You can install the package via composer:
composer require ilzrv/laravel-slow-query-detector
By default, the package is already configured and enabled, but you can change the settings if necessary. To publish the configuration file, run:
php artisan vendor:publish --provider="Ilzrv\LaravelSlowQueryDetector\ServiceProvider"
Determines whether query listening is enabled.
Maximum number of queries when processing the controller method. If your method executes more queries than this value the notification will be received.
Maximum execution time of the controller method (in ms). If your method takes longer than this value to complete the notification will be received.
Queries with bindings.
If true then bindings will be applied to queries in notification.
Example (if true): select * from users where name = John
instead of select * from users where name = ?
Maximum execution time for each query in DB (in ms). If at least one query exceeds this value you will receive a notification.
[2020-04-12 06:59:21] production.CRITICAL: Array
(
[SQD] => Array
(
[Execution Time] => 60 ms.
[Queries Count] => 2
[Heavy Queries Count] => 2
[Full URL] => https://example.org/?name=John
[Action] => App\Http\Controllers\HomeController@index
[Heaviest Query] => Array
(
[Query] => select * from `users` where `name` = John
[Time] => 50.67 ms.
)
)
)
The Laravel Slow Query Detector is open-sourced software licensed under the MIT license