У меня есть требование, где мне нужно проанализировать файл дампа jStack, чтобы получить количество потоков, находящихся в разных состояниях. ( Runnable / Sleeping / Waiting ...) В настоящее время я реализовал таким образомтакой, что мой анализатор построчно анализирует файл jStack для поиска соответствия шаблону.
Например:
Pattern THREAD_RUNNING_PATTERN = Pattern.compile ("\" (?: Рабочий банды | VM | Одновременная разметка). runnable | java \ .lang \ .Thread \ .State: \ s RUNNABLE ");
Это одинмоего шаблона, чтобы соответствовать потокам, которые находятся в состоянии runnable .
Есть ли лучший способ реализовать это вместо анализа построчно или у нас есть какие-либо библиотеки Java, которые могутиспользоваться?