如何以有效的方式实现Java堆栈转储分析器?

时间:2019-03-01 09:21:43

标签: java java-threads jstack stack-dump janalyser

我有一个需求,我需要分析jStack转储文件以获取处于不同状态的线程数。( Runnable / Sleeping / Waiting ...) 目前,我已经实现了一种方式,使得我的解析器逐行解析jStack文件以寻找模式匹配。

例如:

  

模式 THREAD_RUNNING_PATTERN = Pattern.compile(“ \”(?: Gang   worker | VM |并发标记扫描   )。 runnable | java \ .lang \ .Thread \ .State:\ s RUNNABLE“);

这是我用来匹配处于可运行状态的线程的模式之一。

是否有更好的方法来实现这一点,而不是逐行解析,或者我们有可用的Java库吗?

0 个答案:

没有答案