X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=src%2Fbeam_stats_msg_graphite.erl;h=6788d908d024eea1a468dda045c55cc77f5958ad;hb=1aa506ead33e356c87e1b0b3cbafaeaf62086e61;hp=62028b1bcafbee8ec78743135c9a5b38c9f4b57f;hpb=9b9299d9a59c8e5236c49c048846c9c4d5ed4a8b;p=beam_stats.git diff --git a/src/beam_stats_msg_graphite.erl b/src/beam_stats_msg_graphite.erl index 62028b1..6788d90 100644 --- a/src/beam_stats_msg_graphite.erl +++ b/src/beam_stats_msg_graphite.erl @@ -13,8 +13,11 @@ -export( [ of_beam_stats/1 + , of_beam_stats/2 , to_bin/1 , path_to_bin/1 + , add_path_prefix/2 + , node_id_to_bin/1 ]). -define(T, #?MODULE). @@ -76,11 +79,22 @@ to_bin( TimestampBin = integer_to_binary(TimestampInt), <>. +-spec add_path_prefix(t(), binary()) -> + t(). +add_path_prefix(?T{path=Path}=T, <>) -> + T?T{path = [Prefix | Path]}. + -spec path_to_bin([binary()]) -> binary(). path_to_bin(Path) -> bin_join(Path, <<".">>). +-spec node_id_to_bin(node()) -> + binary(). +node_id_to_bin(NodeID) -> + NodeIDBin = atom_to_binary(NodeID, utf8), + re:replace(NodeIDBin, "[\@\.]", "_", [global, {return, binary}]). + %% ============================================================================ %% Helpers %% ============================================================================ @@ -108,7 +122,7 @@ of_memory(Memory, <>, Timestamp) -> end, lists:map(ComponentToMessage, Memory). --spec of_ets(beam_stats_ets_table:t(), binary(), erlang:timestamp()) -> +-spec of_ets(beam_stats_ets:t(), binary(), erlang:timestamp()) -> [t()]. of_ets(PerTableStats, <>, Timestamp) -> OfEtsTable = fun (Table) -> of_ets_table(Table, NodeID, Timestamp) end, @@ -185,10 +199,10 @@ of_process( OriginAndPid = [OriginBin, PidBin], Ts = Timestamp, N = NodeID, - [ cons([N, <<"process_memory">> , OriginAndPid], Memory , Ts) - , cons([N, <<"process_total_heap_size">> , OriginAndPid], TotalHeapSize , Ts) - , cons([N, <<"process_stack_size">> , OriginAndPid], StackSize , Ts) - , cons([N, <<"process_message_queue_len">> , OriginAndPid], MsgQueueLen , Ts) + [ cons([N, <<"process_memory">> | OriginAndPid], Memory , Ts) + , cons([N, <<"process_total_heap_size">> | OriginAndPid], TotalHeapSize , Ts) + , cons([N, <<"process_stack_size">> | OriginAndPid], StackSize , Ts) + , cons([N, <<"process_message_queue_len">> | OriginAndPid], MsgQueueLen , Ts) ]. -spec proc_origin_to_bin(beam_stats_process:best_known_origin()) -> @@ -251,9 +265,3 @@ cons(Path, Value, Timestamp) -> , value = Value , timestamp = Timestamp }. - --spec node_id_to_bin(node()) -> - binary(). -node_id_to_bin(NodeID) -> - NodeIDBin = atom_to_binary(NodeID, utf8), - re:replace(NodeIDBin, "[\@\.]", "_", [global, {return, binary}]).