diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2018-04-15 08:10:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-15 08:10:38 +0100 |
commit | 2e3751412b1d80d84bf56d426e628978f49eda71 (patch) | |
tree | faf1f5664b9d18cc2fe02d5c4bed971080c88a25 | |
parent | 21084c05f73672d0edb9d52ae05d3c8dc53a2abb (diff) | |
parent | a4293599a09b387064f70cc81292b8773ac6b859 (diff) | |
download | rspamd-2e3751412b1d80d84bf56d426e628978f49eda71.tar.gz rspamd-2e3751412b1d80d84bf56d426e628978f49eda71.zip |
Merge pull request #2170 from moisseev/expiry
[Minor] Fix bayes_expiry logging
-rw-r--r-- | src/plugins/lua/bayes_expiry.lua | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/src/plugins/lua/bayes_expiry.lua b/src/plugins/lua/bayes_expiry.lua index dc580a6b3..ea7ae1a9f 100644 --- a/src/plugins/lua/bayes_expiry.lua +++ b/src/plugins/lua/bayes_expiry.lua @@ -239,12 +239,14 @@ local expiry_script = [[ local cur = 0 local c_data = {0,0,0,0,0,0,0,0,0}; +local step = 0 local function expire_step(cls, ev_base, worker) local function redis_step_cb(err, data) if err then logger.errx(rspamd_config, 'cannot perform expiry step: %s', err) elseif type(data) == 'table' then + step = step + 1 for k,v in pairs(data) do data[k] = tonumber(v) end cur = table.remove(data, 1) @@ -259,21 +261,33 @@ local function expire_step(cls, ev_base, worker) end local function log_stat(cycle) + local mode = settings.lazy and ' (lazy)' or '' + local significant_action = (settings.lazy or cls.expiry < 0) and 'made persistent' or 'extended' + local infrequent_action = (cls.expiry < 0) and 'made persistent' or 'ttls set' + + local d = cycle and { + 'cycle in ' .. step .. ' steps', mode, c_data[1], + c_data[7], c_data[2], significant_action, + c_data[6], c_data[3], + c_data[8], c_data[9], infrequent_action, + math.floor(.5 + c_data[4] / c_data[1]), + math.floor(.5 + math.sqrt(c_data[5] / c_data[1])) + } or { + 'step ' .. step, mode, data[1], + data[7], data[2], significant_action, + data[6], data[3], + data[8], data[9], infrequent_action, + data[4], + data[5] + } logger.infox(rspamd_config, 'finished expiry %s%s: %s items checked, %s significant (%s %s), %s common (%s discriminated), %s infrequent (%s %s), %s mean, %s std', - cycle and 'cycle' or 'step', - settings.lazy and ' (lazy)' or '', - c_data[1], c_data[7], c_data[2], - (settings.lazy or cls.expiry < 0) and 'made persistent' or 'extended', - c_data[6], c_data[3], data[8], data[9], - (cls.expiry < 0) and 'made persistent' or 'ttls set', - cycle and math.floor(.5 + c_data[4] / c_data[1]) or data[4], - cycle and math.floor(.5 + math.sqrt(c_data[5] / c_data[1])) or data[5] - ) + lutil.unpack(d)) end log_stat(false) if cur == 0 then log_stat(true) c_data = {0,0,0,0,0,0,0,0,0}; + step = 0 end end end |