X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=src%2Fbeam_stats.erl;h=61d8f3b5f61db9592b32778988f83559b7cb53e3;hb=7dbc59b67d2cebe0e498ac4fd167cbaabed0e55b;hp=15225682f71e60d2b8ba30d751a69717d82b98da;hpb=b4e2333fc5fd9f32c8a0a39db4c6faacdbb15a91;p=beam_stats.git diff --git a/src/beam_stats.erl b/src/beam_stats.erl index 1522568..61d8f3b 100644 --- a/src/beam_stats.erl +++ b/src/beam_stats.erl @@ -6,5 +6,30 @@ [ 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) + }.