3

我正在尝试使用 eprof 分析 Erlang 应用程序。结果表明大部分时间都花在了 dict 模块上,尽管我最感兴趣的分析模块并没有直接使用 dict,它的依赖项看起来有点像这样:

A-- B - dict
 |- C - dict

A 是正在运行的进程(a gen_server)并使用模块 B 和 C,它们都使用 dict。如何判断哪个模块使用 dict 最多?

4

1 回答 1

2

为了解决类似的问题,我创建了从 dbg 跟踪格式到 callgrind 格式的转换器。它帮助我使用 kcachegrind 作为具有时间成本信息的函数调用层次结构的可视化工具。

https://github.com/virtan/eep

这是一个帮助查找时间花在哪里的视图示例 https://raw.github.com/virtan/eep/master/doc/sshot6.png

于 2013-11-25T21:37:04.670 回答