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