www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - profdump - Converts your 'trace.log' files into dot graphs

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.
May 06