PHPnews.io

New in Symfony 5.4: Profiler improvements

Written by Symfony blog / Original link on Nov. 25, 2021

In addition to the redesigned logs panel, Symfony 5.4 includes other improvements related to the Symfony profiler.

Conditional profiling

e66449b8260b07a1cf51c5ab5eaa8180

Contributed by
Kévin Dunglas
in #43138.

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

55a894894150db28d6641f0c57e48bac?s=400 6b6104be70a17b7121a278143053e433

Contributed by
Nico Haase and Robin Chalas
in #42800 and #42582.

First, the web debug toolbar now shows all the security roles of the logged in user. This way you can quickly check both the roles assigned directly to the user and the roles assigned to them via security roles inheritance:

symfony-5-4-profiler-security-roles.png

Second, the security profiler panel includes a new tab called "Authenticators" where you can check the security authenticators that were called during the request:

symfony-5-4-profiler-security-authenticators.jpg

HTML email preview

7602f2751868682b296171f58589c851

Contributed by
Grégoire Pineau
in #43751.

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:

symfony-5-4-profiler-email-preview.jpg
Sponsor the Symfony project.

symfony

« PHP Internals News: Episode 95: PHP 8.1 Celebrations - Two weeks left before SymfonyWorld Online 2021 Winter Edition, book your ticket now! »