Troubleshooting Clarity with thread dumps
search cancel

Troubleshooting Clarity with thread dumps

book

Article ID: 182952

calendar_today

Updated On:

Products

Clarity PPM SaaS Clarity PPM On Premise

Issue/Introduction

How do we proceed to get the evidence for thread dumps for root cause analysis?
 
This is valid for:
  • Clarity app or bg service hanging
  • Slow performance
  • High CPU on Clarity (any service) or Jaspersoft
  • Certain actions in app or bg are stuck 

Environment

Release : All supported releases

Resolution

The easiest way to get thread dumps is via command-line on the app server host, using jstack.exe which is in the bin dir of the JDK.

use ps -ef | grep java to get the pid, find JDK_HOME/bin, then issue cmd:
jstack -l <pid> <file-path>

example:

jstack -l 37320 > /opt/tmp/threadDump.txt

You want 5 or 6 across a single minute so we can see what methods might be stuck or active across that whole minute. Perhaps at a few different times during your "hang", you could capture 5 or 6 thread-dumps in 60-seconds worth of time.

It will be best to have these different sections of time in their own file, for example:
jstack -l pid > /opt/tmp/threadDumpA.txt for 5 or 6 times in a single minute of the hang, then later
jstack -l pid > /opt/tmp/threadDumpB.txt .... 5 or 6 times, then later
jstack -l pid > /opt/tmp/threadDumpC.txt