Search code examples
phpperformanceprofilingxdebugphp-extension

How does one interpret Xdebug computerized trace output?


XDebug outputs a computerized output in the following form:

5   33  0   0.003569    193040  function_exists 0       E:\Dropbox\Websites\flyingpiranhas\wireframework\vendor\swiftmailer\swiftmailer\lib\swift_required.php  24  1   '_swiftmailer_init'
5   33  1   0.003609    193040
5   34  0   0.003620    193008  Swift::registerAutoload 1       E:\Dropbox\Websites\flyingpiranhas\wireframework\vendor\swiftmailer\swiftmailer\lib\swift_required.php  32  1   $callable = '_swiftmailer_init'
6   35  0   0.003661    193472  spl_autoload_register   0       E:\Dropbox\Websites\flyingpiranhas\wireframework\vendor\swiftmailer\swiftmailer\lib\classes\Swift.php   79  1   array (0 => 'Swift', 1 => 'autoload')
6   35  1   0.003712    193560
5   34  1   0.003728    193240

As you can see, function with ID 33 entered the stack, exited, everything is normal. But look at 34. Function call 34 enters the stack, then 35 runs and executes, and only then is 34's exit printed.

What I'm wondering is, how do I interpret this? Does this mean function 34 lasted 108 miliseconds (until the last line) and that it waited for 35 to finish, or should I look at 41ms as its duration, that is, until function 35 started? Is this related to "level"? If so, how?


Solution

  • You're correct, 34 waited for 35 to finish lasting 108 milliseconds.