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.
