katedev1 Jun 2025 21:42

Need to set up profiling for a Laravel application on staging. Xdebug 3 profiler mode and Blackfire seem to be the two main options.

Xdebug is free, Blackfire is paid. What does Blackfire actually give you beyond what Xdebug callgrind files provide?

Replies (5)
alex_petrov1 Jun 2025 21:54

Blackfire is faster in practice. Xdebug profiler slows requests by 200x in my experience. Blackfire uses sampling at much lower overhead. For profiling on staging that gets real traffic, Blackfire is the only practical option.

0
dmitry_kv1 Jun 2025 23:21

Blackfire assertions let you write performance tests: “this endpoint must not exceed 100 function calls” or “SQL queries per request must be below 5”. Those run in CI and prevent regressions.

0
ivan_morozov2 Jun 2025 00:42

Xdebug callgrind files need a viewer (KCachegrind or QCacheGrind). The UI is not great. Blackfire browser extension is significantly more usable for non-trivial profiles.

0
nphp2 Jun 2025 02:12

For a quick one-off profile during development, Xdebug is fine and free. For team workflow with CI gates and comparison between code versions, Blackfire is worth the money.

0
katedev2 Jun 2025 03:34

There is also Tideways which is positioned between the two: production-safe overhead and CI integration. Worth comparing if Blackfire pricing does not fit.

0