# HG changeset patch # User Kim Alvefur # Date 1473685276 -7200 # Node ID 946871f6e3c8d76e093aa7f4453f3a0e8b572156 # Parent 449de852cf38ae8570b0c6c213f622745820331d mod_c2s, mod_s2s: Switch connection counting to 'amount' type and enumerate once per statistics interval diff -r 449de852cf38 -r 946871f6e3c8 plugins/mod_c2s.lua --- a/plugins/mod_c2s.lua Wed Sep 07 19:32:29 2016 +0100 +++ b/plugins/mod_c2s.lua Mon Sep 12 15:01:16 2016 +0200 @@ -27,7 +27,7 @@ local stream_close_timeout = module:get_option_number("c2s_close_timeout", 5); local opt_keepalives = module:get_option_boolean("c2s_tcp_keepalives", module:get_option_boolean("tcp_keepalives", true)); -local measure_connections = module:measure("connections", "counter"); +local measure_connections = module:measure("connections", "amount"); local sessions = module:shared("sessions"); local core_process_stanza = prosody.core_process_stanza; @@ -36,7 +36,7 @@ local stream_callbacks = { default_ns = "jabber:client" }; local listener = {}; -do +module:hook("stats-update", function () -- Connection counter resets to 0 on load and reload -- Bump it up to current value local count = 0; @@ -44,7 +44,7 @@ count = count + 1; end measure_connections(count); -end +end); --- Stream events handlers local stream_xmlns_attr = {xmlns='urn:ietf:params:xml:ns:xmpp-streams'}; @@ -207,7 +207,6 @@ --- Port listener function listener.onconnect(conn) - measure_connections(1); local session = sm_new_session(conn); sessions[conn] = session; @@ -276,7 +275,6 @@ end function listener.ondisconnect(conn, err) - measure_connections(-1); local session = sessions[conn]; if session then (session.log or log)("info", "Client disconnected: %s", err or "connection closed"); diff -r 449de852cf38 -r 946871f6e3c8 plugins/mod_s2s/mod_s2s.lua --- a/plugins/mod_s2s/mod_s2s.lua Wed Sep 07 19:32:29 2016 +0100 +++ b/plugins/mod_s2s/mod_s2s.lua Mon Sep 12 15:01:16 2016 +0200 @@ -37,13 +37,13 @@ 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 @@ count = count + 1; end measure_connections(count); -end +end); --- Handle stanzas to remote domains @@ -588,7 +588,6 @@ 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 @@ 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;