Using Jade Monitor for Lock Contention Issues
If you suspect you have a lock contention problem:
-
Use the Jade Monitor to record locks and queued locks, under Locks in the Navigator.
-
Refresh manually (Ctrl+F5) while reproducing the problem situation.
-
Activate the timer.
-
Log the results to a file.
Enabling system statistics may also be useful.
When you find evidence of the locking issue, you will need to know what caused it. Enable logging of the Users sheet, especially if applications are starting and stopping. Jade Monitor shows who is holding the lock or queued lock in the User column (as shown in the image in "Diagnosing the Problem" under "Example 1 - A Long Time in Transaction State", later in this document). This contains the instance id of the
Starting with Jade 2016, you can also enable the saving of the lock call stack of a process, by selecting the Enable Save Lock Call Stack popup menu command in the table on the Jade Monitor Users view. With this enabled, you can use the Locks view to display the call stack of the process when the lock was taken out.
Disable this function by selecting the Disable Save Lock Call Stack popup menu command in the table on the Jade Monitor Users view when you are done, as it uses additional CPU resource.
Background applications should log their start and stop times in an application log file, so you can know when they were processing.
To diagnose an issue with a large number of queued locks of very short duration, you could use Lock Contentions or Lock Chronology. To see who is locking objects that are highly contended, use Summary by Classes or Summary by Oid. Use these for short periods only. They can impact system performance while in the monitoring state, and can generate very large work files.
