A recommendation is a best practice which we advise you about in order to improve the performance of your application. Anytime you profile your application Blackfire is able to detect common performance bottlenecks and configuration issues. Solving them most of the time should have a significant impact on the performance of your app.
Technically, a recommendation is a built-in performance test, that shows up only when relevant. It depends for instance on the detected framework and whether you are in a development environment or not.
Recommendations are displayed in a dedicated tab on a profile view and in build reports (they do not impact the test results in terms of fail/pass). Any recommendation can be directly copied as a test that you'll paste in your .blackfire.yml file. By simply clicking on the ? icon near to it, you will be able to read more about the recommendation, and how to write the corresponding test.
Recommendations depend on your environment's configuration. A development environment's recommendations will differ from non-development environments, for instance with regards to caching strategies. Moreover, Blackfire offers you only recommendations which are relevant to your project type (Symfony, Laravel, Magento, Drupal, eZ Publish,...).
For any feedback and ideas on recommendations, don't hesitate to Contact us.
Most recommendations aim at improving the performance of your code.
But Blackfire can detect a lot more than performance bottlenecks at runtime. Basically, a Blackfire test can be used to easily spot any unexpected or unwanted code behaviour. That is also true for security and quality best practices.
Quality and Security recommendations are included in the Enterprise Edition. Performance recommendations are included are included in Profiler, Premium and Enterprise Editions.
In the following example, we profiled GitList, the application on which we demo all of Blackfire's features in the 24 Days of Blackfire.