![]() Previous |
![]() Next |
The Contention tab contains information about the locks, blocked threads, and blocking threads. When there are performance problems, but CPU load is not high, some threads might be blocked. This tab is useful to analyse thread blocking problem and find the cause of excessive locks.
For information about using the range navigator, see Using the Range Navigator.
The Contention tab contains the following tabs:
Top Blocking Locks: Contains a table that lists the classes that had the most locks.
Top Blocked Threads: Contains a table that lists the threads that were blocked the most number of time.
Top Blocking Threads: Contains a table that lists the threads that blocked other threads the most number of times.
The table in each tab contains the following columns:
Class or Thread: The name of the class or thread.
Count: The number of times that the class used a lock, the thread blocked other threads or was blocked by other threads.
Average: The average time that the class used a lock, the thread blocked other threads or was blocked by other threads.
Longest: The longest time that the class used a lock, the thread blocked other threads or was blocked by other threads.
Duration: The total time that the class used a lock, the thread blocked other threads or was blocked by other threads.
To filter the table entries, select the column on which you want to filter and then specify the filtering string. You can use wildcards in the filtering string and specify a regular expression by prepending it with regexp:
. If the table contains numeric values, you can specify a logical expression using the comparison operators (<
, <=
, >
, >=
), the AND operator (&&
), and the OR operator (||
).
When you select a class or thread, the corresponding stack trace is displayed in the table below, with the lock or block count and duration.
For information about working with tables, see Working with Tables.