Coloration Schemes
The output color of ProfileSVG can be customized with the functions provided by the FlameGraphs
package. See the FlameGraphs docmentation for details.
Default scheme
ProfileSVG.view()
or
using FlameGraphs
ProfileSVG.view(FlameColors())
The default scheme uses cycling colors to distinguish different stack frames, while coloring runtime dispatch "red" and garbage-collection "orange". The run-time dispatch (aka, dynamic dispatch, run-time method lookup, or a virtual call) often has a significant impact on performance.
Stack frame category
You can colorize the stack frames based on their category, or module-of-origin.
using FlameGraphs
ProfileSVG.view(StackFrameCategory())
In the default StackFrameCategory
scheme, "gray" indicates time spent in Core.Compiler
(mostly inference), "dark gray" in other Core
, "yellow" in LLVM, "orange" in other ccalls
, "light blue" in Base
, and "red" is uncategorized (mostly package code).
The colorbg
and colorfont
options of FlameGraphs.FlameColors
and FlameGraphs.StackFrameCategory
are currently not supported and ignored.