Programming
DE
Flamboyant Flamegraphs
['Derick Rethans']
Derick Rethans
First of all, we need to configure Xdebug to make our flamegraphs.
I have a specific Xdebug INI file called zzz-xdebug.ini .
We want distinct flamegraphs for each URL, so we need to change that by setting:xdebug.trace_output_name=xdebug.%RWe start all files with trace.
* -rw-r--r-- 1 derick derick 123 Sep 26 03:31 /tmp/trace..05d7ef.xt.gz -rw-r--r-- 1 derick derick 2560 Sep 25 16:55 /tmp/trace._core2_css.xt.gz -rw-r--r-- 1 derick derick 3550 Sep 25 16:55 /tmp/trace._docs_.xt.gz -rw-r--r-- 1 derick derick 2419 Sep 25 16:55 /tmp/trace._fonts_IBMPlexSans-RegularItalic-Latin1_woff2.xt.gz -rw-r--r-- 1 derick derick 2474 Sep 25 16:55 /tmp/trace._images_logos_11com7_svg.xt.gz -rw-r--r-- 1 derick derick 2507 Sep 25 16:55 /tmp/trace._images_logos_io_svg.xt.gz -rw-r--r-- 1 derick derick 2530 Sep 25 16:55 /tmp/trace._images_logos_private-packagist_svg.xt.gz -rw-r--r-- 1 derick derick 2455 Sep 25 16:55 /tmp/trace._images_logos_typo3_svg.xt.gz -rw-r--r-- 1 derick derick 2523 Sep 25 16:55 /tmp/trace._images_logos_xdebug-cloud_svg.xt.gz -rw-r--r-- 1 derick derick 6165 Sep 25 16:55 /tmp/trace._.xt.gzBecause we go through our PHP router process, there are also files for images and fonts.
The important ones are:-rw-r--r-- 1 derick derick 3550 Sep 25 16:55 /tmp/trace._docs_.xt.gz -rw-r--r-- 1 derick derick 6165 Sep 25 16:55 /tmp/trace._.xt.gzThe contents of these files look like:{main};require_once;require_once 3046 {main};require_once;ComposerAutoloaderInit7d176ec022516f68e20dcb88554529a8::getLoader;require 7043 {main};require_once;ComposerAutoloaderInit7d176ec022516f68e20dcb88554529a8::getLoader;spl_autoload_register 9408 {main};require_once;ComposerAutoloaderInit7d176ec022516f68e20dcb88554529a8::getLoader;ComposerAutoloaderInit7d176ec022516f68e20dcb88554529a8::loadClassLoader;require 3176 {main};require_once;ComposerAutoloaderInit7d176ec022516f68e20dcb88554529a8::getLoader;ComposerAutoloaderInit7d176ec022516f68e20dcb88554529a8::loadClassLoader 41368 {main};require_once;ComposerAutoloaderInit7d176ec022516f68e20dcb88554529a8::getLoader;dirname 6061 …In order to create a flame graph, we need to pass this through a Perl script.
['25'
'flamboyant'
'1655'
'flamegraphs'
'files'
'sep'
'rwrr'
'xdebug'
'need'
'ini'
'derick'
'file'
'rethans']