You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Jeff Trawick <tr...@gmail.com> on 2015/05/21 20:54:13 UTC
Re: svn commit: r1680895 - in /httpd/httpd/trunk: docs/manual/mod/mod_log_config.xml
modules/loggers/mod_log_config.c
On 05/21/2015 11:07 AM, rjung@apache.org wrote:
> Author: rjung
> Date: Thu May 21 15:07:15 2015
> New Revision: 1680895
>
> URL: http://svn.apache.org/r1680895
> Log:
> mod_log_config: instead of using the new dedicated
> pattern format "%M" for duration milliseconds,
> overload the existing "%D" to choose the time precision
> ("%{s}D" for seconds, "%{ms}D" for milliseconds and
> "%{us}D" for microseconds).
>
> The existing %T and %D without precision are kept for
> compatibility.
>
> The previously introduced "%M" (r1677187) is removed,
> it has not yet been released. Format pattern characters
> are rare, so we should only use a new one if an
> existing one isn't a good fit.
>
> Modified:
> httpd/httpd/trunk/docs/manual/mod/mod_log_config.xml
> httpd/httpd/trunk/modules/loggers/mod_log_config.c
>
> Modified: httpd/httpd/trunk/docs/manual/mod/mod_log_config.xml
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/mod_log_config.xml?rev=1680895&r1=1680894&r2=1680895&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/docs/manual/mod/mod_log_config.xml (original)
> +++ httpd/httpd/trunk/docs/manual/mod/mod_log_config.xml Thu May 21 15:07:15 2015
> @@ -95,6 +95,16 @@
> <tr><td><code>%D</code></td>
> <td>The time taken to serve the request, in microseconds.</td></tr>
>
> + <tr><td><code>%{<var>UNIT</var>}D</code></td>
> + <td>The time taken to serve the request, in a time unit given by
> + <code>UNIT</code>. Valid units are <code>ms</code> for milliseconds,
> + <code>us</code> for microseconds and <code>s</code> for seconds.
> + Using <code>us</code> gives the same result as <code>%D</code>
> + without any format, using <code>s</code> gives teh same result
> + as <code>%T</code>. Combining <code>%D</code> with a unit is
> + available in 2.4.13 and later.</td></tr>
> + </td></tr>
> +
> <tr><td><code>%{<var>VARNAME</var>}e</code></td>
> <td>The contents of the environment variable
> <var>VARNAME</var>.</td></tr>
> @@ -146,10 +156,6 @@
> <tr><td><code>%m</code></td>
> <td>The request method.</td></tr>
>
> - <tr><td><code>%M</code></td>
> - <td>The time taken to serve the request, in milliseconds.
> - (available in 2.4.13 and later)</td></tr>
> -
This is a very nice improvement over introducing "M", and Yann's
suggestion to expand "T" instead of "D" is an increment above that.
Any concerns if I switch them out?
> <tr><td><code>%{<var>VARNAME</var>}n</code></td>
> <td>The contents of note <var>VARNAME</var> from another
> module.</td></tr>
>
> Modified: httpd/httpd/trunk/modules/loggers/mod_log_config.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/loggers/mod_log_config.c?rev=1680895&r1=1680894&r2=1680895&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/loggers/mod_log_config.c (original)
> +++ httpd/httpd/trunk/modules/loggers/mod_log_config.c Thu May 21 15:07:15 2015
> @@ -101,8 +101,10 @@
> * %...{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.
> - * %...M: the time taken to serve the request, in milliseconds
> * %...D: the time taken to serve the request, in micro seconds.
> + * %...{s}D: the time taken to serve the request, in seconds, same as %T.
> + * %...{us}D: the time taken to serve the request, in micro seconds, same as %D.
> + * %...{ms}D: the time taken to serve the request, in milliseconds.
> * %...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?)
> @@ -803,17 +805,22 @@ static const char *log_request_duration(
> return apr_psprintf(r->pool, "%" APR_TIME_T_FMT, apr_time_sec(duration));
> }
>
> -static const char *log_request_duration_milliseconds(request_rec *r, char *a)
> +static const char *log_request_duration_scaled(request_rec *r, char *a)
> {
> apr_time_t duration = get_request_end_time(r) - r->request_time;
> - return apr_psprintf(r->pool, "%" APR_TIME_T_FMT, apr_time_as_msec(duration));
> -}
> -
> -
> -static const char *log_request_duration_microseconds(request_rec *r, char *a)
> -{
> - return apr_psprintf(r->pool, "%" APR_TIME_T_FMT,
> - (get_request_end_time(r) - r->request_time));
> + if (*a == '\0' || !strcasecmp(a, "us")) {
> + }
> + else if (!strcasecmp(a, "ms")) {
> + duration = apr_time_as_msec(duration);
> + }
> + else if (!strcasecmp(a, "s")) {
> + duration = apr_time_sec(duration);
> + }
> + else {
> + /* bogus format */
> + return a;
> + }
> + return apr_psprintf(r->pool, "%" APR_TIME_T_FMT, duration);
> }
>
> /* These next two routines use the canonical name:port so that log
> @@ -1844,8 +1851,7 @@ static int log_pre_config(apr_pool_t *p,
> log_pfn_register(p, "C", log_cookie, 0);
> log_pfn_register(p, "k", log_requests_on_connection, 0);
> log_pfn_register(p, "r", log_request_line, 1);
> - log_pfn_register(p, "D", log_request_duration_microseconds, 1);
> - log_pfn_register(p, "M", log_request_duration_milliseconds, 1);
> + log_pfn_register(p, "D", log_request_duration_scaled, 1);
> log_pfn_register(p, "T", log_request_duration, 1);
> log_pfn_register(p, "U", log_request_uri, 1);
> log_pfn_register(p, "s", log_status, 1);
>
>
Re: svn commit: r1680895 - in /httpd/httpd/trunk: docs/manual/mod/mod_log_config.xml
modules/loggers/mod_log_config.c
Posted by Rainer Jung <ra...@kippdata.de>.
Am 21.05.2015 um 20:57 schrieb Eric Covener:
> On Thu, May 21, 2015 at 2:54 PM, Jeff Trawick <tr...@gmail.com> wrote:
>> This is a very nice improvement over introducing "M", and Yann's suggestion
>> to expand "T" instead of "D" is an increment above that.
>>
>> Any concerns if I switch them out?
>
> +1 here
No concern. I'm just to lazy to do it myself after goind down the %D
route. Go ahead if you like. Most of us seem to favor it.
Regards,
Rainer
Re: svn commit: r1680895 - in /httpd/httpd/trunk: docs/manual/mod/mod_log_config.xml
modules/loggers/mod_log_config.c
Posted by Jeff Trawick <tr...@gmail.com>.
On 05/21/2015 02:57 PM, Eric Covener wrote:
> On Thu, May 21, 2015 at 2:54 PM, Jeff Trawick <tr...@gmail.com> wrote:
>> This is a very nice improvement over introducing "M", and Yann's suggestion
>> to expand "T" instead of "D" is an increment above that.
>>
>> Any concerns if I switch them out?
> +1 here
done; now fixing up a 2.4.x patch to match...
Re: svn commit: r1680895 - in /httpd/httpd/trunk: docs/manual/mod/mod_log_config.xml
modules/loggers/mod_log_config.c
Posted by Eric Covener <co...@gmail.com>.
On Thu, May 21, 2015 at 2:54 PM, Jeff Trawick <tr...@gmail.com> wrote:
> This is a very nice improvement over introducing "M", and Yann's suggestion
> to expand "T" instead of "D" is an increment above that.
>
> Any concerns if I switch them out?
+1 here