Commit 9a4d88e9 authored by Bill Stoddard's avatar Bill Stoddard
Browse files

Add new LogFormat directive, %D, to log time it takes to serve a request

in microseconds.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88046 13f79535-47bb-0310-9956-ffa450edef68
parent d7c3b91b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
Changes with Apache 2.0b1
  *) Add new LogFormat directive, %D, to log time it takes to serve a
     request in microseconds. [Bill Stoddard]

  *) Change AddInputFilter and AddOutputFilter to SetInputFilter and
     SetOutputFilter.  This corresponds nicely with the other Set 
+1 −0
Original line number Diff line number Diff line
@@ -137,6 +137,7 @@ by the values as follows:</p>
                '-' = connection will be closed after the response is sent.
%...{Foobar}C:	The contents of cookie "Foobar" in the request sent to the
                server.
%...D:          The time taken to serve the request, in microseconds.
%...{FOOBAR}e:  The contents of the environment variable FOOBAR
%...f:          Filename
%...h:          Remote host
+9 −0
Original line number Diff line number Diff line
@@ -145,6 +145,7 @@
 * %...{format}t:  The time, in the form given by format, which should
 *                 be in strftime(3) format.
 * %...T:  the time taken to serve the request, in seconds.
 * %...D:  the time taken to serve the request, in micro seconds.
 * %...u:  remote user (from auth; may be bogus if return status (%s) is 401)
 * %...U:  the URL path requested.
 * %...v:  the configured name of the server (i.e. which virtual host?)
@@ -490,6 +491,11 @@ static const char *log_request_duration(request_rec *r, char *a)
                                             / APR_USEC_PER_SEC);
}

static const char *log_request_duration_microseconds(request_rec *r, char *a)
{
    return apr_psprintf(r->pool, "%ld", (apr_time_now() - r->request_time));
}

/* These next two routines use the canonical name:port so that log
 * parsers don't need to duplicate all the vhost parsing crud.
 */
@@ -617,6 +623,9 @@ static struct log_item_list {
    {
        'C', log_cookie, 0
    },
    {
        'D', log_request_duration_microseconds, 1
    },
    {
        '\0'
    }