Search

Fast thread

Universal Java Thread Dump Analyzer

Category

Thread dump patterns

APIs to create Java Virtual Thread

Java virtual thread is a new feature available from JDK 19. It has potential to improve an application’s availability, throughput and code quality on top of reducing memory consumption. If you are interested in learning more about Java virtual thread,... Continue Reading →

Look for exceptions, errors in thread dumps

Thread dumps are vital artifacts to troubleshoot/debug production problems. In the past we have discussed several effective thread dump troubleshooting patterns like: traffic jam, treadmill, RSI, all roads lead to rome ………. In this article we would like to introduce... Continue Reading →

Problem prone classes/methods

Coming soon...

THREAD DUMP ANALYSIS PATTERN – ATHLETE

Description Threads in 'runnable' state consume CPU. So when you are analyzing thread dumps for high CPU consumption, threads in 'runnable' state should be thoroughly reviewed.Typically in thread dumps several threads are classified in 'RUNNABLE' state. But in reality several of them wouldn't be actually running,... Continue Reading →

THREAD DUMP ANALYSIS PATTERN –ATHEROSCLEROSIS

Description If threads are blocking momentarily, then it’s not a problem. However, if they are blocking for a prolonged period, then it’s of concern. It's indicative of some problem in the application. Typically blocked threads would make application unresponsive. Threads... Continue Reading →

THREAD DUMP ANALYSIS PATTERN – TREADMILL

Description You might have experienced the application’s CPU to spike up suddenly & spike wouldn’t go down until JVM is recycled. You restart the JVM, after certain time period CPU consumption would once again start to spike up. Then you will have to... Continue Reading →

THREAD DUMP ANALYSIS PATTERN – TRAFFIC JAM

Description Thread-A could have acquired the lock-1 and then would never release it.  Thread-B could have acquired lock-2 and waiting on this lock-1. Thread-C could be waiting to acquire lock-2. This kind of transitive blocks between threads can make entire application unresponsive. See the real-world... Continue Reading →

THREAD DUMP ANALYSIS PATTERN – REPETITIVE STRAIN INJURY (RSI)

Description When there is a performance bottleneck in the application, most of the threads will start to accumulate on that problematic bottleneck area. Those threads will have same stack trace. Thus whenever a significant number of threads exhibit identical/repetitive stack trace then those... Continue Reading →

THREAD DUMP ANALYSIS PATTERN – ALL ROADS LEAD TO ROME

Description If several threads in a thread dump end up working on one single method, then it might be of concern. Most of the times, if there is a problem (say poorly responding data source, un-relinquished lock, infinite looping threads... Continue Reading →

Powered by WordPress.com.

Up ↑