Current section

Files

Jump to
statsderl src statsderl_sup.erl
Raw

src/statsderl_sup.erl

-module(statsderl_sup).
-include("statsderl.hrl").
%% public
-export([
start_link/0
]).
-behaviour(supervisor).
-export([
init/1
]).
%% public
-spec start_link() ->
{ok, pid()}.
start_link() ->
supervisor:start_link({local, ?MODULE}, ?MODULE, []).
%% supervisor callbacks
-spec init([]) ->
{ok, {{one_for_one, 5, 10}, []}}.
init(_Args) ->
BacklogSize = ?ENV(backlog_size, ?DEFAULT_BACKLOG_SIZE),
Hostname = ?ENV(?ENV_HOSTNAME, ?DEFAULT_HOSTNAME),
PoolSize = ?ENV(pool_size, ?DEFAULT_POOL_SIZE),
Port = ?ENV(?ENV_PORT, ?DEFAULT_PORT),
ClientOpts = [
{address, Hostname},
{port, Port},
{protocol, shackle_udp}
],
PoolOtps = [
{backlog_size, BacklogSize},
{pool_size, PoolSize}
],
ok = shackle_pool:start(?APP, ?CLIENT, ClientOpts, PoolOtps),
{ok, {{one_for_one, 5, 10}, []}}.