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").