A call-graph is a relational visualization method. Blackfire profiles are
displayed as call-graphs in order to show the caller-callee relation between
the function/method calls, which shows best the code's behavior. It enables for
instance to understand whether a specific function call is responsible for a
bottleneck, or if the bottleneck comes from their parents.
A callee is a function/method which is called by another function/method in
A caller is a function/method which calls another function/method in your code.
The CPU Time is a profiling dimension in Blackfire. It corresponds to the time
your server's CPU actually spends executing your code.
The exclusive time is the time spent by PHP executing a function, excluding the
time spent executing its callees. The exclusive time tells you which functions
consumed the most time by themselves; those are probably the ones you might
want to optimize first.
The I/O time corresponds to the time that the CPU is waiting for input/output
operations. That can for instance correspond to network (database calls, Redis
calls, HTTP calls, ...) or disk activity (file inclusions, ...). Keep in mind
that in Blackfire profiles the I/O is almost never 0 as it also includes
non-significant activities like memory access.
The inclusive time is the time spent by PHP executing a function, including all
of the callees.
A node is a call-graph element. In Blackfire, it represents a function/method
call, or an aggregation of calls.
A profile is the data output while measuring the resource consumption of an
executed piece of code. In Blackfire, that includes consumption in Wall-time,
CPU time, I/O time, Memory, Network, HTTP calls and SQL queries.
The wall time for a function call is the measure of the real time it took for
PHP to execute the code. It’s the difference between the time at which PHP
entered the function and the time at which PHP left the function. Its is
actually the sum of CPU time + I/O time.