New in Symfony 5.4: Profiler improvements
November 25, 2021 • Published by Javier Eguiluz
Symfony 5.4 is backed by:
In addition to the redesigned logs panel, Symfony 5.4 includes other improvements related to the Symfony profiler.
Conditional profiling
Symfony profiler provides an immense amount of debug information to quickly find the cause of any problem. However, that comes at a price, because the profiler must collect all that information while serving the request. This can slowdown the application even for requests where you don't look at the profiler information (which are most of them).
In Symfony 5.4 you can enable the profiler conditionally. To do that, add these two new config options:
1 2 3 4 5
# config/packages/dev/web_profiler.yaml
framework:
profiler:
collect: false
collect_parameter: 'profile'
The collect: false
option disables the profiler by default and the
collect_parameter: profile
option enables it for requests that include the
profile
query parameter.
You can freely choose the query parameter name and you can also enable the profiler by submitting a form field with that name (useful for POST requests) and even a request attribute.
More security information in the profiler
First, the web debug toolbar now shows the security roles of the logged in user (this only includes the roles assigned to the user directly, not the roles assigned to them via the security roles inheritance):
Second, the security profiler panel includes a new tab called "Authenticators" where you can check the security authenticators that were called during the request:
HTML email preview
The Symfony profiler includes an "Emails" panel where you can inspect the details of the emails sent during the processing of the request. When the email is complex, checking its HTML contents is not practical. In Symfony 5.4 we're improving this panel to also preview the rendered HTML contents of the email:
Help the Symfony project!
As with any Open-Source project, contributing code or documentation is the most common way to help, but we also have a wide range of sponsoring opportunities.
Comments are closed.
To ensure that comments stay relevant, they are closed for old posts.
The instance I see is I always want it enabled if XDEBUG is enabled for the request, and conditionally collect if I set a parameter