[jboss-jira] [JBoss JIRA] (WFLY-6321) Create tool to monitor clustering thread pool usage

Richard Achmatowicz (JIRA) issues at jboss.org
Fri Mar 4 15:36:00 EST 2016


    [ https://issues.jboss.org/browse/WFLY-6321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13172287#comment-13172287 ] 

Richard Achmatowicz commented on WFLY-6321:
-------------------------------------------

Example of the output at the end of an ejbremote-dist-async job:

{noformat}

 (JGroups Periodic Helper Thread) [BYTEMAN-P] periodicTrigger called by thread
 (JGroups Periodic Helper Thread) PERIODIC STATS FOR JGROUPS THREAD POOL EXECUTORS (perf33):
 (JGroups Periodic Helper Thread)   EXECUTOR: internal, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [2, 0, 0, 720116]
 (JGroups Periodic Helper Thread)   EXECUTOR: oob, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [20, 0, 0, 71]
 (JGroups Periodic Helper Thread)   EXECUTOR: regular/default, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [300, 0, 0, 3929261]
 (JGroups Periodic Helper Thread) 
 (Infinispan Periodic Helper Thread) [BYTEMAN-P] periodicTrigger called by thread
 (Infinispan Periodic Helper Thread) PERIODIC STATS FOR THREAD POOL EXECUTORS (perf33):
 (Infinispan Periodic Helper Thread)   EXECUTOR: ejb:org.infinispan.executors.async, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [n/a, n/a, n/a, n/a]
 (Infinispan Periodic Helper Thread)   EXECUTOR: ejb:org.infinispan.executors.expiration, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [1, 0, 3, 126]
 (Infinispan Periodic Helper Thread)   EXECUTOR: ejb:org.infinispan.executors.notification, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [n/a, n/a, n/a, n/a]
 (Infinispan Periodic Helper Thread)   EXECUTOR: ejb:org.infinispan.executors.persistence, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [1, 0, 0, 84]
 (Infinispan Periodic Helper Thread)   EXECUTOR: ejb:org.infinispan.executors.remote, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [1, 0, 0, 12]
 (Infinispan Periodic Helper Thread)   EXECUTOR: ejb:org.infinispan.executors.stateTransferExecutor, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [1, 0, 0, 246]
 (Infinispan Periodic Helper Thread)   EXECUTOR: ejb:org.infinispan.executors.timeout, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [1, 0, 0, 16]
 (Infinispan Periodic Helper Thread)   EXECUTOR: ejb:org.infinispan.executors.transport, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [7, 0, 0, 7]
 (Infinispan Periodic Helper Thread)   EXECUTOR: hibernate:org.infinispan.executors.notification, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [n/a, n/a, n/a, n/a]
 (Infinispan Periodic Helper Thread)   EXECUTOR: hibernate:org.infinispan.executors.remote, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [n/a, n/a, n/a, n/a]
 (Infinispan Periodic Helper Thread)   EXECUTOR: hibernate:org.infinispan.executors.timeout, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [1, 0, 0, 1]
 (Infinispan Periodic Helper Thread)   EXECUTOR: hibernate:org.infinispan.executors.transport, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [1, 0, 0, 1]
 (Infinispan Periodic Helper Thread)   EXECUTOR: server:org.infinispan.executors.notification, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [n/a, n/a, n/a, n/a]
 (Infinispan Periodic Helper Thread)   EXECUTOR: server:org.infinispan.executors.remote, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [n/a, n/a, n/a, n/a]
 (Infinispan Periodic Helper Thread)   EXECUTOR: server:org.infinispan.executors.timeout, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [1, 0, 0, 1]
 (Infinispan Periodic Helper Thread)   EXECUTOR: server:org.infinispan.executors.transport, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [1, 0, 0, 1]
 (Infinispan Periodic Helper Thread)   EXECUTOR: web:org.infinispan.executors.async, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [n/a, n/a, n/a, n/a]
 (Infinispan Periodic Helper Thread)   EXECUTOR: web:org.infinispan.executors.expiration, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [1, 0, 4, 168]
 (Infinispan Periodic Helper Thread)   EXECUTOR: web:org.infinispan.executors.notification, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [n/a, n/a, n/a, n/a]
 (Infinispan Periodic Helper Thread)   EXECUTOR: web:org.infinispan.executors.persistence, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [1, 0, 0, 126]
 (Infinispan Periodic Helper Thread)   EXECUTOR: web:org.infinispan.executors.remote, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [1, 0, 0, 16]
 (Infinispan Periodic Helper Thread)   EXECUTOR: web:org.infinispan.executors.stateTransferExecutor, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [1, 0, 0, 188]
 (Infinispan Periodic Helper Thread)   EXECUTOR: web:org.infinispan.executors.timeout, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [1, 0, 0, 21]
 (Infinispan Periodic Helper Thread)   EXECUTOR: web:org.infinispan.executors.transport, THREAD POOL: [pool, activePool, queuedTasks, completedTasks] = [10, 0, 0, 10]
{noformat}


> Create tool to monitor clustering thread pool usage
> ---------------------------------------------------
>
>                 Key: WFLY-6321
>                 URL: https://issues.jboss.org/browse/WFLY-6321
>             Project: WildFly
>          Issue Type: Task
>          Components: Clustering
>            Reporter: Richard Achmatowicz
>            Assignee: Richard Achmatowicz
>            Priority: Minor
>
> Scheduled executors and thread pools are used widely in JGroups and Infinispan for asynchronously executing tasks.  When thread pools are not adequately sized to the load they are subjected to, this can lead to performance problems. 
> It would be helpful if we could see thread pool usage as a function of elapse time during performance runs, in order to diagnose potential thread pool issues.
> This task will provide a Byteman-based tool to monitor threadpool usage and allow a report to be attached to SmartFrog test jobs.



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list