christophrumpel/artisan-benchmark

Benchmark Artisan Commands

v0.0.3 2025-02-19 08:11 UTC

This package is auto-updated.

Last update: 2025-02-19 08:13:14 UTC


README

CleanShot 2025-02-08 at 17 56 49 3@2x

(Part of the video Import One Million Rows To The Database (PHP/Laravel))

Artisan Benchmark

Installation

composer require christophrumpel/artisan-benchmark

Usage

This package lets you benchmark your artisan commands:

php artisan benchmark your:command

Simply replace ⁠your:command with your command signature.

To provide arguments and options, use quotes to wrap the command signature:

php artisan benchmark "your:command --with-option"

After execution, you'll see detailed benchmark results.

CleanShot 2025-02-08 at 17 56 49@2x

If you run the command without a signature, it will display a list of available commands to choose from:

php artisan benchmark

CleanShot 2025-02-14 at 13 21 14@2x

Table Count Monitoring

You can monitor changes in a specific database table's record count by using the ⁠--tableToWatch option:

php artisan benchmark your:command --tableToWatch=users

Be aware that it only shows the count difference from before running your command.

CleanShot 2025-02-14 at 13 34 31@2x

Technical Details

Query Count

The package uses a listener on the Laravel database event Illuminate\Database\Events\QueryExecuted to track the number of database queries.

If events are disabled in your application, queries will not be counted.

Please note that this only tracks queries executed through Eloquent or the Query Builder. Direct database queries will not be counted. Contributions for improving this functionality are welcome.