Thread Contention Detection

Splunk AppDynamics detects thread contention based on the thread state of the instrumented application.

It identifies these block or waiting states in the JVM:

  • Acquiring a lock (MONITOR_WAIT)
  • Waiting for a condition (CONDOR_WAIT)
  • Sleeping (OBJECT_WAIT)
  • A blocking I/O operation

The OBJECT_WAIT

  • Thread.sleep
  • Object.wait
  • Thread.join
  • LockSupport.parkNano s
  • LockSupport.parkUntil
  • LockSupport.park

The Controller alerts you to possible thread contention problems in the Potential Issues pane of the Business Transaction Flow Map. From there, you can use the browser to access additional information about blocked and waiting threads in business transactions or service endpoints, and determine the cause of the performance problem.

The following sections explain how you use the browser to surface contention information for business transaction and service endpoints.