]).
-export(
- [ collect/0
+ [ collect/1
]).
-define(T, #?MODULE).
-type t() ::
?T{}.
--spec collect() ->
+-spec collect(beam_stats_delta:t()) ->
t().
-collect() ->
+collect(DeltasServer) ->
+ { {io_bytes_in , DeltaOfIOBytesIn}
+ , {io_bytes_out , DeltaOfIOBytesOut}
+ } = beam_stats_delta:of_io(DeltasServer),
?T
- { timestamp = os:timestamp()
- , node_id = erlang:node()
- , memory = erlang:memory()
+ { timestamp = beam_stats_source:os_timestamp()
+ , node_id = beam_stats_source:erlang_node()
+ , memory = beam_stats_source:erlang_memory()
+ , io_bytes_in = DeltaOfIOBytesIn
+ , io_bytes_out = DeltaOfIOBytesOut
+ , context_switches = beam_stats_delta:of_context_switches(DeltasServer)
+ , reductions = beam_stats_delta:of_reductions(DeltasServer)
+ , run_queue = beam_stats_source:erlang_statistics(run_queue)
+ , ets = beam_stats_ets:collect()
+ , processes = beam_stats_processes:collect(DeltasServer)
}.