Comparison

plugins/mod_csi_simple.lua @ 11927:4d63d8ef1cf9

mod_csi_simple: Early return on client activity while flushing buffer Cuts down on log and measurement noise. We only want to do these things here when initiating a flush.
author Kim Alvefur <zash@zash.se>
date Sat, 20 Nov 2021 22:50:51 +0100
parent 11926:99444bf26a3d
child 11928:16cf863b36c0
comparison
equal deleted inserted replaced
11926:99444bf26a3d 11927:4d63d8ef1cf9
141 return stanza; 141 return stanza;
142 end 142 end
143 143
144 local function flush_buffer(data, session) 144 local function flush_buffer(data, session)
145 local ctr = session.csi_counter or 0; 145 local ctr = session.csi_counter or 0;
146 if ctr == 0 then return data end 146 if ctr == 0 or session.state == "flushing" then return data end
147 session.log("debug", "Flushing buffer (%s; queue size is %d)", "client activity", session.csi_counter); 147 session.log("debug", "Flushing buffer (%s; queue size is %d)", "client activity", session.csi_counter);
148 session.state = "flushing"; 148 session.state = "flushing";
149 module:fire_event("csi-flushing", { session = session }); 149 module:fire_event("csi-flushing", { session = session });
150 flush_reasons:with_labels("client activity"):add(1); 150 flush_reasons:with_labels("client activity"):add(1);
151 if session.csi_measure_buffer_hold then 151 if session.csi_measure_buffer_hold then