Erlang 如何统计gproc注册的进程?

Erlang 如何统计gproc注册的进程?,erlang,Erlang,我有一堆gproc注册的已处理进程,我想随时统计这些进程。当然,如果每个过程都很好,那就不会有问题了。我可以在每次进程启动或停止时使用递增或递减计数器 但问题是,过程并不总是表现良好。有时他们只是因为一些不明显的原因死去。这在设计上还可以,只是我仍然想知道仍在运行的进程的确切数量 是否有一种很好的方法来计算当前处于活动状态的进程数?如果您在gproc中注册的进程是受监控的,那么您可以从中使用count\u children。例如,您可以在gen_服务器的init中使用gproc注册一个新进程,并

我有一堆gproc注册的已处理进程,我想随时统计这些进程。当然,如果每个过程都很好,那就不会有问题了。我可以在每次进程启动或停止时使用递增或递减计数器

但问题是,过程并不总是表现良好。有时他们只是因为一些不明显的原因死去。这在设计上还可以,只是我仍然想知道仍在运行的进程的确切数量


是否有一种很好的方法来计算当前处于活动状态的进程数?

如果您在gproc中注册的进程是受监控的,那么您可以从中使用
count\u children
。例如,您可以在
gen_服务器的
init
中使用gproc注册一个新进程,并注销其
终止
。您将同时获得gproc和监督的好处

如果不使用监控,则可以使用gproc计数器(或聚合计数器?,请参阅gproc api)