zim32/xhprof-profiler-bundle
Symfony bundle that integrates XHProf profiling into the Web Debug Toolbar and Profiler, helping you capture and inspect function call graphs, timings, and performance data to identify bottlenecks in PHP applications.
Critical finding — stack mismatch. The package is zim32/xhprof-profiler-bundle, a Symfony bundle, not a Laravel package. The request frames this as "Laravel/PHP"; that framing is wrong, and it changes the recommendation materially. Laravel does not use the Symfony bundle/kernel registration model, so the package cannot be dropped in. At best we can lift the collector/panel logic and re-implement it as a Laravel service provider + Debugbar panel — which is a rewrite, not an integration.
Architecture fit (Symfony only). The bundle is a thin adapter: it registers a WebProfiler data collector, a toolbar panel, and a profiler page that reads data produced by the Tideways XHProf PHP extension (the OSS C extension fork of XHProf — not the commercial Tideways APM). Runtime cost is the extension's; the bundle is UI and wiring. In a Symfony dev environment this is a clean, idiomatic fit. In Laravel it is not a fit at all.
Integration feasibility.
barryvdh/laravel-debugbar, Laravel Telescope, Clockwork, or a hand-rolled middleware wrapping the XHProf extension directly. Any of these is a better use of effort than porting a 2-star bundle.Technical risk (high). Signals are uniformly weak: 2 stars, 0 dependents, single maintainer, no vendor backing, and a dependency on an extension whose long-term OSS maintenance is uncertain (Tideways' commercial focus has moved on). Symfony major-version compatibility (6.x/7.x), PHP 8.x support, and the extension's own PHP 8 build status are all unverified and must be treated as unknown risk.
Key questions.
php:8.x-fpm)?Stack fit. PHP: yes. Symfony: yes. Laravel: no. The correct integration target is a Symfony dev environment; for a Laravel codebase the package is out of scope.
Recommended path for a Laravel stack.
zim32/xhprof-profiler-bundle to a Laravel app. Note the decision and rationale.barryvdh/laravel-debugbar (already widely adopted) plus either Telescope or the XHProf extension exposed through a dedicated middleware and a Debugbar panel.Recommended path for a Symfony stack.
composer.json.APP_ENV=dev and never expose it on shared or internet-facing hosts.Migration path / compatibility. Because there is no production runtime dependency, adoption is reversible — it lives in require-dev and the dev image. The irreversible piece is the C extension and any internal tooling built on top of its output. Vendor the panel code if we depend on it, so an abandoned upstream doesn't strand us.
Sequencing.
Maintenance. Single maintainer, 2 stars, 0 dependents. Assume low bus factor and possible abandonment. Any adoption must be paired with a plan to own the code (fork/vendor) rather than rely on upstream fixes. Budget for periodic Symfony-compatibility patching.
Support. Community-only, no SLA, no vendor. Internal expertise must be built; there is no escalation path.
Scaling. This is a development-time tool. It should never be enabled in production: XHProf overhead is non-trivial, the collected data can be large and may contain sensitive request data, and profiler endpoints are an information-disclosure vector. Limit to developer workstations and ephemeral review environments; consider sampling to control overhead on busy dev/staging hosts.
Failure modes.
Ramp-up. For a PHP/Symfony developer, low: install the extension, enable the bundle, read the panel. The real ramp-up cost is interpreting XHProf/Tideways callgraph output, which is a distinct skill and the same regardless of which tooling we choose. For a Laravel team, ramp-up is effectively "learn a Symfony bundle we cannot use," which is wasted effort.
Bottom line. Score 0.07 and 2 stars are consistent with what this is: a niche, unmaintained, single-author Symfony dev-tooling bundle. It is not a Laravel package, it has no dependents, and it carries a hard dependency on a C extension. Recommendation: do not adopt. For Symfony, treat it as a low-cost, reversible dev-only convenience with a vendoring fallback. For Laravel, close it out and evaluate Debugbar/Telescope instead.
How can I help you explore Laravel packages today?