Use iolists, where appropriate
[beam_stats.git] / src / beam_stats_msg_statsd_gauge.erl
CommitLineData
9b9299d9
SK
1-module(beam_stats_msg_statsd_gauge).
2
3-include("include/beam_stats_msg_graphite.hrl").
4-include("include/beam_stats_msg_statsd_gauge.hrl").
5
6-export_type(
7 [ t/0
8 ]).
9
10-export(
11 [ of_msg_graphite/1
cdcb989e 12 , to_iolist/1
9b9299d9
SK
13 ]).
14
15-define(T, #?MODULE).
16
17-type t() ::
18 ?T{}.
19
808e1732
SK
20-spec of_msg_graphite(beam_stats_msg_graphite:t()) ->
21 t().
9b9299d9
SK
22of_msg_graphite(
23 #beam_stats_msg_graphite
24 { path = Path
25 , value = Value
26 , timestamp = _Timestamp
27 }
28) ->
cdcb989e
PO
29 PathIOList = beam_stats_msg_graphite:path_to_iolist(Path),
30 cons(PathIOList, Value).
9b9299d9 31
cdcb989e 32-spec cons(iolist(), non_neg_integer()) ->
9b9299d9 33 t().
cdcb989e 34cons(Name, Value) ->
9b9299d9
SK
35 ?T
36 { name = Name
37 , value = Value
38 }.
39
cdcb989e
PO
40-spec to_iolist(t()) ->
41 iolist().
42to_iolist(
9b9299d9 43 ?T
cdcb989e 44 { name = Name
9b9299d9
SK
45 , value = Value
46 }
47) when Value >= 0 ->
48 ValueBin = integer_to_binary(Value),
cdcb989e 49 [Name, <<":">>, ValueBin, <<"|g\n">>].
This page took 0.028722 seconds and 4 git commands to generate.