概述

不谈profile tools的重要性. erlang profile肯定要看看上面这篇.
http://erlang.org/doc/efficie...
这篇blog记录一些实操.

步骤

fprof采集数据

在程序中, 或者间接remote_console触发采集.

:fprof.trace(:start)# 一段时间后, 留神不要在线上采集, fprof时对性能影响最大的profile形式, 也有最全的信息:fprof.trace(:stop)

不传递参数状况下, 默认会将fprof信息写入fprof.trace文件.

应用kcachegrind 查看fprof的后果

应用erlgrind转化为callgrind格局

~/install » wget https://raw.githubusercontent.com/isacssouza/erlgrind/master/src/erlgrind~/install » chmod a+x erlgrind                             ~/install » sudo mv erlgrind /usr/local/bin~/platform/xxxxx(xxxx*) » erlgrind fprof.traceReading trace data......................................................................................................,...................................................................................................,...................................................................................................,................................................................................End of trace!Processing data...Creating output...Done!

装置kcachegrind

能够间接用包管理器装置

sudo apt-get install -y kcachegrind~/platform/xxxxx(xxxxx*) » kcachegrind xxx.cgrind

成果如图:

flame graph

todo

参考

http://erlang.org/doc/efficie...
http://blog.equanimity.nl/blo...