2012-04-05 25 views
8

我想了解更多关于我的Erlang应用程序的 进程之间的工作分配。除此之外, 过程所执行的减少次数是我感兴趣的事情之一。厄兰过程减少计数

因此,我正在寻找一种方法来读取退出时 进程的减少数量。虽然在进程仍在执行时获取 这种信息是相当直接的,但在它们退出之前(或正好在它们退出之后)获取它们是另一回事。我有 看遍了所有的文档,特别是dbg:*函数, 不幸的是,无济于事。主要是因为无论我何时通知 关于一个流程的退出,关于它的任何事情012xx已经太晚了。

在进程退出之前更改整个应用程序的代码以读取这些值 是不可行的。除了潜入虚拟机代码和仪器之外,还有其他方法可以做到吗? ?

感谢

回答

1

我不认为你可以得到reductions的过程,但你可以做一个erlang:trace/3runningtimestamp选项获得基于时间的工作分配。那会让你想到我想的。当然,你必须收集数据并做一些后处理或准时处理。

我也使用该选项procs到跟踪,以获得必要的元信息,即启动,终止等

+0

好吧,我落得这样做正是......可惜的是,走线/ 3 ,因此dbg:没有这种详细的选项。 – Francesquini 2012-04-17 15:09:42