[
https://issues.apache.org/jira/browse/ARTEMIS-5893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18058252#comment-18058252
]
ASF subversion and git services commented on ARTEMIS-5893:
----------------------------------------------------------
Commit 2e390b4fa0842ed8d3557a158c9ca4d204687cf3 in artemis's branch
refs/heads/main from Justin Bertram
[ https://gitbox.apache.org/repos/asf?p=artemis.git;h=2e390b4fa0 ]
ARTEMIS-5893 further optimize ManagementService
Changes include:
- Eliminating the use of ResourceNames values for key names when using
well-known controls (e.g. address, queue, etc.).
- Eliminating AMQP-specific registration methods in lieu of more
general "untyped" methods since the Core broker doesn't know anything
about AMQP-specific controls.
- Deprecating the JMX-specific registration methods. The
ManagementService itself will take care of JMX registration based on
the broker's configuration.
- Adding specific management methods to get names & counts for various
controls instead of always creating lists. This should reduce GC
pressure especially in high-load use-cases.
- Leveraging filtering where appropriate for the management API.
- Adding JavaDoc where method usage isn't obvious.
- Eliminating Maps for server & Hawtio controls since they are
singletons.
- Restoring & deprecating getResource and getResources methods to
ManagementService since they might be used by 3rd parties.
- Eliminated all use of getResource & getResources methods throughout
the code-base.
- Eliminating a handful of unnecessary methods.
- Eliminating unnecessary casts.
> Optimize ManagementService
> --------------------------
>
> Key: ARTEMIS-5893
> URL: https://issues.apache.org/jira/browse/ARTEMIS-5893
> Project: Artemis
> Issue Type: Improvement
> Reporter: Justin Bertram
> Assignee: Justin Bertram
> Priority: Major
>
> Currently
> {{org.apache.activemq.artemis.core.server.management.impl.ManagementServiceImpl}}
> has a single instance of a {{java.util.Map}} to manage _every single_
> management object. In high-volume use-cases this map might contains millions
> of entries. This can slow down management operations on particular resources
> (e.g. addresses or queues) because the broker has to look through the whole
> map to gather and report on that particular resource.
> Performance could be improved by partitioning each resource type into its own
> map. This will reduce the overall time needed to gather, filter, etc.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]