[
https://issues.apache.org/jira/browse/OAK-2755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14491515#comment-14491515
]
Chetan Mehrotra commented on OAK-2755:
--------------------------------------
[patch|^OAK-2755.patch] for the same. It relies on OSGi to gather all the
EventListenerMBean instances.
* Adds service property to registered {{Observer}} so as to make a mapping
between {{EventListenerMBean}} and {{Observer}}
* Adds 2 new methods to {{FilterProvider}} to get details around
{{includeClusterLocal}} and {{includeClusterExternal}}
* Add some new methods and {{QueueStats}} class to {{BackgroundObserver}} to
get details around current queue
* Expose the delegated {{Observer}} so as to get access to {{FilterProvider}}
from the {{ChangeProcessor}} instance
Currently pending is marking {{ContentChange}} which are done due to collapsing
of events
With this [following stats|^consolidated-listener-stats.png] can be seen
[~mduerig] [~egli] Can you have a look. For this I have to modify and add some
new methods to Observation related class. Hope those changes are fine. These
stats really help us (collected so far via Groovy script) to determine how the
queue is performing, what all listeners are registered etc.
> Consolidated JMX view of all EventListener related statistics
> -------------------------------------------------------------
>
> Key: OAK-2755
> URL: https://issues.apache.org/jira/browse/OAK-2755
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: core
> Reporter: Chetan Mehrotra
> Assignee: Chetan Mehrotra
> Labels: monitoring, observation
> Fix For: 1.0.13, 1.3.0
>
> Attachments: OAK-2755.patch, consolidated-listener-stats.png
>
>
> Oak Observation support exposes a {{EventListenerMBean}} [1] which provide
> quite a bit of details around registered observation listeners. However in a
> typical application there would be multiple listeners registered. To simplify
> monitoring it would be helpful to have a _consolidated_ view of all listeners
> related statistics.
> Further the stats can also include some more details which are Oak specific
> * Subtree paths to which the listener listens to - By default JCR Api allows
> single path however Oak allows a listener to register to multiple paths
> * If listener is enabled to listen to cluster local and cluster external
> changes
> * Size of queue in BackgroundObserver
> * Distribution of change types present in the queue - Local, External etc
> [1]
> https://github.com/apache/jackrabbit/blob/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jmx/EventListenerMBean.java
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)