[ t/0
]).
+-export(
+ [ collect/1
+ ]).
+
+-define(T, #?MODULE).
+
-type t() ::
- #?MODULE{}.
+ ?T{}.
+
+-spec collect(beam_stats_delta:t()) ->
+ t().
+collect(DeltasServer) ->
+ { {io_bytes_in , DeltaOfIOBytesIn}
+ , {io_bytes_out , DeltaOfIOBytesOut}
+ } = beam_stats_delta:of_io(DeltasServer),
+ ?T
+ { 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)
+ }.