Commit | Line | Data |
---|---|---|
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 |
22 | of_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 | 34 | cons(Name, Value) -> |
9b9299d9 SK |
35 | ?T |
36 | { name = Name | |
37 | , value = Value | |
38 | }. | |
39 | ||
cdcb989e PO |
40 | -spec to_iolist(t()) -> |
41 | iolist(). | |
42 | to_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">>]. |