[
https://issues.apache.org/jira/browse/LOG4J2-2391?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17006248#comment-17006248
]
Carter Kozak commented on LOG4J2-2391:
--------------------------------------
Another idea:
https://github.com/apache/logging-log4j2/pull/329
Excludes classes from (expensive) classloading when they're not likely to be
useful, and builds a cache based on the initial stack instead of traversing the
stack of calling classes in order, which only worked when exceptions were
caught and logged in a mostly linear path.
> Investigate ThrowableProxy performance
> --------------------------------------
>
> Key: LOG4J2-2391
> URL: https://issues.apache.org/jira/browse/LOG4J2-2391
> Project: Log4j 2
> Issue Type: Task
> Affects Versions: 2.11.1
> Reporter: Carter Kozak
> Assignee: Carter Kozak
> Priority: Major
>
> I've noticed when applications get into a state where they log more
> exceptions than usual (e.g. network connectivity issues) thread dumps contain
> many threads working inside of ThrowableProxy, loading classes.
> A simple jmh benchmark of a pattern layout writing to disk with a message and
> throwable appears to write about 160,000 events/second using a throwable, and
> 2,000 events/second using ThrowableProxy.
> I will investigate to understand where the substantial difference is coming
> from, and clean up the benchmarks to add to the log4j2 benchmarking module.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)