X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=src%2Fbeam_stats_processes.erl;h=d369314251867a469377bcf3499a90f4869bddc6;hb=7dbc59b67d2cebe0e498ac4fd167cbaabed0e55b;hp=2505178132606005c0178399fd1bd36f56c63806;hpb=fa175c943c5d08ca2fdf2156abc3023ccf8b9baa;p=beam_stats.git diff --git a/src/beam_stats_processes.erl b/src/beam_stats_processes.erl index 2505178..d369314 100644 --- a/src/beam_stats_processes.erl +++ b/src/beam_stats_processes.erl @@ -8,8 +8,8 @@ ]). -export( - [ collect/0 - , collect_and_print/0 + [ collect/1 + , collect_and_print/1 , print/1 ]). @@ -18,10 +18,12 @@ -type t() :: ?T{}. --spec collect() -> +-spec collect(beam_stats_delta:t()) -> t(). -collect() -> - Ps = [beam_stats_process:of_pid(P) || P <- erlang:processes()], +collect(DeltasServer) -> + Pids = beam_stats_source:erlang_processes(), + PsOpts = [beam_stats_process:of_pid(P, DeltasServer) || P <- Pids], + Ps = [P || {some, P} <- PsOpts], ?T { individual_stats = Ps @@ -32,7 +34,7 @@ collect() -> , count_garbage_collecting = length([P || P <- Ps, P#beam_stats_process.status =:= garbage_collecting]) , count_registered - = length(registered()) + = length(beam_stats_source:erlang_registered()) , count_runnable = length([P || P <- Ps, P#beam_stats_process.status =:= runnable]) , count_running @@ -43,8 +45,10 @@ collect() -> = length([P || P <- Ps, P#beam_stats_process.status =:= waiting]) }. -collect_and_print() -> - print(collect()). +-spec collect_and_print(beam_stats_delta:t()) -> + ok. +collect_and_print(DeltasServer) -> + print(collect(DeltasServer)). -spec print(t()) -> ok.