Remy Maucherat wrote:
> Glenn Nielsen wrote:
> 
>> Capturing of stdout/stderr has been enabled in Tomcat 4.1 for 2-3 
>> months now.
> 
> 
> I don't think it was, as RequestBase is deprecated, and is not used 
> anymore (except in the old connectors).
> 
>> What I committed was a bug fix.  If you revert it, capturing 
>> stderr/stdout code
>> will still exist, you would just put back in place a memory leak.
> 
> 
> Ok.
> 
>> There is another place where you will need to implement your 
>> SwallowOutput flag,
>> in StandardWrapper.java.  It captures output from a load on startup 
>> servlet.
> 
> 
> I don't have many problems with capturing during servlet init. It makes 
> more sense to me to capture that data (no rational explanation, just a 
> feeling).
> It's not done during shutdown, BTW.
> 

I can add that. :-)


> I can also make that optional using the same flag.
> 
>> The thread sync issue is a good point, but this can be improved by 
>> changing
>> the SystemLogHandler to use Thread Local variables.
> 
> 
> Thread local is quite slow, from what I saw with OptimizeIt, so I don't 
> want to use it.
> 

 From reading the section on Thread Local Performance here:

http://www-106.ibm.com/developerworks/java/library/j-threads3.html#h15292

Thread local performance differs based on the JVM.

1.2 -> poor
1.3 -> better than normal sync _if_ you have alot of thread contention.
        In production where performance is an issue Tomcat can spawn alot
        of threads, so Thread Local could be of benefit.
1.4 -> much faster than normal sync

Based on this, for the long run, I think its better to switch to Thread Local.

In the long run it may be better to add support for CaptureLog to the base class
for a Processor so that the thread sync issues can be avoided altogether.

Regards,

Glenn


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to