Looking for a Blackfire alternative?
Here is an honest comparison.
Most people who search this have one of three reasons: the price went past what the project can carry, the host will not install the agent, or they want the data to stay on their own server. This page answers all three with numbers, says plainly where Blackfire is still the better tool, and does not pretend the two products are the same.
Blackfire figures below were read from blackfire.io/pricing and docs.blackfire.io on 22 September 2026. Ours come from our own published measurements, linked at the bottom. If anything here has gone stale, tell us and we will correct it.
What Blackfire is good at
Blackfire is a mature profiler with a deep call graph, comparison between two profiles, and assertions you can run in CI so a pull request fails when a page gets slower. Its Production plan also covers continuous profiling, alerting and front-end observability. If your problem is "stop the team from shipping a regression", that is what Blackfire was built for, and PHPRay does not do it. We would rather say that here than have you find out after switching.
Where people hit a wall
1. It needs an agent, and the agent needs root
Blackfire is three pieces: a PHP probe, an agent daemon and a client that starts the profile. The documented install for the agent notes that it "might prompt for your password to grant root privileges". On your own VPS that is a non-issue. On shared hosting, on a managed platform, or on a client's server where you are a guest, it is the end of the conversation.
PHPRay is a PHP extension plus one Go binary that runs as your own user and writes to SQLite. There is no daemon to register with a vendor. And if you cannot load an extension at all, the WordPress plugin does the same job in pure PHP 7.4+ — no extension, no daemon, no shell.
2. Profiling is something you trigger
Blackfire profiles when you ask it to: from the browser extension, the CLI or the SDK. That is the right model when you can reproduce the problem. It is the wrong model when the slow request happened at 3 a.m., once, on a checkout you cannot replay.
PHPRay's always-on layer writes a record of every request — wall time, CPU, memory, SQL fingerprints, outbound HTTP, PHP errors, N+1 patterns — and keeps it, so you open yesterday's slow request instead of trying to recreate it today. Per-function attribution, the expensive part, runs on a sample (3% by default).
3. The price step is steep
Blackfire's Development plan is €33.25/month, billed yearly only, and covers one user, one sandbox environment and profiling. Monitoring, alerting and anything in production are not in it. Production starts at €158.25/month billed yearly, or €189.90 month to month, for 3 users and 2 environments. There is no free tier.
Side by side
| Blackfire | PHPRay | |
|---|---|---|
| What you install | PHP probe + agent daemon (root) + client | PHP extension + one binary as your user; or a WordPress plugin with neither |
| How data is captured | On demand, when you trigger a profile | Every request recorded always; per-function on a sample |
| Where data lives | Blackfire's service | Your server. Cloud is optional; when on, data is stored in the EU |
| Licence | Proprietary | Apache-2.0 core, self-hostable |
| Free option | None (no free trial) | Local core free and unlimited; Cloud Free: 1 site, 10k traces/day |
| Entry paid price | €33.25/mo, yearly only — 1 user, 1 sandbox, profiling only | $19/mo — 3 sites, 50k traces/day, 30 days of history |
| Production price | €158.25/mo yearly, €189.90 monthly — 3 users, 2 environments | $99/mo — 25 sites, any number of servers, 300k traces/day |
| CI performance gates | Yes — assertions and continuous testing | No |
| Front-end observability | Yes, on Production | No |
Currencies as each vendor lists them: Blackfire prices in EUR, ours in USD excluding tax. We are not converting them for you, because the exchange rate is not our argument.
The number that decides whether always-on is honest
A tool that records every request is only interesting if the recording is cheap. So we measured it on a real WordPress page rendering in about 48 ms and published the method with the raw figures:
- Recording every request — time, SQL, outbound HTTP, errors, N+1: 40.7 ms against a 40.2 ms baseline. Inside the noise.
- Per-function attribution cost 27% on that micro-benchmark and about 4% on the real WordPress page. It is on or off per worker — sampling does not reduce it, and we said so in public before anyone asked.
- For contrast, we ran Xdebug's profiler on the same page: 1012 ms against 40 ms — 25× slower — and sixty requests wrote 1.2 GB of cachegrind files.
When you should stay with Blackfire
- You gate deploys on performance in CI. Blackfire's assertions do that; we have nothing equivalent.
- You need front-end observability in the same tool.
- Your work is deep, repeatable optimisation of code you can reproduce locally, and the call graph is the artefact you live in.
- You want a vendor with a long track record behind it. We are younger and we are not going to pretend otherwise.
When PHPRay fits better
- The problem only happens in production and you cannot reproduce it.
- You do not control the server well enough to install an agent — shared hosting, a client's box, a managed platform.
- The data must not leave your infrastructure, or must stay in the EU.
- You look after many sites and want them in one view without paying per application.
- The budget is a side project's budget, and €190 a month is not happening.
Try it on your own traffic
Install locally in one line — open source, Apache-2.0, no account, no card. Or take a free cloud account: one site, 10,000 traces a day, 7 days of history.
Install it locally See the plansWant to look before installing anything?
The demo console is the real thing with test-store data, read-only, no account.
Open the demo consoleRead next
- Xdebug alternative — what to keep Xdebug for, and where it stops.
- PHPRay MCP server — let your agent read the traces.
- What always-on tracing actually costs — method, raw numbers and the 4% we did not expect.
- Xdebug in production: we measured it — 25× slower and 1.2 GB of dumps.
- Profiling PHP in production — the general case, not just Blackfire.
- Full comparison — plans, methods and other tools.