diff options
-rw-r--r-- | CHANGES | 2 | ||||
-rw-r--r-- | docs/manual/mod/mod_log_config.html | 1 | ||||
-rw-r--r-- | modules/loggers/mod_log_config.c | 9 |
3 files changed, 12 insertions, 0 deletions
@@ -1,4 +1,6 @@ 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 diff --git a/docs/manual/mod/mod_log_config.html b/docs/manual/mod/mod_log_config.html index 744d61219e..f90dffd140 100644 --- a/docs/manual/mod/mod_log_config.html +++ b/docs/manual/mod/mod_log_config.html @@ -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 diff --git a/modules/loggers/mod_log_config.c b/modules/loggers/mod_log_config.c index 16c9f526cc..6b103aae7a 100644 --- a/modules/loggers/mod_log_config.c +++ b/modules/loggers/mod_log_config.c @@ -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. */ @@ -618,6 +624,9 @@ static struct log_item_list { 'C', log_cookie, 0 }, { + 'D', log_request_duration_microseconds, 1 + }, + { '\0' } }; |