Make s2s stats commands more robust

This commit is contained in:
Mickael Remond 2016-07-30 18:50:58 +02:00
parent 19ad6e6145
commit 4bf8ce7681
No known key found for this signature in database
GPG Key ID: E6F6045D79965AA3
1 changed files with 24 additions and 18 deletions

View File

@ -473,28 +473,34 @@ send_element(Pid, El) ->
%%% ejabberd commands %%% ejabberd commands
get_commands_spec() -> get_commands_spec() ->
[#ejabberd_commands{name = incoming_s2s_number, [#ejabberd_commands{
tags = [stats, s2s], name = incoming_s2s_number,
desc = tags = [stats, s2s],
"Number of incoming s2s connections on " desc = "Number of incoming s2s connections on the node",
"the node", policy = admin,
policy = admin, module = ?MODULE, function = incoming_s2s_number,
module = ?MODULE, function = incoming_s2s_number, args = [], result = {s2s_incoming, integer}},
args = [], result = {s2s_incoming, integer}}, #ejabberd_commands{
#ejabberd_commands{name = outgoing_s2s_number, name = outgoing_s2s_number,
tags = [stats, s2s], tags = [stats, s2s],
desc = desc = "Number of outgoing s2s connections on the node",
"Number of outgoing s2s connections on " policy = admin,
"the node", module = ?MODULE, function = outgoing_s2s_number,
policy = admin, args = [], result = {s2s_outgoing, integer}}].
module = ?MODULE, function = outgoing_s2s_number,
args = [], result = {s2s_outgoing, integer}}].
%% TODO Move those stats commands to ejabberd stats command ?
incoming_s2s_number() -> incoming_s2s_number() ->
length(supervisor:which_children(ejabberd_s2s_in_sup)). supervisor_count(ejabberd_s2s_in_sup).
outgoing_s2s_number() -> outgoing_s2s_number() ->
length(supervisor:which_children(ejabberd_s2s_out_sup)). supervisor_count(ejabberd_s2s_out_sup).
supervisor_count(Supervisor) ->
case catch supervisor:which_children(Supervisor) of
{'EXIT', _} -> 0;
Result ->
length(Result)
end.
%%%---------------------------------------------------------------------- %%%----------------------------------------------------------------------
%%% Update Mnesia tables %%% Update Mnesia tables