A while ago I came into touch with ThreadLogic. Most of the people whom I was talking about it, did not know the tool. This unfamiliarity with ThreadLogic made me decide to write this blog. I think that every WebLogic Administrator should know ThreadLogic and that it is also a very interesting tool for Fusion Middleware Developers.
But let me start at the beginning. A while ago Michael Sahadat, a SOA/Integration Architect at Oracle, came over to help me solve a performance issue. He was using ThreadLogic and explained me how it helped us at the end to detect the performance bottleneck. But that I will explain later on. First I will tell about ThreadLogic.
What is ThreadLogic?
ThreadLogic is a Thread Dump Analysis tool. Thread Dump Analysis is a key tool for performance tuning and troubleshooting of Java based applications.
Most TDA tools dont mention the type of activity within a thread, should it be treated as normal or deserving a closer look? Can a pattern or anti-pattern be applied against them? Any possible optimizations? Are there any hot spots? Any classification of threads based on their execution cycles? ThreadLogic is created by the Oracle Fusion Middleware Architect Team (A-Team) to address these deficiencies.
Once a thread dump is parsed and threads details are populated, each of the thread is then analyzed against matching advisories and tagged appropriately. The threads are also associated with specific Thread Groups based on functionality or thread group name.
The current version of ThreadLogic is V2.0.217. Since version 2.0.215 it contains support for SOA 12c.
How did ThreadLogic help us?
After creating two threaddumps in WebLogic we loaded them in ThreadLogic. ThreadLogic immediately gave a Warning. Bottleneck among threads.
Opening the dump tree and selecting the Advisory Map show a Map with information about the health of the system under investigation. Each of the advisory has a health level indicating severity of the issue found, pattern, name, keyword and related advice. As you can see in the picture below, our system has a number of FATAL and WARNING issues.
When we selected Monitors in the tree, we saw that there was one red marked thread. 49 other threads where waiting for this one. Something’s seems to be wrong with the SchemaManager.
After searching on Oracle Support we came to the following know issue: SOA Server Hangs Waiting for WSDLManager or SchemaManager (Doc ID 1546325.1)
The solution for our performance issue turned out to install a missing patch.
Without getting in all the details of ThreadLogic I hope I have done my bit to increase the knowledge of ThreadLogic.