8

我正在尝试更多地了解我的 Erlang 应用程序进程之间的工作分配。一个流程执行的减少次数是我感兴趣的事情之一。

所以我正在寻找一种方法来读取进程退出时的减少次数。虽然在进程仍在执行时获取此类信息非常简单,但在它们退出之前(或之后)获取它们是另一回事。不幸的是,我查看了所有文档,特别是 dbg:* 函数,但无济于事。主要是因为每当我收到有关进程退出的通知时,已经为时已晚,无法对此采取任何措施。

在进程退出之前更改整个应用程序的代码以读取这些值是不可行的。除了深入研究 VM 代码并对其进行检测之外,还有其他方法吗?

谢谢

4

1 回答 1

1

我不认为您可以获得流程,但您可以通过使用和选项reductions获得基于时间的工作分配。我想这会让你得到你想要的。自然地,您必须收集数据并进行一些后处理或即时处理。erlang:trace/3runningtimestamp

我还将使用procs跟踪选项来获取必要的元信息,即启动、终止等。

于 2012-04-11T19:27:51.507 回答