HprofHeapGraph

class HprofHeapGraph : CloseableHeapGraph

A HeapGraph that reads from an Hprof file indexed by HprofIndex.

Types

Companion
Link copied to clipboard
object Companion

Functions

close
Link copied to clipboard
open override fun close()
findClassByName
Link copied to clipboard
open override fun findClassByName(className: String): HeapObject.HeapClass?

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

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

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

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

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

findObjectByIndex
Link copied to clipboard
open override 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.

lruCacheStats
Link copied to clipboard
fun lruCacheStats(): String

This is only public so that we can publish stats. Accessing this requires casting HeapGraph to HprofHeapGraph so it's really not a public API. May change at any time!

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

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

Properties

classCount
Link copied to clipboard
open override val classCount: Int
classes
Link copied to clipboard
open override val classes: Sequence<HeapObject.HeapClass>

Sequence of all classes in the heap dump.

context
Link copied to clipboard
open override val context: GraphContext

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

gcRoots
Link copied to clipboard
open override 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.

identifierByteSize
Link copied to clipboard
open override val identifierByteSize: Int
instanceCount
Link copied to clipboard
open override val instanceCount: Int
instances
Link copied to clipboard
open override val instances: Sequence<HeapObject.HeapInstance>

Sequence of all instances in the heap dump.

objectArrayCount
Link copied to clipboard
open override val objectArrayCount: Int
objectArrays
Link copied to clipboard
open override val objectArrays: Sequence<HeapObject.HeapObjectArray>

Sequence of all object arrays in the heap dump.

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

Sequence of all objects in the heap dump.

primitiveArrayCount
Link copied to clipboard
open override val primitiveArrayCount: Int
primitiveArrays
Link copied to clipboard
open override val primitiveArrays: Sequence<HeapObject.HeapPrimitiveArray>

Sequence of all primitive arrays in the heap dump.