How do a read a xdebug profile in webgrind?
PhpProfilingXdebugPhp Problem Overview
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
Php Solutions
Solution 1 - Php
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.
-