Lock Reason Interface

Represents an instance of a held lock (monitor object) in a thread. Typically, this information is useful to determine which other thread is holding the lock in case the current thread is blocked. In languages like Java or Kotlin this typically will be represented by a java.lang.Object type.

Lock reasons are always part of a thread. They cannot be declared as a top-level event property.

type
Required. Type of lock on the thread with available options being blocked, waiting, sleeping and locked.
address
Optional. Memory address of the monitor object.
package_name
Optional. Package name of the monitor object.
class_name
Optional. Class name of the monitor object.
thread_id
Optional. Thread ID that's holding the lock.

Copied
{
  "type": 8,
  "address": "0x07d7437b",
  "package_name": "android.database.sqlite",
  "class_name": "SQLiteConnection",
  "thread_id": 2
}
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").