ilzrv / laravel-slow-query-detector
Laravel Slow DB Query Detector
Installs: 7 888
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 8
Open Issues: 1
Requires
- php: ^8.0
- illuminate/support: ^9.0|^10.0
Requires (Dev)
- orchestra/testbench: ^7.0|^8.0
- phpunit/phpunit: ^9.5|^10.0
- timacdonald/log-fake: ^2.0
This package is auto-updated.
Last update: 2024-11-03 15:35:32 UTC
README
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.
Requirements
- PHP 8.0+
- Laravel 9+
Installation
You can install the package via composer:
composer require ilzrv/laravel-slow-query-detector
Configuration
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"
SQD_ENABLED
Determines whether query listening is enabled.
SQD_CODE_MAX_QUERIES
Maximum number of queries when processing the controller method. If your method executes more queries than this value the notification will be received.
SQD_CODE_MAX_TIME
Maximum execution time of the controller method (in ms). If your method takes longer than this value to complete the notification will be received.
SQD_QUERY_BINDINGS
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 = ?
SQD_QUERY_MAX_TIME
Maximum execution time for each query in DB (in ms). If at least one query exceeds this value you will receive a notification.
Example logs output:
[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. ) ) )
License
The Laravel Slow Query Detector is open-sourced software licensed under the MIT license