incubator-kato-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Antonio Sanso (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (KATO-14) Provide new threads dump writer in order to be compatible with common thread analyzers
Date Sun, 10 Jul 2011 17:51:59 GMT

     [ https://issues.apache.org/jira/browse/KATO-14?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Antonio Sanso updated KATO-14:
------------------------------

    Attachment: KATO-14-asanso-patch.txt

Providing patch containing a StackDumpWriter. it still has some issues/limitation mainly due


public List<JavaReference> getHeapRoots() {
		return Collections.emptyList();
}

that should provide information related references to other threads (e.g. Locked ownable synchronizers)
but I think is a good  starting point.

> Provide new threads dump writer in order to be compatible with common thread analyzers
> --------------------------------------------------------------------------------------
>
>                 Key: KATO-14
>                 URL: https://issues.apache.org/jira/browse/KATO-14
>             Project: Kato
>          Issue Type: New Feature
>          Components: API
>            Reporter: Antonio Sanso
>         Attachments: KATO-14-asanso-patch.txt
>
>
> At the moment Kato has an XMLDumpWriter that produces an xml file containing all the
threads information. This is not compatible with most of the standard threads dump analyzers
(e.g. TDA [0], samuray) that expect a file that has a format like:
> ""http-bio-8080"-exec-64" daemon prio=5 tid=0x0000000115817000 nid=0x118650000 waiting
on condition [0x000000011864f000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000001075ba0b8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
> 	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
> 	at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104)
> 	at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> 	at java.lang.Thread.run(Thread.java:637)
> This is the output produced from tools like jstack or doing kill -QUIT <pid>.
> I'll provide a patch containing a StackDumpWriter providing an output compatible with
those threads analyzers.
> [0] http://www.jroller.com/dumpster/entry/tda_as_jconsole_plugin

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message