ritey / laravel-slow-queries
Collects slow queries via DB::listen, batches them every 10 minutes, emails and rotates.
1.0.0
2025-10-02 21:34 UTC
Requires
- php: >=7.2.0
- illuminate/console: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0
- illuminate/database: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0
- illuminate/filesystem: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0
- illuminate/mail: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0
README
Installation
Install the package via Composer:
composer require ritey/laravel-slow-queries
Usage
-
Publish the configuration (optional):
php artisan vendor:publish --provider="Ritey\\SlowQueries\\SlowQueriesServiceProvider"
-
Configure thresholds and email settings:
Edit
config/slow-queries.php
as needed. -
Send the slow queries report via email:
php artisan slow-queries:email-report
Code Structure (for contributors)
src/Console/EmailSlowQueriesReport.php
: Command to email slow query reports.src/Mail/SlowQueriesReport.php
: Mailable for the report.src/Support/Paths.php
: Helper for file paths.resources/views/emails/slow_queries_report_plain.blade.php
: Email template.config/slow-queries.php
: Configuration file.
Testing
- Add your tests and run them using PHPUnit:
./vendor/bin/phpunit
Contributing
- Fork the repository and create a feature branch.
- Submit a pull request with a clear description of your changes.
Coding Standards
- Follow PSR-12 coding style.
- Run
composer lint
if a linter is configured.
License
See LICENSE for details.