Re: [squid-users] Tracing execution of Squid.

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Fri, 06 Apr 2001 03:11:06 +0200

Then your browser are probably not contacting Squid.

There is nothing special about tracing Squid. The only thing you have to
remember is that Squid uses a kind of "cooperative multitasking" model
internally where a handler gets called when there is data available on a
filehandle.

Function flow is basically:

* A handler is registered with comm_set_select()
* comm_poll/comm_select() calls registered handles when needed
* The handler reads/writes the pending data, and then one or more other
handlers are regisered with comm_select() to handle further processing
of the data (i.e. writing received data to the client).

A typical syscalltrace looks like:

   poll()
   read(some fd,...)
   read(some other fd, ...)
   write(yet some other fd, ...)
   poll()
   write(...)
   read(...)
   write(...)
   poll()
   ....

If async-io/aufs is enabled then poll() will be called more frequently
with a short timeout.

--
Henrik Nordstrom
Squid Hacker
Bhanu prakash wrote:
> 
> Hi,
>         How do I trace the execution of Squid.? I see my debugger showing only poll() and not moving any forward even when the browser successfully loads the page. So,I am not able to track down the process even if it is running....
> 
> Thanks,
> Bhanu.
> 
> _____________________________________________________
> Chat with your friends as soon as they come online. Get Rediff Bol at
> http://bol.rediff.com
Received on Thu Apr 05 2001 - 19:44:20 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:59:10 MST