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. >>>> >>>> ---- >>>> >>>> >>>> --- >>>> >>> >>> >