Distributed Profiling, profiling micro-services
Blackfire now supports profiling micro-services, out of the box!
Micro-services? What do you mean?
Let’s define a “service” as an online piece of software, which listens to a network. It can be for instance an instance of a web application, a database, or a reverse-proxy.
A micro-service is a service that has a very limited feature scope. For instance, that could be about handling authentication, managing products inventory or handling newsletter subscriptions.
In some use cases, breaking a monolithic application into a micro-services architecture can support:
- optimizing server load and end-user perceived performance;
- customizing and optimizing infrastructure for each service;
- gaining in development and release agility with teams and workflows dedicated to each micro-service.
Distributed Profiling
Profiling a monolithic application with Blackfire gives developers deep insight in how the PHP code is executed, and how it consumes resources. On top of that, assertions, recommendations and builds enable teams to prevent issues from ever happening in production, rather than fire-fighting issues.
Thanks to the new Distributed Profiling feature of Blackfire, teams working with micro-services architectures can now get all of those benefits as well.
Profiling a service also profiles all HTTP services interacting with it (“sub-profiles” on Blackfire).
Within the Blackfire user interface, all generated profiles and “sub-profiles” are gathered in the same view, so that you can easily navigate from one profile service to the other, and see how they depend of each other in terms of performance.
The UI enables to focus in a single click on a call-graph node from which a sub-request originates (`fopen()` in the screenshot below).
All assertions and recommendations for each profiled HTTP request are also gathered in the same view, making it straight-forward to identify bottlenecks and optimization sources, and which micro-service is impacted.
Distributed profiling is available for our Premium and Enterprise customers.
Happy distributed profiling,