You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Chetan Mehrotra (JIRA)" <ji...@apache.org> on 2015/04/12 17:04:12 UTC

[jira] [Commented] (OAK-2755) Consolidated JMX view of all EventListener related statistics

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

Chetan Mehrotra commented on OAK-2755:
--------------------------------------

To get above details so far I use the Groovy script at [1] to get all details (it relies on reflection and implementation details). The output provided is like below

{noformat}
Number of observers : 14

 Queue Size                                        Name                                         Ext   Local    #Local       #Ext     Session ID            Subtree                 
 __________  ________________________________________________________________________________  _____  _____  __________  __________  __________  __________________________________
 0           org.apache.sling.installer.provider.jcr.impl.JcrInstaller$StoppableThread$1       true   true   0           0           session-11  []                                 
 0           com.adobe.granite.workflow.core.eventsupport.JcrToWorkflowEventService            true   false  0           0           session-56  [/etc/workflow]                   
 0           com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl                       true   true   0           0           session-52  [/etc, /libs, /apps]              
 0           com.adobe.granite.workflow.core.model.WorkflowModelCacheImpl                      true   true   0           0           session-10  [/etc/workflow/models]            
 0           com.adobe.granite.workflow.core.launcher.WorkflowLauncherListener                 false  true   0           0           session-53  [/etc/workflow/launcher/config]   
 0           org.apache.sling.installer.provider.jcr.impl.RootFolderListener                   true   true   0           0           session-11  [/apps]                           
 0           com.adobe.granite.workflow.core.launcher.WorkflowLauncherListener$WorkflowLaunch  true   true   0           0           session-54  [/etc/workflow/launcher/config]   
 0           com.day.cq.replication.impl.ConfigManagerImpl                                     true   true   0           0           session-50  [/etc/replication]                
 0           org.apache.sling.installer.provider.jcr.impl.RootFolderListener                   true   true   0           0           session-11  [/libs]                           
 0           com.adobe.granite.workflow.core.payloadmap.PayloadMoveListener                    false  true   0           0           session-12  [/content/dam]                    
 0           org.apache.sling.installer.provider.jcr.impl.JcrInstaller$StoppableThread         true   true   0           0           session-11  []                                
 0           com.adobe.granite.workflow.core.collection.ResourceCollectionManagerListener      true   true   0           0           session-55  [/etc/workflow/packages]          
{noformat}

[1] https://gist.github.com/chetanmeh/1ef9ac3b79cc15542843

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