Re: Associating accesses with cache.log entries

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Thu, 11 Dec 2008 11:36:44 -0700

On Thu, 2008-11-27 at 14:21 +1100, Mark Nottingham wrote:
> I've been playing around with associating specific requests with the
> debug output they generate

<snip>

> * How do people feel about putting this in cache.log all the time? I
> don't think it'll break any scripts (there aren't many, and those that
> are tend to grep for specific phrases, rather than do an actual parse,
> AFAICT). Is the placement above appropriate?

Identifying HTTP transactions is a very good thing, IMO. Squid3 uses a
similar approach for async jobs and adaptation transactions. They all
have unique IDs (within a single Squid execution).

I have a script that can extract most messages related to a given job or
transaction from a level-9 cache.log. The effect is similar to "follow
this TCP stream" in Wireshark. Very handy for debugging!

More work is needed though to give unique IDs to HTTP transactions, add
them to headers, and to improve the script to detect relationships
between identified transactions (e.g., "show me all jobs that touched
xact149674").

> * To make this really useful, it would be necessary to be able to
> trigger debug_options (or just all debugging) based upon an ACL match.
> However, this looks like it would require changing how debug is
> #defined. Any comments on this?

Yes, this would be useful when, for example, debugging a known URL on a
busy cache where ALL,9 is not practical. I would try to do this by
asking the current async job to check the debugging ACL when Squid
enters the job. The debugging will stop when Squid leaves the job.

Thank you,

Alex.
Received on Thu Dec 11 2008 - 18:36:55 MST

This archive was generated by hypermail 2.2.0 : Fri Dec 12 2008 - 12:00:07 MST