Clarify reasons for sorting order.
[beam_stats.git] / src / beam_stats_processes.erl
index 90c3886..607376c 100644 (file)
@@ -8,8 +8,8 @@
     ]).
 
 -export(
-    [ collect/0
-    , collect_and_print/0
+    [ collect/1
+    , collect_and_print/1
     , print/1
     ]).
 
 -type t() ::
     ?T{}.
 
--spec collect() ->
+-spec collect(beam_stats_delta:t()) ->
     t().
-collect() ->
+collect(DeltasServer) ->
     Pids = beam_stats_source:erlang_processes(),
-    Ps = [beam_stats_process:of_pid(P) || P <- Pids],
+    PsOpts = [beam_stats_process:of_pid(P, DeltasServer) || P <- Pids],
+    Ps = [P || {some, P} <- PsOpts],
     ?T
     { individual_stats
         = Ps
@@ -44,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.
@@ -64,7 +67,8 @@ print(
 ) ->
     PerProcessStatsSorted = lists:sort(
         fun (#beam_stats_process{memory=A}, #beam_stats_process{memory=B}) ->
-            % From lowest to highest:
+            % From lowest to highest, so that the largest appears the end of
+            % the output and be easier to see (without scrolling back):
             A < B
         end,
         PerProcessStats
This page took 0.030934 seconds and 4 git commands to generate.