A new tool for measuring performance in Drupal 8

Discovering software bottlenecks is always a difficult task, but detecting them in Drupal can be a real nightmare. A simple contrib module can cause a lot of database queries, service instantiations or events to be triggered.

Classic debug tools like xDebug or XHProf fail to report those kinds of problems because they work at a lower level and they don't have any knowledge of Drupal internal structures.

Luckly Drupal 8 is built on Symfony 2 components and one of those components (the HTTP Kernel) provides the infrastructure for build custom profilers.

In this talk we'll see how to build a profiler to analyze the internal data structures of Drupal 8 and how to exend the profiler to add new data collectors.

The code is available as Drupal 8 module here: http://www.drupal.org/project/webprofiler