Upgrade hope to 4.0.0, which uses empty tuple as unit
[beam_stats.git] / src / beam_stats_consumer_graphite.erl
index 036f6c9..251f92e 100644 (file)
 -type state() ::
     #state{}.
 
--define(PATH_PREFIX         , <<"beam_stats">>).
--define(DEFAULT_HOST        , "localhost").
--define(DEFAULT_PORT        , 2003).
--define(DEFAULT_TIMEOUT     , 5000).
+-define(DEFAULT_HOST    , "localhost").
+-define(DEFAULT_PORT    , 2003).
+-define(DEFAULT_TIMEOUT , 5000).
 
 -spec init([option()]) ->
     {non_neg_integer(), state()}.
@@ -53,19 +52,18 @@ init(Options) ->
 -spec consume(beam_stats_consumer:queue(), state()) ->
     state().
 consume(Q, #state{}=State1) ->
-    Payload = beam_stats_queue_to_binary(Q),
+    Payload = beam_stats_queue_to_iolists(Q),
     State2 = try_to_connect_if_no_socket(State1),
     try_to_send(State2, Payload).
 
 -spec terminate(state()) ->
     {}.
 terminate(#state{sock=SockOpt}) ->
-    ok = hope_option:iter(SockOpt, fun gen_tcp:close/1),
-    {}.
+    hope_option:iter(SockOpt, fun gen_tcp:close/1).
 
 %% ============================================================================
 
--spec try_to_send(state(), binary()) ->
+-spec try_to_send(state(), iolist()) ->
     state().
 try_to_send(#state{sock=none}=State, _) ->
     ?log_error("Sending failed. No socket in state."),
@@ -76,7 +74,7 @@ try_to_send(#state{sock={some, Sock}}=State, Payload) ->
     of  ok ->
             State
     ;   {error, _}=Error ->
-            ?log_error("gen_tcp:send(~p, ~p) -> ~p", [Sock, Payload, Error]),
+            ?log_error("gen_tcp:send(~p, Payload) -> ~p", [Sock, Error]),
             % TODO: Maybe schedule retry?
             ok = gen_tcp:close(Sock),
             State#state{sock=none}
@@ -106,17 +104,13 @@ try_to_connect_if_no_socket(
             State#state{sock = none}
     end.
 
--spec beam_stats_queue_to_binary(beam_stats_consumer:queue()) ->
-    binary().
-beam_stats_queue_to_binary(Q) ->
-    Bins = [beam_stats_to_bins(B) || B <- queue:to_list(Q)],
-    iolist_to_binary(Bins).
-
--spec beam_stats_to_bins(beam_stats:t()) ->
-    [binary()].
-beam_stats_to_bins(#beam_stats{}=BeamStats) ->
-    MsgAddPrefix =
-        fun (M) -> beam_stats_msg_graphite:add_path_prefix(M, ?PATH_PREFIX) end,
-    Msgs1 = beam_stats_msg_graphite:of_beam_stats(BeamStats),
-    Msgs2 = lists:map(MsgAddPrefix, Msgs1),
-    lists:map(fun beam_stats_msg_graphite:to_bin/1, Msgs2).
+-spec beam_stats_queue_to_iolists(beam_stats_consumer:queue()) ->
+    [iolist()].
+beam_stats_queue_to_iolists(Q) ->
+    [beam_stats_to_iolist(B) || B <- queue:to_list(Q)].
+
+-spec beam_stats_to_iolist(beam_stats:t()) ->
+    [iolist()].
+beam_stats_to_iolist(#beam_stats{}=BeamStats) ->
+    Msgs = beam_stats_msg_graphite:of_beam_stats(BeamStats),
+    lists:map(fun beam_stats_msg_graphite:to_iolist/1, Msgs).
This page took 0.026024 seconds and 4 git commands to generate.