X-Git-Url: https://git.xandkar.net/?p=beam_stats.git;a=blobdiff_plain;f=src%2Fbeam_stats_msg_graphite.erl;h=bb8932013eb493a2f0e6db7f65ae42bf9a43625f;hp=87dae3e0ff8ef14bc0e670a7e247817f3610b5d7;hb=8fe744e7d00da9039d59d3551d4f05a0e1b007d2;hpb=10bc7b7109e3f124ac8228af0fa2c8395a407350 diff --git a/src/beam_stats_msg_graphite.erl b/src/beam_stats_msg_graphite.erl index 87dae3e..bb89320 100644 --- a/src/beam_stats_msg_graphite.erl +++ b/src/beam_stats_msg_graphite.erl @@ -16,7 +16,6 @@ , of_beam_stats/2 , to_bin/1 , path_to_bin/1 - , add_path_prefix/2 , node_id_to_bin/1 ]). @@ -53,15 +52,17 @@ of_beam_stats(#beam_stats ) -> Ts = Timestamp, N = NodeID, - [ cons([N, <<"io">> , <<"bytes_in">> ], IOBytesIn , Ts) - , cons([N, <<"io">> , <<"bytes_out">>], IOBytesOut , Ts) - , cons([N, <<"context_switches">> ], ContextSwitches, Ts) - , cons([N, <<"reductions">> ], Reductions , Ts) - , cons([N, <<"run_queue">> ], RunQueue , Ts) - | of_memory(Memory, NodeID, Ts) - ] - ++ of_ets(ETS, NodeID, Ts) - ++ of_processes(Processes, NodeID, Ts). + Msgs = + [ cons([N, <<"io">> , <<"bytes_in">> ], IOBytesIn , Ts) + , cons([N, <<"io">> , <<"bytes_out">>], IOBytesOut , Ts) + , cons([N, <<"context_switches">> ], ContextSwitches, Ts) + , cons([N, <<"reductions">> ], Reductions , Ts) + , cons([N, <<"run_queue">> ], RunQueue , Ts) + | of_memory(Memory, NodeID, Ts) + ] + ++ of_ets(ETS, NodeID, Ts) + ++ of_processes(Processes, NodeID, Ts), + lists:map(fun path_prefix_schema_version/1, Msgs). -spec to_bin(t()) -> binary(). @@ -78,11 +79,6 @@ 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) -> @@ -98,6 +94,21 @@ node_id_to_bin(NodeID) -> %% Helpers %% ============================================================================ +-spec path_prefix_schema_version(t()) -> + t(). +path_prefix_schema_version(?T{}=T) -> + path_prefix(T, schema_version()). + +-spec path_prefix(t(), binary()) -> + t(). +path_prefix(?T{path=Path}=T, <>) -> + T?T{path = [Prefix | Path]}. + +-spec schema_version() -> + binary(). +schema_version() -> + <<"beam_stats_v0">>. + -spec bin_join([binary()], binary()) -> binary(). bin_join([] , <<_/binary>> ) -> <<>>;