
Blackfire Continuous Profiler
Low-overhead continuous profiling for app performance optimization.
Discover top open-source software, updated regularly with real-world adoption signals.

Lightweight self‑hosted PHP profiler with instant UI
SPX provides zero‑configuration profiling for PHP scripts via an environment variable or web UI, offering 22 metrics, timeline, flat profile and flamegraph visualizations without sending data to external services.
SPX is a lightweight profiling extension for PHP that can be turned on with a single environment variable or through an integrated web control panel. It captures up to 22 different metrics—including wall‑time, memory usage, I/O statistics and object counts—and preserves the full call stack, enabling timeline, flat‑profile and flamegraph visualizations without aggregating caller/callee pairs.
The extension is aimed at developers and teams working on Linux, macOS or FreeBSD systems who need quick, on‑premise performance insight for PHP 5.4‑8.x applications. It works for both CLI scripts and HTTP requests, requiring only the PHP development headers and the zlib development package to compile.
Install the extension from source, add extension=spx.so to your php.ini (or a dedicated spx.ini), and optionally configure spx.http_profiling_enabled for automatic profiling. For PHP‑FPM setups, enable process.dumpable = yes in the pool configuration to allow procfs access. The built‑in UI is served by SPX itself, eliminating the need for external tools.
When teams consider SPX, these hosted platforms usually appear on the same shortlist.
Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.
Profiling a Composer update
Identify functions consuming most time and memory to speed up dependency management
Analyzing a Laravel web request
Visualize call stack with flamegraph to optimize controller and middleware performance
Measuring I/O impact of a file‑processing script
Capture I/O metrics and reduce bottlenecks in data‑intensive operations
Debugging memory leaks in a daemon
Track object allocation over time to locate and fix leaks
Add `SPX_KEY=dev` and `SPX_ENABLED=1` as query parameters or cookies, or enable it via the built‑in web UI control panel.
Yes, but you must set `process.dumpable = yes` in the FPM pool configuration so child processes can read `/proc/self`.
SPX supports PHP 5.4 through 8.x on the listed platforms.
No, all data is collected and stored locally; there is no SaaS component.
ZTS is supported in beta, but it adds a small overhead and may increase the risk of segfaults.
Project at a glance
ActiveLast synced 4 days ago