How do a read a xdebug profile in webgrind?
I have setup xdebug and webgrind and I have generated a profile so I can start improving the speed of my code execution. I have displayed the profile in webgrind but I haven't got a clue what any of it means. All the googling I have done doesn't really explain any of it either.
Could someone please explain the basics of reading a webgrind report:
Invocation Count
Total Self Cost
Total Inclusive Cost
What the different colours mean
What the coloured bar means
Calls
Total Call Cost
Count
The basic output lists all the different functions, methods, and included
/required
files.
Invocation Count: The number of times the function has been called
Total Self Cost: The total time it took to execute the raw php in this function (time taken to execute your other custom functions is excluded.)
Total Inclusive Cost: Total time, including any other functions called (PHP internal, or your functions)
-
What the different colours mean?
- Blue are PHP internal functions
- Green are your class methods
- Orange are procedural functions
-
Grey is time taken to
include
, orrequire
.php files.
What the coloured bar means? Graphical display of breakdown of time for each type as above.
-
For the last ones, I assume you've clicked the arrow to open a particular function?
Calls: The functions/methods called in executing this function
Total Call Cost: The total time executing this function, when called from the parent function
Count: Number of times the parent calls the child.