I'm attempting to profile an Erlang application using eprof. The results show that most time is spent in the dict module although the module I am most interested in profiling doesn't use dict directly, it's dependencies do which looks a bit like this:
A-- B - dict
|- C - dict
A is the running process(a gen_server) and uses modules B and C which both use dict. How can I tell which module is using dict the most?
To solve similar problem I've create converter from dbg trace format to callgrind format. It helped me to use kcachegrind as a visualizer of function call hierarchy with time cost information.
https://github.com/virtan/eep
Here is an example of view helping to find where the time is spent https://raw.github.com/virtan/eep/master/doc/sshot6.png
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With