Hello All,
I am trying to redo the patch done here
http://www.cs.ndsu.nodak.edu/~rousskov/research/cache/squid/profiling/patch.html
for squid 2.6-S3.
Basically, it adds timestamps at each relevant step in the request processing.
Since there are a lot of changes from the version (1.1) for which
original patch was written to 2.6, I had to pretty much redo the
patch. So, I was hoping that one of the developers would review the
patch and verify if the locations where the timestamps are added are
correct.
I have included some description of where the timestamps are added.
Currently, I am just printing out the values after the activity
finishes to cache.log (using debug(99,9)).
I am unable to send mails with attachments, so let me know how I can
send the patch.
Thanks you for your time.
-- Pranav
Description
----------------
=== clientIn ===
Time taken to accept entire request from client.
* '''Start:''' start of httpAccept() [client_side.c: 4580]
* '''First delay:''' start of clientReadRequest() [client_side.c: 3841]
* '''End:''' end of parseHttpRequest() [client_side.c: 3782]
=== clientOut ===
Time taken to send entire response (header + data) to the client.
* '''Start:''' start of clientSendMoreHeaderData() [client_side.c: 2641]
* '''First delay:''' start of clientWriteComplete() [client_side.c: 3136]
* '''End:''' start of httpRequestFree() [client_side.c: 1365]
'''NOTE:''' Stop clientOut profiling after storeUnlockObject(), so
diskOut profiling can complete and log before clientOut.
=== serverOut ===
Time taken to send a complete request to the server in case of MISS.
* '''Start:''' start of httpStart() [http.c: 1378]
* '''First delay:''' start of httpSendRequest() [http.c: 1354]
* '''End:''' end of httpSendComplete() [http.c: 933]
=== serverIn ===
Time taken to receive the entire response (header + data) from server.
* '''Start:''' end of httpSendComplete(). Immediately after serverOut
finishes. [http.c]
* '''First delay:''' start of httpProcessReplyHeader() [http.c]
* '''End:''' httpReadReply() [http.c]
'''NOTE:''' Stop serverIn profiling before all calls for
fwdComplete(). fwdComplete() calls storeComplete() resulting in
diskOut to end before serverIn ends. Hence, we add profiling before
fwdComplete().
=== diskOut ===
Time taken to write data from the memory to disk (Swap out).
* '''Start:''' start of storeSwapOutStart() [store_swapout.c]
* '''First delay:''' start of storeAufsWriteDone() [fs/aufs/store_io.c]
* '''End:''' storeSwapOutFileClosed() [store_swapout.c]
=== diskIn ===
Time taken to read data from the disk into memory (Swap in).
* '''Start:''' start of storeSwapInStart() [store_swapin.c]
* '''First delay:''' start of storeAufsReadDone() [fs/aufs/store_io.c]
* '''End:''' storeSwapInFileClosed() [store_swapin.c]
Received on Mon Aug 28 2006 - 19:42:19 MDT
This archive was generated by hypermail pre-2.1.9 : Fri Sep 01 2006 - 12:00:02 MDT