Search

Fast thread

Universal Java Thread Dump Analyzer

Author

Ram Lakshmanan

artist + rebel + engineer.

Simulating & troubleshooting CPU spike in Kotlin

In this series of simulating and troubleshooting performance problems in Kotlin articles, let’s discuss how to simulate CPU consumption to spike up to 100% on a host (or container). CPU consumption will spike up whenever a thread goes on an... Continue Reading →

Troubleshooting App unresponsiveness due to Oracle DB

Recently we encountered a production in an application. This application was connecting to multiple systems of records (SOR). Oracle RAC cluster is one of the primary systems of record. This Oracle RAC cluster was slowing down due to resource constraints.... Continue Reading →

Troubleshooting deadlock in an Apache opensource library

Apache PDFBox is a popular open-source library that facilitates java applications to work with PDF documents. Recently we encountered a Deadlock that surfaced in this library. In this post we have shared how we troubleshooted and identified the root cause... Continue Reading →

Simulating & troubleshooting deadlock in Kotlin

All multi-threaded applications are prone to deadlock. Modern Kotlin platform is no exception to it. In this post let’s discuss how to simulate a deadlock in Kotlin and how you can troubleshoot it. What is Deadlock? First let's try to... Continue Reading →

Troubleshooting HTTP 502 bad gateway in AWS EBS 

The application that we are going to discuss in this post was running on Elastic Beanstalk (EBS) service in Amazon Web Services (AWS). Intermittently this application was throwing HTTP 502 Bad Gateway error. In this post, let’s discuss how we... Continue Reading →

JVM c1, c2 compiler thread – high CPU consumption?

c1, c2 compiler threads are created by Java virtual machine to optimize your application's performance. Occasionally these threads will tend to consume high CPU. In this post, let’s learn little more about c1, c2 compiler threads and how to address... Continue Reading →

Java class loading – performance impact!

java.lang.ClassLoader#loadClass() API is used by 3rd party libraries, JDBC Drivers, frameworks, application servers to load a java class into the memory. Application developers don’t use this API frequently. However when they use the APIs such as ‘java.lang.Class.forName()’ or ‘org.springframework.util.ClassUtils.forName()’, they... Continue Reading →

Java UUID generation – Performance impact

Java developers tend to use 'java.util.UUID#randomUUID()' API, to generate a UUID (Universally Unique Identifier) number (i.e., 'b8bbcbed-ca07-490c-8711-5118ee0af2f9'). Under certain circumstances, using this API can affect your application’s availability. Let’s discuss this API in this post with a real-world example. How... Continue Reading →

Thread states

To troubleshoot a production problem, you might have to analyze multiple snapshots of thread dumps captured at periodic intervals. Each snapshot of thread tends to contain hundreds of threads, sometimes even thousands of threads. Each thread in the thread dump... Continue Reading →

Powered by WordPress.com.

Up ↑