iluckhack/xhprof-buggregator-bundle
Symfony bundle that integrates XHProf profiling with Buggregator, helping you collect and inspect PHP performance profiles in a centralized debugging dashboard. Useful for local profiling and performance troubleshooting.
Architecture fit — the headline issue
Bundle + DependencyInjection\Extension + Configuration tree + Resources/config/services.yaml mechanism. Laravel has no bundle registry, no compiler passes, and no config/packages/*.yaml — Laravel's use of Symfony components (HttpFoundation, Console, Process) does not extend to the FrameworkBundle/bundle system.composer require iluckhack/xhprof-buggregator-bundle into a Laravel app yields an inert package. Nothing auto-wires. Reuse is copy-adapt of the payload/profiler classes, not a drop-in.Integration feasibility
Technical risk
xhprof is effectively stale; PHP 8.2/8.3 support typically requires the Tideways tideways_xhprof fork or a pinned build. Any PHP upgrade is a rebuild-and-revalidate event.Key questions to answer before committing
Stack fit
ProfilingServiceProvider, config/profiling.php, a TerminableMiddleware, and an env gate (PROFILING_ENABLED).Http facade (Guzzle under the hood) rather than the bundle's Symfony-typed HTTP client so the port stays idiomatic and testable with Http::fake().Migration path (recommended order)
docker-compose with Buggregator + a PHP image carrying tideways_xhprof. Confirm the ingestion endpoint and payload schema by reading this bundle's source — it is small enough to read end-to-end in an hour.Http::fake tests. Use the bundle as the reference for the wire format; keep the MIT attribution.Compatibility concerns
extension_loaded('xhprof') || extension_loaded('tideways_xhprof') and no-op cleanly.Sequencing
Maintenance
Support
Scaling
Failure modes and mitigations
terminate() after the response is sent.extension_loaded guard; CI check that fails loudly if the extension is expected but absent.Ramp-up
How can I help you explore Laravel packages today?