Return-Path: Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 87577 invoked by uid 500); 7 Sep 2002 08:34:28 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 87561 invoked from network); 7 Sep 2002 08:34:27 -0000 Subject: I/O logging: more rambling... From: Bojan Smojver To: Apache Dev List Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.8 Date: 07 Sep 2002 18:40:23 +1000 Message-Id: <1031388023.1208.110.camel@beast.rexursive.com> Mime-Version: 1.0 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Given that the algorithm from mod_accounting, which I tried to adopt for this, is not quite correct (or should I say, it is 'quite incorrect' :-), I have tried to follow (without code for now), some of the advice that I was given by various people on this list (thanks!). So, here is what seems the most likely scenario that I would pursue: - don't do anything for 1.3 (switched to 2.0 entirely :-) - for 2.0: - create new module, which will be both the input and output filter - only ever to one thing in filter functions: apr_brigade_length() - store the results in the the module private data structure - log the thing later, using the brand new log_writer thingy? My understanding is that the 'brigades' are passed from filter to filter (using ap_pass_brigade() for output and ap_get_brigade() for input filters), so I should be able to catch all of them (is there more then one?) for the given request and simply add up the input and output number of bytes. As far as I can tell, the above input/output filters should be the very last ones, in order to make sure all input and output is covered. Any input appreciated... Bojan