[ 
https://issues.apache.org/jira/browse/ARTEMIS-5424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18017894#comment-18017894
 ] 

Gašper Čefarin edited comment on ARTEMIS-5424 at 9/3/25 12:39 PM:
------------------------------------------------------------------

This PR is now ready for review.
The biggest change beside allowing for all queues to get displayed, is inside 
"get queuePermissions only once" commit. Querying for permissions was the 
biggest culprit for slow processing times.

In my latest tests, the processing time for ~1000 queues was around 4000ms, and 
it was roughly the same for 10 or 20 columns displayed.
I noticed that this method
{code:java}
items={getRowActions(row)}{code}
took around 4 ms for every row.
After this PR, permissions are queried once at the initial render of the page, 
or at a page refresh. Other than this, they're also queried periodically at the 
set interval.
There's a couple of other minor optimizations as well.

 

edit: a table with 1000 rows and 20 columns now takes around 10ms of processing 
time instead of 4000ms. The table itself can't be seen in 10ms though, as the 
rendering still has to take place - i didn't measure that, in my case it took 
maybe half a second.

—
There's one more optimization I intend to do, and that is to avoid rendering 
the table twice after clicking search.
Currently, the current ("stale") state is re-rendered (because of state changes 
in ArtemisTable, like "page" and "filter"), and only then is the new data 
fetched via jolokia. After the data is fetched, the table is rendered again.
This was very noticeable when the table still took 4 seconds to render, as the 
user would have to wait for 4 seconds to even begin downloading the new data.


was (Author: JIRAUSER307941):
This PR is now ready for review.
The biggest change beside allowing for all queues to get displayed, is inside 
"get queuePermissions only once" commit. Querying for permissions was the 
biggest culprit for slow processing times.

In my latest tests, the processing time for ~1000 queues was around 4000ms, and 
it was roughly the same for 10 or 20 columns displayed.
I noticed that this method
{code:java}
items={getRowActions(row)}{code}
took around 4 ms for every row.
After this PR, permissions are queried once at the initial render of the page, 
or at a page refresh. Other than this, they're also queried periodically at the 
set interval.
There's a couple of other minor optimizations as well.

---
There's one more optimization I intend to do, and that is to avoid rendering 
the table twice after clicking search.
Currently, the current ("stale") state is re-rendered (because of state changes 
in ArtemisTable, like "page" and "filter"), and only then is the new data 
fetched via jolokia. After the data is fetched, the table is rendered again.
This was very noticeable when the table still took 4 seconds to render, as the 
user would have to wait for 4 seconds to even begin downloading the new data.

> Allow listing all items in tables
> ---------------------------------
>
>                 Key: ARTEMIS-5424
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5424
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Web Console
>    Affects Versions: console-1.1.0
>            Reporter: Gašper Čefarin
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: current.png, expected.png
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Allow listing all items (queues, addresses, ...) in tables instead of 
> limiting the max items at 100.
> I wasn't able to find where these options (10,20,50,100) come from yet.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to