HeapGraph

interface HeapGraph

Enables navigation through the heap graph of objects.

Inheritors

Functions

Link copied to clipboard
abstract fun findClassByName(className: String): HeapObject.HeapClass?

Returns the HeapClass corresponding to the provided className, or null if the class cannot be found.

Link copied to clipboard
abstract fun findHeapDumpIndex(objectId: Long): Int

Returns the 1-based index in the heap dump of the object corresponding to the provided objectId, and throws IllegalArgumentException otherwise.

Link copied to clipboard
abstract fun findObjectByHeapDumpIndex(heapDumpIndex: Int): HeapObject

Returns the HeapObject corresponding to the provided heapDumpIndex, and throws IllegalArgumentException if heapDumpIndex is less than 1 or more than objectCount.

Link copied to clipboard
abstract fun findObjectById(objectId: Long): HeapObject

Returns the HeapObject corresponding to the provided objectId, and throws IllegalArgumentException otherwise.

Link copied to clipboard
abstract fun findObjectByIdOrNull(objectId: Long): HeapObject?

Returns the HeapObject corresponding to the provided objectId or null if it cannot be found.

Link copied to clipboard
abstract fun findObjectByIndex(objectIndex: Int): HeapObject

Returns the HeapObject corresponding to the provided objectIndex, and throws IllegalArgumentException if objectIndex is less than 0 or more than objectCount - 1.

Link copied to clipboard
abstract fun objectExists(objectId: Long): Boolean

Returns true if the provided objectId exists in the heap dump.

Properties

Link copied to clipboard
abstract val classCount: Int
Link copied to clipboard

Sequence of all classes in the heap dump.

Link copied to clipboard
abstract val context: GraphContext

In memory store that can be used to store objects this HeapGraph instance.

Link copied to clipboard
abstract val gcRoots: List<GcRoot>

All GC roots which type matches types known to this heap graph and which point to non null references. You can retrieve the object that a GC Root points to by calling findObjectById with GcRoot.id, however you need to first check that objectExists returns true because GC roots can point to objects that don't exist in the heap dump.

Link copied to clipboard
abstract val identifierByteSize: Int
Link copied to clipboard
abstract val instanceCount: Int
Link copied to clipboard

Sequence of all instances in the heap dump.

Link copied to clipboard
abstract val objectArrayCount: Int
Link copied to clipboard

Sequence of all object arrays in the heap dump.

Link copied to clipboard
abstract val objectCount: Int
Link copied to clipboard
abstract val objects: Sequence<HeapObject>

Sequence of all objects in the heap dump.

Link copied to clipboard
abstract val primitiveArrayCount: Int
Link copied to clipboard

Sequence of all primitive arrays in the heap dump.