[jira] [Commented] (ARTEMIS-3922) Reducing contention on java.lang.Throwable#getOurStackTrace

2022-08-30 Thread ASF subversion and git services (Jira)


[ 
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

2022-08-05 Thread Rico Neubauer (Jira)


[ 
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

2022-08-04 Thread Justin Bertram (Jira)


[ 
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)