Question

I am attempting to extract the data displayed in YourKit's "Threads" view (on thread state; primarily when each thread is "waiting" or "runnable"). I have used the command-line export utility to generate all of the formats for all of the views it supports.

Contained in the export directory is a file "Table--Thread-Life-Cycle--Name-History.csv". This seems the most likely to contain the information I require, but I cannot find documentation on the columns in the file.

For reference, the columns are:

ID  uptime_ns   thread  thread_name frame   top_method  top_non_filtered_method Thread_Life_Cycle_id    Name

A sample of the data for a single thread might be:

94  11879264791 57  Executor task launch worker-0   39131   java.lang.Thread.<init>(ThreadGroup, Runnable, String)  scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(Object)    52  Keep-Alive-Timer
95  11899612660 57  Executor task launch worker-0   39191   java.lang.Thread.<init>()   scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(Object)        53  Thread-34
96  11918630377 57  Executor task launch worker-0   39191   java.lang.Thread.<init>()   scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(Object)    54  Thread-35
97  11942061861 57  Executor task launch worker-0   39191   java.lang.Thread.<init>()   scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(Object)    55  Thread-36
98  11957367215 57  Executor task launch worker-0   39191   java.lang.Thread.<init>()   scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(Object)    56  Thread-37
99  11971295215 57  Executor task launch worker-0   39191   java.lang.Thread.<init>()   scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(Object)    57  Thread-38

There are plenty of other files in the export dump, but this seems the most promising. Should I be looking elsewhere? Can anyone shed light on the formats used in YJP's exported CSV?

Était-ce utile?

La solution

Export of thread states (waiting, blocked, running, etc) is not supported yet in YourKit profiler. It's a planned feature.

Table--Thread-Life-Cycle--Name-History.csv is a export of "Thread Life Cycle" probe. It contains history of thread name changes only.

Autres conseils

In case anybody comes across this question, I figured I'd best share the workaround I used in the end (at least until YJP adds the feature).

The Gist at https://gist.github.com/anonymous/9970128 contains a quick-and-dirty OCR solution for extracting the thread state as simply running/not running from a screenshot of YJP. The constants might need some tuning, but it may prove helpful to some poor soul in a similar situation!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top