nicodemuz/doctrine-fixtures-timing-bundle
A Symfony bundle that times Doctrine fixture loading, helping you spot slow data fixtures during development and testing.
bundles.php, no kernel.event_listener tag, and no DoctrineFixturesBundle in a standard Laravel stack. So the real decision it informs is narrow: do we adopt it (only viable in a Symfony/Doctrine context) or do we read it as a reference and build a ~50–100 line Seeder/Command event listener in-house? For a Laravel-first product, the answer this package supports is build, don't depend.require-dev or as a code reference, never load-bearing, never production.Consider the package itself when:
Look elsewhere (or reconsider the need) when:
php artisan db:seed --verbose, a Seeder event listener, or Telescope instead. These carry no cross-framework integration tax.Before committing, verify: PHP/Symfony support matrix from composer.json (not the tag alone); whether the listener is console-only or hooks Doctrine fixture-load events; the measurement mechanism (standalone microtime is portable to Laravel, a profiler tie-in is not); and issue/PR velocity as a maintenance signal.
For executives: The proposal is deliberately small. We are not asking to adopt a new dependency — this is a single-author Symfony package with no dependents and no meaningful release narrative, and it does not install into our Laravel stack. What we are asking for is a timeboxed one-day spike to read it as a reference implementation, followed by a build-vs-adopt call. Expected output is roughly 100 lines of in-house seeder timing, owned by us, with no vendor spend and no ongoing dependency risk. The value is faster developer feedback loops and a defensible answer to "why is CI slow," not a new piece of infrastructure.
For engineering: Treat this as a Symfony bundle and a design reference, not a Laravel package. Direct adoption requires a Symfony kernel plus DoctrineFixturesBundle; in Laravel the equivalent is a Seeder/Command event listener that captures microtime around each seeder and logs per-item durations. One-day spike to confirm the instrumentation is genuinely standalone microtime (portable) and not tied to Symfony's profiler or Doctrine fixture events (not portable), then decide: port ~100 lines and own it, or close the ticket and rely on --verbose/Telescope. If we do depend on it anywhere, pin aggressively, keep it in require-dev, and accept that a broken release should degrade one developer's local profiling and nothing more. Do not let this package gate a fixture-performance initiative.
How can I help you explore Laravel packages today?