我试图提取YourKit的“线程”视图中显示的数据(关于线程状态;主要是当每个线程“等待”或“运行”时)。我已经使用命令行导出实用程序为它支持的所有视图生成所有格式。
导出目录中包含一个文件“Table--线程-生命周期-名称-History.csv y.csv”。这似乎最有可能包含我所需的信息,但我无法在文件中的列上找到文档。
供参考的栏如下:
ID uptime_ns thread thread_name frame top_method top_non_filtered_method Thread_Life_Cycle_id Name单个线程的数据示例可能是:
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导出转储中还有很多其他文件,但这似乎是最有希望的。我应该去别的地方看看吗?有人能说明YJP出口的CSV中使用的格式吗?
发布于 2014-02-10 11:12:51
在YourKit分析器中还不支持线程状态的导出(等待、阻塞、运行等)。这是一个计划好的功能。
表--线程-生命周期--名称-History.csv y.csv是“线程生命周期”探测器的导出。它只包含线程名称更改的历史记录。
发布于 2014-04-04 08:02:32
如果有人遇到这个问题,我想我最好还是和大家分享一下我最后使用的方法(至少在YJP添加这个特性之前)。
https://gist.github.com/anonymous/9970128的Gist包含一个快速和肮脏的OCR解决方案,用于提取线程状态,因为它只是从YJP的屏幕截图中运行/不运行。这些常量可能需要进行一些调整,但在类似的情况下,它可能会对一些可怜的灵魂有所帮助!
https://stackoverflow.com/questions/21590260
复制相似问题