profdump parses 'trace.log' (output of default profiler) and
converts it to:
- Plain text - More readable and user-friendly than raw trace.log
- JSON - Can be used if you wanna process it with your scripts
- DOT Graph - Nice and colourful graphs
You can customize output:
--threshold - If time spent on the function is below this
threshold, it will be hidden. Takes seconds
--pretty - outputs formatted JSON (default: true)
--colour - sets colours of nodes. takes string[float]
dub run profdump -- --colour=0=gray --colour=50=red --dot
Will create 'graph.dot':
Functions which takes < 50% of time will be gray
Functions which takes >= 50% of time will be red
Also, you should use 'dot' tool from graphviz to generate image
(because .dot files just contains graph description)
Check out profdump at DUB: http://code.dlang.org/packages/profdump
And start an issue at GitHub: https://github.com/ohdatboi/profdump
- Functions with long names (like phobos' ones) will take a lot
of space on the graph.
- profdump doesn't check input trace.log file. If it fails, try
to delete your trace.log and generate new one.
- Dunno what to do about profilers of other compilers (LDC and
GDC). Is format same as in DMD? Let me know.