我正在尝试提取YourKit"线程"中显示的数据。 view(在线程状态;主要是当每个线程是"等待"或" runnable")。我使用命令行导出实用程序为它支持的所有视图生成所有格式。
导出目录中包含的是一个文件"表 - 线程 - 生命周期 - 名称 - 历史记录.sv"。这似乎最有可能包含我需要的信息,但我找不到文件中列的文档。
作为参考,列是:
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中使用的格式吗?
答案 0 :(得分:1)
在YourKit探查器中尚不支持导出线程状态(等待,阻止,运行等)。这是一个有计划的功能。
表 - 线程生命周期 - Name-History.csv是“线程生命周期”探针的导出。它仅包含线程名称更改的历史记录。
答案 1 :(得分:0)
如果有人遇到这个问题,我认为我最好分享我最后使用的解决方法(至少在YJP添加该功能之前)。
https://gist.github.com/anonymous/9970128的要点包含一个快速而简单的OCR解决方案,用于从YJP的屏幕截图中简单地运行/不运行线程状态。常数可能需要一些调整,但它可能对类似情况下的一些可怜的灵魂有帮助!