[jira] [Commented] (ARTEMIS-3922) Reducing contention on java.lang.Throwable#getOurStackTrace
[ https://issues.apache.org/jira/browse/ARTEMIS-3922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17597965#comment-17597965 ] ASF subversion and git services commented on ARTEMIS-3922: -- Commit 6482805f7d88f400c58580fe1fb78333cf27f087 in activemq-artemis's branch refs/heads/main from Rico Neubauer [ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=6482805f7d ] ARTEMIS-3922 Reducing contention on Throwable#getOurStackTrace By allowing to pass caller's classname directly to org.apache.activemq.artemis.utils.ActiveMQThreadFactory#defaultThreadFactory instead of calculating it from stack. > Reducing contention on java.lang.Throwable#getOurStackTrace > --- > > Key: ARTEMIS-3922 > URL: https://issues.apache.org/jira/browse/ARTEMIS-3922 > Project: ActiveMQ Artemis > Issue Type: Improvement >Affects Versions: 2.24.0 >Reporter: Rico Neubauer >Priority: Major > Attachments: threads.txt > > Time Spent: 10m > Remaining Estimate: 0h > > This is a request for improvement rg. performance in a very specific case, > but easy to accomplish. > h2. Scenario > On certain contaier'ed Windows machines we have identified that > {{java.lang.Throwable#getOurStackTrace}} along with > {{java.lang.StackTraceElement#initStackTraceElements}} show up as a very > expensive operations. The reason behind this is still unclear, but since the > {{#getOurStackTrace}} is synchronized, it suffers even more when the native > method {{#initStackTraceElements}} takes an unexpected long time. > This shows in thread-dumps in 2 locations for Artemis, where > connection-creation is the more crucial one from my pov. > See attached threads.txt > h2. Remedy > Fortunately the location where this gets used via > {{Thread.currentThread().getStackTrace()}} is simple to replace, since the > information needed could just get passed by caller. > Please see attached patch for my proposal. > Also available [here as > commit|https://github.com/seeburger-ag/activemq-artemis/commit/7396b9356256706a886f35da3a27274084e5a973]. > Can create a pull request as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (ARTEMIS-3922) Reducing contention on java.lang.Throwable#getOurStackTrace
[ https://issues.apache.org/jira/browse/ARTEMIS-3922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17575618#comment-17575618 ] Rico Neubauer commented on ARTEMIS-3922: PR https://github.com/apache/activemq-artemis/pull/4168 > Reducing contention on java.lang.Throwable#getOurStackTrace > --- > > Key: ARTEMIS-3922 > URL: https://issues.apache.org/jira/browse/ARTEMIS-3922 > Project: ActiveMQ Artemis > Issue Type: Improvement >Affects Versions: 2.24.0 >Reporter: Rico Neubauer >Priority: Major > Attachments: threads.txt > > Time Spent: 10m > Remaining Estimate: 0h > > This is a request for improvement rg. performance in a very specific case, > but easy to accomplish. > h2. Scenario > On certain contaier'ed Windows machines we have identified that > {{java.lang.Throwable#getOurStackTrace}} along with > {{java.lang.StackTraceElement#initStackTraceElements}} show up as a very > expensive operations. The reason behind this is still unclear, but since the > {{#getOurStackTrace}} is synchronized, it suffers even more when the native > method {{#initStackTraceElements}} takes an unexpected long time. > This shows in thread-dumps in 2 locations for Artemis, where > connection-creation is the more crucial one from my pov. > See attached threads.txt > h2. Remedy > Fortunately the location where this gets used via > {{Thread.currentThread().getStackTrace()}} is simple to replace, since the > information needed could just get passed by caller. > Please see attached patch for my proposal. > Also available [here as > commit|https://github.com/seeburger-ag/activemq-artemis/commit/7396b9356256706a886f35da3a27274084e5a973]. > Can create a pull request as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (ARTEMIS-3922) Reducing contention on java.lang.Throwable#getOurStackTrace
[ https://issues.apache.org/jira/browse/ARTEMIS-3922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17575408#comment-17575408 ] Justin Bertram commented on ARTEMIS-3922: - I think this is reasonable. Please send a PR to https://github.com/apache/activemq-artemis. > Reducing contention on java.lang.Throwable#getOurStackTrace > --- > > Key: ARTEMIS-3922 > URL: https://issues.apache.org/jira/browse/ARTEMIS-3922 > Project: ActiveMQ Artemis > Issue Type: Improvement >Affects Versions: 2.24.0 >Reporter: Rico Neubauer >Priority: Major > Attachments: threads.txt > > > This is a request for improvement rg. performance in a very specific case, > but easy to accomplish. > h2. Scenario > On certain contaier'ed Windows machines we have identified that > {{java.lang.Throwable#getOurStackTrace}} along with > {{java.lang.StackTraceElement#initStackTraceElements}} show up as a very > expensive operations. The reason behind this is still unclear, but since the > {{#getOurStackTrace}} is synchronized, it suffers even more when the native > method {{#initStackTraceElements}} takes an unexpected long time. > This shows in thread-dumps in 2 locations for Artemis, where > connection-creation is the more crucial one from my pov. > See attached threads.txt > h2. Remedy > Fortunately the location where this gets used via > {{Thread.currentThread().getStackTrace()}} is simple to replace, since the > information needed could just get passed by caller. > Please see attached patch for my proposal. > Also available [here as > commit|https://github.com/seeburger-ag/activemq-artemis/commit/7396b9356256706a886f35da3a27274084e5a973]. > Can create a pull request as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)