[ 
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

        

Reply via email to