Detecting thread bottlenecks

You can detect thread bottlenecks in your application, including thread contentions and thread deadlocks, by collecting Thread Analysis data when profiling. Contentions slow the application's performance, and deadlocks bring execution to a halt.

The following topics provide specific instructions:

Collecting thread data
Begin thread analysis by collecting thread analysis data for a profiling run.

Identifying thread bottlenecks
The Thread View is the primary view for detecting thread bottlenecks. It displays a record of the activity of each of your program's threads, and helps you identify thread contentions and deadlocks.

Identifying the methods behind thread bottlenecks
After you have identified a thread bottleneck, use the Thread View, the UML2 Object Interactions view, and the Profiling Monitor to identify the methods implicated in the bottleneck.

Opening the source code to correct thread bottlenecks
When you identify the method responsible for a thread bottleneck, you can immediately display the source code, if available, for further analysis.

 

Parent topic

Detecting and analyzing run-time problems

 

Related concepts

Thread bottleneck detection user interface reference

 

Related tasks

Getting started: Creating a profiling configuration for run-time problem determination

Related information
Getting started: Profiling J2EE applications
Getting started: Thread bottleneck detection