mod_c2s, mod_s2s: Switch connection counting to 'amount' type and enumerate once per statistics interval

This commit is contained in:
Kim Alvefur 2016-09-12 15:01:16 +02:00
parent 582a2180f2
commit 522f448b35
2 changed files with 6 additions and 15 deletions

View file

@ -37,13 +37,13 @@ local secure_domains, insecure_domains =
module:get_option_set("s2s_secure_domains", {})._items, module:get_option_set("s2s_insecure_domains", {})._items;
local require_encryption = module:get_option_boolean("s2s_require_encryption", false);
local measure_connections = module:measure("connections", "counter");
local measure_connections = module:measure("connections", "amount");
local sessions = module:shared("sessions");
local log = module._log;
do
module:hook("stats-update", function ()
-- Connection counter resets to 0 on load and reload
-- Bump it up to current value
local count = 0;
@ -51,7 +51,7 @@ do
count = count + 1;
end
measure_connections(count);
end
end);
--- Handle stanzas to remote domains
@ -588,7 +588,6 @@ local function initialize_session(session)
end
function listener.onconnect(conn)
measure_connections(1);
conn:setoption("keepalive", opt_keepalives);
local session = sessions[conn];
if not session then -- New incoming connection
@ -619,13 +618,7 @@ function listener.onstatus(conn, status)
end
end
function listener.ontimeout(conn)
-- Called instead of onconnect when the connection times out
measure_connections(1);
end
function listener.ondisconnect(conn, err)
measure_connections(-1);
local session = sessions[conn];
if session then
sessions[conn] = nil;