X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=test%2Fbeam_stats_consumer_statsd_SUITE.erl;h=dd01455894022b87d2e5e9b6020243c9761bcaeb;hb=a8d431d1d7c542f66aeb1c272a5a2edf3cd9130d;hp=f34d003ca0315799ba4e146bc7b7d00d0ba749c9;hpb=06cf34fbf4a707198201622f97ac86d7f1bb12c6;p=beam_stats.git diff --git a/test/beam_stats_consumer_statsd_SUITE.erl b/test/beam_stats_consumer_statsd_SUITE.erl index f34d003..dd01455 100644 --- a/test/beam_stats_consumer_statsd_SUITE.erl +++ b/test/beam_stats_consumer_statsd_SUITE.erl @@ -1,5 +1,8 @@ -module(beam_stats_consumer_statsd_SUITE). +-include_lib("beam_stats/include/beam_stats.hrl"). +-include_lib("beam_stats/include/beam_stats_ets_table.hrl"). + -export( [ all/0 , groups/0 @@ -7,15 +10,10 @@ %% Test cases -export( - [ t_beam_stats_to_bins/1 - , t_memory_component_to_statsd_msg/1 - , t_statsd_msg_add_name_prefix/1 - , t_statsd_msg_to_bin/1 - , t_node_id_to_bin/1 + [ t_send/1 ]). --define(statsd_module, beam_stats_consumer_statsd). --define(GROUP, ?statsd_module). +-define(GROUP, beam_stats_consumer_statsd). %% ============================================================================ %% Common Test callbacks @@ -26,11 +24,7 @@ all() -> groups() -> Tests = - [ t_beam_stats_to_bins - , t_memory_component_to_statsd_msg - , t_statsd_msg_add_name_prefix - , t_statsd_msg_to_bin - , t_node_id_to_bin + [ t_send ], Properties = [], [{?GROUP, Properties, Tests}]. @@ -39,17 +33,52 @@ groups() -> %% Test cases %% ============================================================================= -t_beam_stats_to_bins(_Cfg) -> - ?statsd_module:ct_test__beam_stats_to_bins(_Cfg). - -t_memory_component_to_statsd_msg(_Cfg) -> - ?statsd_module:ct_test__memory_component_to_statsd_msg(_Cfg). - -t_statsd_msg_add_name_prefix(_Cfg) -> - ?statsd_module:ct_test__statsd_msg_add_name_prefix(_Cfg). - -t_statsd_msg_to_bin(_Cfg) -> - ?statsd_module:ct_test__statsd_msg_to_bin(_Cfg). - -t_node_id_to_bin(_Cfg) -> - ?statsd_module:ct_test__node_id_to_bin(_Cfg). +t_send(_Cfg) -> + ETSTableStatsFoo = + #beam_stats_ets_table + { id = foo + , name = foo + , size = 5 + , memory = 25 + }, + ETSTableStatsBar = + #beam_stats_ets_table + { id = 37 + , name = bar + , size = 8 + , memory = 38 + }, + % TODO: Indent #beam_stats as #beam_stats_ets_table + BEAMStats = #beam_stats + { timestamp = {1, 2, 3} + , node_id = 'node_foo@host_bar' + , memory = [{mem_type_foo, 1}] + , io_bytes_in = 3 + , io_bytes_out = 7 + , context_switches = 5 + , reductions = 9 + , run_queue = 17 + , ets = [ETSTableStatsFoo, ETSTableStatsBar] + }, + ServerPort = 8125, + {ok, ServerSocket} = gen_udp:open(ServerPort, [binary, {active, false}]), + BEAMStatsQ = queue:in(BEAMStats, queue:new()), + Options = [{dst_port, ServerPort}], + {_, State1} = beam_stats_consumer_statsd:init(Options), + State2 = beam_stats_consumer_statsd:consume(BEAMStatsQ, State1), + {} = beam_stats_consumer_statsd:terminate(State2), + ResultOfReceive = gen_udp:recv(ServerSocket, 0), + ok = gen_udp:close(ServerSocket), + {ok, {_, _, Data}} = ResultOfReceive, + ct:log("Packet: ~n~s~n", [Data]), + << "beam_stats.node_foo_host_bar.io.bytes_in:3|g\n" + , "beam_stats.node_foo_host_bar.io.bytes_out:7|g\n" + , "beam_stats.node_foo_host_bar.context_switches:5|g\n" + , "beam_stats.node_foo_host_bar.reductions:9|g\n" + , "beam_stats.node_foo_host_bar.run_queue:17|g\n" + , "beam_stats.node_foo_host_bar.memory.mem_type_foo:1|g\n" + , "beam_stats.node_foo_host_bar.ets_table.size.foo.foo:5|g\n" + , "beam_stats.node_foo_host_bar.ets_table.memory.foo.foo:25|g\n" + , "beam_stats.node_foo_host_bar.ets_table.size.bar.37:8|g\n" + , "beam_stats.node_foo_host_bar.ets_table.memory.bar.37:38|g\n" + >> = Data.