Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

EProf Erlang Profiling

Tags:

erlang

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?

like image 212
Andy Till Avatar asked Dec 01 '25 00:12

Andy Till


1 Answers

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

like image 137
Igor Milyakov Avatar answered Dec 05 '25 15:12

Igor Milyakov



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!