What is the purpose of disabling ThrowableProxy? All the throwable pattern 
converters rely on it.

Ralph

> On Aug 8, 2018, at 8:34 AM, Carter Kozak <cko...@apache.org> wrote:
> 
> I'm curious what you would think of a system property to disable
> ThrowableProxy creation?
> My initial preference was to avoid this type of flag and make the
> common case cleaner, however
> without providing a mechanism to disable the functionality that
> differentiates it from Throwable
> I'm not sure that's feasible.
> 
> An alternative approach may be to allow custom implementations of the
> logic surrounding
> ThrowableProxy.toCacheEntry which could potentially disable classloader 
> lookups,
> or implement something like the request in github pull/195. This extension 
> point
> would make ThrowableProxy refactors significantly more difficult in the 
> future.
> 
> -ck
> 
> On Tue, Aug 7, 2018 at 11:10 PM, Carter Kozak <c4kof...@gmail.com> wrote:
>> My guess is that StackWalker provides additional information beyond
>> the array of classes
>> supplied by the SecurityManager, though I've not done a thorough analysis 
>> yet.
>> 
>> A quick targeted benchmark of our current implementations:
>> 
>> Benchmark                                               Mode  Cnt
>> Score        Error  Units
>> StackTraceBenchmark.defaultJava8        thrpt    3  113965.921 ±
>> 119706.986  ops/s
>> StackTraceBenchmark.securityManager  thrpt    3  788004.237 ±  82578.567  
>> ops/s
>> StackTraceBenchmark.stackWalker         thrpt    3  182902.031 ±
>> 39018.395  ops/s
>> 
>> 
>> -ck
>> 
>> On Tue, Aug 7, 2018 at 7:20 PM, Ralph Goers <ralph.go...@dslextreme.com> 
>> wrote:
>>> I have to wonder why using the security manager is faster than using 
>>> StackWalker. StackWalker was created just for this purpose. Is the way it 
>>> is implemented the problem?
>>> 
>>> Ralph
>>> 
>>> 
>>>> On Aug 7, 2018, at 1:34 PM, cakofony <g...@git.apache.org> wrote:
>>>> 
>>>> GitHub user cakofony opened a pull request:
>>>> 
>>>>   https://github.com/apache/logging-log4j2/pull/202
>>>> 
>>>>   [LOG4J2-2391] Improve ThrowableProxy performace on java 9+
>>>> 
>>>>   Share the SecurityManager implementation of getCurrentStackTrace
>>>>   with the java 9 implementation.
>>>> 
>>>> You can merge this pull request into a Git repository by running:
>>>> 
>>>>   $ git pull https://github.com/cakofony/logging-log4j2 
>>>> java9_getcurrentstacktrace
>>>> 
>>>> Alternatively you can review and apply these changes as the patch at:
>>>> 
>>>>   https://github.com/apache/logging-log4j2/pull/202.patch
>>>> 
>>>> To close this pull request, make a commit to your master/trunk branch
>>>> with (at least) the following in the commit message:
>>>> 
>>>>   This closes #202
>>>> 
>>>> ----
>>>> commit 52bf8569e8e9881d0999156c31d99b99f28e6e73
>>>> Author: Carter Kozak <ckozak@...>
>>>> Date:   2018-08-07T20:27:10Z
>>>> 
>>>>   [LOG4J2-2391] Improve ThrowableProxy performace on java 9+
>>>> 
>>>>   Share the SecurityManager implementation of getCurrentStackTrace
>>>>   with the java 9 implementation.
>>>> 
>>>> ----
>>>> 
>>>> 
>>>> ---
>>>> 
>>> 
>>> 
> 


Reply via email to