Welcome to Blackfire, your Performance Management Solution. Blackfire helps developers profile, test, debug, and optimize performance of their applications. Blackfire can be used at any step of an application's lifecycle: during development, test, staging, and production.
Blackfire's core technology relies on profiling techniques. While the application code is being executed, Blackfire gathers resource consumption data.
As a profiler, Blackfire lets developers analyze the execution path of the application code's function calls via a call-graph representation. You get the detailed resource consumption in terms of Wall-time, I/O time, CPU time, Memory, Network, HTTP calls, and SQL requests. In addition, a flamegraph representation shows individual function calls on a timeline for a better understanding of the call stack.
On top of regular profiling features, Blackfire also gives performance recommendations that allows developers to improve their application code without even looking at call graphs. Performance recommendations, but also security and quality ones. Behind the scenes, Blackfire analyzes the framework and libraries that your application is using to detect potential optimizations.
Blackfire is also more proactive than APMs as it helps you set and reach performance expectations for your applications through assertions. From the first line of code in your app, just like you write unit tests or integration tests, you can also write performance tests and run test scenarios.
To learn more about performance management, check out Blackfire's book.
Blackfire gathers data by instrumenting the application code. Instrumentation only happens when triggered explicitly by an authorized Blackfire user or by Blackfire itself. As end users requests are not instrumented, Blackfire adds no overhead for end users, which makes it safe to use in production. Another benefit of the on-the-fly runtime instrumentation is that you do not need to modify the application code to get profiling data. Which makes it much more scalable when releasing to production.
To better understand how Blackfire works, check our doc on the Blackfire stack.
Before starting to use Blackfire, install the stack on your infrastructure or your personal computer.
Finally, learn how to integrate Blackfire with many third-party services and libraries.