# HG changeset patch # User Jonas Schäfer <jonas@wielicki.name> # Date 1621512054 -7200 # Node ID cb5748f94840ea27403387aa5c1eb51a10c140dd # Parent e06dba5e99b9b3973de7a743f26d728b3d052315 mod_csi_simple: convert to use new metric interface for flush reasons diff -r e06dba5e99b9 -r cb5748f94840 plugins/mod_csi_simple.lua --- a/plugins/mod_csi_simple.lua Wed May 19 23:39:56 2021 +0200 +++ b/plugins/mod_csi_simple.lua Thu May 20 14:00:54 2021 +0200 @@ -107,14 +107,11 @@ local measure_buffer_hold = module:measure("buffer_hold", "times"); -local flush_reasons = setmetatable({}, { - __index = function (t, reason) - local m = module:measure("flush_reason."..reason:gsub("%W", "_"), "rate"); - t[reason] = m; - return m; - end; - }); - +local flush_reasons = module:metric( + "counter", "flushes", "", + "CSI queue flushes", + { "reason" } +); local function manage_buffer(stanza, session) local ctr = session.csi_counter or 0; @@ -124,7 +121,7 @@ session.csi_measure_buffer_hold(); session.csi_measure_buffer_hold = nil; end - flush_reasons[why or "important"](); + flush_reasons:with_labels(why or "important"):add(1); session.log("debug", "Flushing buffer (%s; queue size is %d)", why or "important", session.csi_counter); session.conn:resume_writes(); session.state = "flushing"; @@ -139,7 +136,7 @@ local function flush_buffer(data, session) session.log("debug", "Flushing buffer (%s; queue size is %d)", "client activity", session.csi_counter); - flush_reasons["client activity"](); + flush_reasons:with_labels("client activity"):add(1); if session.csi_measure_buffer_hold then session.csi_measure_buffer_hold(); session.csi_measure_buffer_hold = nil;