atom feed23 messages in org.apache.tomcat.devRe: AccessLogValve enhancement
FromSent OnAttachments
Mark ClaassenFeb 15, 2012 1:23 pm 
Mark ThomasFeb 15, 2012 1:32 pm 
Mark ClaassenFeb 15, 2012 1:55 pm 
Konstantin KolinkoFeb 15, 2012 2:06 pm 
Mark ClaassenFeb 16, 2012 7:16 am 
Mark ClaassenFeb 16, 2012 1:05 pm.zip
Konstantin KolinkoFeb 16, 2012 1:11 pm 
Mark ClaassenFeb 16, 2012 1:44 pm 
Filip Hanik - Dev ListsFeb 17, 2012 7:22 am 
Francis GaliegueFeb 17, 2012 7:54 am 
Filip Hanik - Dev ListsFeb 17, 2012 8:04 am 
Rainer JungFeb 17, 2012 8:13 am 
Christopher SchultzFeb 19, 2012 9:20 am 
Mark ThomasFeb 19, 2012 9:49 am 
Mark ClaassenFeb 19, 2012 6:53 pm 
Christopher SchultzFeb 21, 2012 8:37 am 
Mark ClaassenFeb 24, 2012 8:49 am 
Mark ClaassenMar 27, 2012 6:29 am 
Konstantin KolinkoMar 27, 2012 6:46 am 
Mark ClaassenMar 27, 2012 8:16 am 
Mark ClaassenMar 29, 2012 9:51 am 
Konstantin KolinkoMar 29, 2012 1:43 pm 
Mark ClaassenApr 11, 2012 11:09 am 
Subject:Re: AccessLogValve enhancement
From:Mark Claassen (mark@gmail.com)
Date:Mar 27, 2012 8:16:09 am
List:org.apache.tomcat.dev

That improved my timings considerably. Instead of between 300 - 1100, they are between 100 - 330. However, they are still slower than the current mechanism. (Although, I am not sure how much this benchmark is worth, anyway.) I would imagine that the Async logger has lots of optimizations in it to handle the threading aspects; I wonder if it would be better under load than the current mechanism?

This info is not going to catalina.out.

Other comments? Suggestions for direction: 1) I can add my "outputLoggerName" attribute, which will switch the valve to use the JULI logger 2) I can create some sort of AccessLogWriter that the AccessLogValves will delegate their writing to - With 2 implementations, one being the current method and one being a JULI implementation - Potentially removing one in the future if performance is not an issue. 3) I can just add an attribute to the AccessLogValves to automatically delete older files 4) I can just make my own private subclass to do what I want, and leave the tomcat code unaltered 5) Scrap the current file writing implementation in the AccessLogValve and go straight JULI

I would welcome any advice.

Mark

On Tue, Mar 27, 2012 at 9:46 AM, Konstantin Kolinko <knst@gmail.com>wrote:

2012/3/27 Mark Claassen <mark@gmail.com>:

I did a quick performance test, and it is true that the default mechanism is quite a bit faster than the standard JULI logger. For this test, I just modified the source code to write each log message 1000 times. The first set of timings (in millis) is from the current AccessLogValve, and the second set is using JULI.

AccessLogValve Elapsed Time: 8 AccessLogValve Elapsed Time: 19 AccessLogValve Elapsed Time: 63 AccessLogValve Elapsed Time: 6 AccessLogValve Elapsed Time: 7 AccessLogValve Elapsed Time: 8

INFO: AccessLogValve Elapsed Time: 830 INFO: AccessLogValve Elapsed Time: 1122 INFO: AccessLogValve Elapsed Time: 451 INFO: AccessLogValve Elapsed Time: 531 INFO: AccessLogValve Elapsed Time: 764 INFO: AccessLogValve Elapsed Time: 347

1. Try to configure JULI with org.apache.juli.AsyncFileHandler. It might show better numbers.

(The usual FileHandler by default performs flush() after each log message).

2. Is the same printed to console? If yes then remove ConsoleHandler.