On March 31, 2011 4:28 , Janne H <jannehso...@yahoo.com>  wrote:
In the access log, what is acctually meassured with the %D option?

The docs say:

%D The time taken to serve the request, in microseconds.

but what is included in this time? Is the stopwatch started when the last byte 
of the request is received and stoped when the first  byte of the response is 
ready to be sent?

Or is the stopwatch started when the first byte of the request is received and 
stoped when the last byte of the response has been sent? That is, it is 
including network sending time?
From the source code for httpd-2.2.17, modules/loggers/mod_log_config.c, line 
650, %D is:

apr_time_now() - r->request_time)

"now" in this context means "the time at which the log line is being written".  
This is after all data has been sent to the client (logging the amount of data sent the the client 
is one of the things that can be logged).  Note that the connection may remain open past the last 
byte being sent to the client (keepalive, etc.).

r->request_time gets set in server/protocol.c, line 617, after the first non-blank line 
of the request (e.g., "GET / HTTP/1.1\r\n")
made by the client is completely received.  This is close to, but a little bit 
after (16 bytes after, in the example I just gave) the first byte of the 
request was received.  So the time to receive the first line of the request is 
not counted in %D, but the time to receive any subsequent lines of the same 
request are counted.

I hope this helps.


--
  Mark Montague
  m...@catseye.org


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
  "   from the digest: users-digest-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to