Track IO deltas.
[beam_stats.git] / test / beam_stats_consumer_statsd_SUITE.erl
1 -module(beam_stats_consumer_statsd_SUITE).
2
3 -include_lib("beam_stats/include/beam_stats.hrl").
4
5 -export(
6 [ all/0
7 , groups/0
8 ]).
9
10 %% Test cases
11 -export(
12 [ t_send/1
13 ]).
14
15 -define(GROUP, beam_stats_consumer_statsd).
16
17 %% ============================================================================
18 %% Common Test callbacks
19 %% ============================================================================
20
21 all() ->
22 [{group, ?GROUP}].
23
24 groups() ->
25 Tests =
26 [ t_send
27 ],
28 Properties = [],
29 [{?GROUP, Properties, Tests}].
30
31 %% =============================================================================
32 %% Test cases
33 %% =============================================================================
34
35 t_send(_Cfg) ->
36 BEAMStats = #beam_stats
37 { timestamp = {1, 2, 3}
38 , node_id = 'node_foo@host_bar'
39 , memory = [{mem_type_foo, 1}]
40 , io_bytes_in = 3
41 , io_bytes_out = 7
42 },
43 ServerPort = 8125,
44 {ok, ServerSocket} = gen_udp:open(ServerPort, [binary, {active, false}]),
45 BEAMStatsQ = queue:in(BEAMStats, queue:new()),
46 Options = [{dst_port, ServerPort}],
47 {_, State1} = beam_stats_consumer_statsd:init(Options),
48 State2 = beam_stats_consumer_statsd:consume(BEAMStatsQ, State1),
49 {} = beam_stats_consumer_statsd:terminate(State2),
50 ResultOfReceive = gen_udp:recv(ServerSocket, 0),
51 ok = gen_udp:close(ServerSocket),
52 {ok, {_, _, Data}} = ResultOfReceive,
53 << "beam_stats.node_foo_host_bar.io.bytes_in:3|g\n"
54 , "beam_stats.node_foo_host_bar.io.bytes_out:7|g\n"
55 , "beam_stats.node_foo_host_bar.memory.mem_type_foo:1|g\n"
56 >> = Data.
This page took 0.050305 seconds and 4 git commands to generate.