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]
For example:
dub run profdump -- --colour=0=gray --colour=50=red --dot trace.log graph.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

Issues:
- 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.

Reply via email to