[squid-users] Profiling patch redo, need help.

From: Pranav Desai <pranavadesai@dont-contact.us>
Date: Mon, 28 Aug 2006 18:40:16 -0700

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