X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=src%2Fbeam_stats.erl;h=b3e445e269a7c9323797aeb038bf0794281aa96a;hb=65416582c9dcb3442edd532b2dbb2ace5e0dfa35;hp=15225682f71e60d2b8ba30d751a69717d82b98da;hpb=b4e2333fc5fd9f32c8a0a39db4c6faacdbb15a91;p=beam_stats.git diff --git a/src/beam_stats.erl b/src/beam_stats.erl index 1522568..b3e445e 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() + }.