HprofRecordReader

class HprofRecordReader

Reads hprof content from an Okio BufferedSource.

Binary Dump Format reference: http://hg.openjdk.java.net/jdk6/jdk6/jdk/raw-file/tip/src/share /demo/jvmti/hprof/manual.html#mozTocId848088

The Android Hprof format differs in some ways from that reference. This parser implementation is largely adapted from https://android.googlesource.com/platform/tools/base/+/studio-master-dev /perflib/src/main/java/com/android/tools/perflib

Not thread safe, should be used from a single thread.

Types

Companion
Link copied to clipboard
object Companion

Functions

readBoolean
Link copied to clipboard
fun readBoolean(): Boolean
readBooleanArray
Link copied to clipboard
fun readBooleanArray(arrayLength: Int): BooleanArray
readByte
Link copied to clipboard
fun readByte(): Byte
readByteArray
Link copied to clipboard
fun readByteArray(byteCount: Int): ByteArray
readChar
Link copied to clipboard
fun readChar(): Char
readCharArray
Link copied to clipboard
fun readCharArray(arrayLength: Int): CharArray
readClassDumpRecord
Link copied to clipboard

Reads a full class record after a class dump tag.

readDebuggerGcRootRecord
Link copied to clipboard
fun readDebuggerGcRootRecord(): GcRoot.Debugger
readDouble
Link copied to clipboard
fun readDouble(): Double
readDoubleArray
Link copied to clipboard
fun readDoubleArray(arrayLength: Int): DoubleArray
readFinalizingGcRootRecord
Link copied to clipboard
fun readFinalizingGcRootRecord(): GcRoot.Finalizing
readFloat
Link copied to clipboard
fun readFloat(): Float
readFloatArray
Link copied to clipboard
fun readFloatArray(arrayLength: Int): FloatArray
readHeapDumpInfoRecord
Link copied to clipboard
readId
Link copied to clipboard
fun readId(): Long
readIdArray
Link copied to clipboard
fun readIdArray(arrayLength: Int): LongArray
readInstanceDumpRecord
Link copied to clipboard

Reads a full instance record after a instance dump tag.

readInt
Link copied to clipboard
fun readInt(): Int
readIntArray
Link copied to clipboard
fun readIntArray(arrayLength: Int): IntArray
readInternedStringGcRootRecord
Link copied to clipboard
fun readInternedStringGcRootRecord(): GcRoot.InternedString
readJavaFrameGcRootRecord
Link copied to clipboard
fun readJavaFrameGcRootRecord(): GcRoot.JavaFrame
readJniGlobalGcRootRecord
Link copied to clipboard
fun readJniGlobalGcRootRecord(): GcRoot.JniGlobal
readJniLocalGcRootRecord
Link copied to clipboard
fun readJniLocalGcRootRecord(): GcRoot.JniLocal
readJniMonitorGcRootRecord
Link copied to clipboard
fun readJniMonitorGcRootRecord(): GcRoot.JniMonitor
readLoadClassRecord
Link copied to clipboard
fun readLoadClassRecord(): HprofRecord.LoadClassRecord
readLong
Link copied to clipboard
fun readLong(): Long
readLongArray
Link copied to clipboard
fun readLongArray(arrayLength: Int): LongArray
readMonitorUsedGcRootRecord
Link copied to clipboard
fun readMonitorUsedGcRootRecord(): GcRoot.MonitorUsed
readNativeStackGcRootRecord
Link copied to clipboard
fun readNativeStackGcRootRecord(): GcRoot.NativeStack
readObjectArrayDumpRecord
Link copied to clipboard

Reads a full object array record after a object array dump tag.

readPrimitiveArrayDumpRecord
Link copied to clipboard

Reads a full primitive array record after a primitive array dump tag.

readReferenceCleanupGcRootRecord
Link copied to clipboard
readShort
Link copied to clipboard
fun readShort(): Short
readShortArray
Link copied to clipboard
fun readShortArray(arrayLength: Int): ShortArray
readStackFrameRecord
Link copied to clipboard
fun readStackFrameRecord(): HprofRecord.StackFrameRecord
readStackTraceRecord
Link copied to clipboard
fun readStackTraceRecord(): HprofRecord.StackTraceRecord
readStickyClassGcRootRecord
Link copied to clipboard
fun readStickyClassGcRootRecord(): GcRoot.StickyClass
readString
Link copied to clipboard
fun readString(byteCount: Int, charset: Charset): String
readStringRecord
Link copied to clipboard
fun readStringRecord(length: Long): HprofRecord.StringRecord
readThreadBlockGcRootRecord
Link copied to clipboard
fun readThreadBlockGcRootRecord(): GcRoot.ThreadBlock
readThreadObjectGcRootRecord
Link copied to clipboard
fun readThreadObjectGcRootRecord(): GcRoot.ThreadObject
readUnknownGcRootRecord
Link copied to clipboard
fun readUnknownGcRootRecord(): GcRoot.Unknown
readUnreachableGcRootRecord
Link copied to clipboard
fun readUnreachableGcRootRecord(): GcRoot.Unreachable
readUnsignedByte
Link copied to clipboard
fun readUnsignedByte(): Int
readUnsignedInt
Link copied to clipboard
fun readUnsignedInt(): Long
readUnsignedShort
Link copied to clipboard
fun readUnsignedShort(): Int
readUtf8
Link copied to clipboard
fun readUtf8(byteCount: Long): String
readValue
Link copied to clipboard
fun readValue(type: Int): ValueHolder

Reads a value in the heap dump, which can be a reference or a primitive type.

readVmInternalGcRootRecord
Link copied to clipboard
fun readVmInternalGcRootRecord(): GcRoot.VmInternal
sizeOf
Link copied to clipboard
fun sizeOf(type: Int): Int
skip
Link copied to clipboard
fun skip(byteCount: Int)
fun skip(byteCount: Long)
skipClassDumpConstantPool
Link copied to clipboard
fun skipClassDumpConstantPool()
skipClassDumpFields
Link copied to clipboard
fun skipClassDumpFields()
skipClassDumpHeader
Link copied to clipboard
fun skipClassDumpHeader()
skipClassDumpRecord
Link copied to clipboard
fun skipClassDumpRecord()
skipClassDumpStaticFields
Link copied to clipboard
fun skipClassDumpStaticFields()
skipHeapDumpInfoRecord
Link copied to clipboard
fun skipHeapDumpInfoRecord()
skipInstanceDumpRecord
Link copied to clipboard
fun skipInstanceDumpRecord()
skipObjectArrayDumpRecord
Link copied to clipboard
fun skipObjectArrayDumpRecord()
skipPrimitiveArrayDumpRecord
Link copied to clipboard
fun skipPrimitiveArrayDumpRecord()

Properties

bytesRead
Link copied to clipboard
var bytesRead: Long = 0

How many bytes this reader has read from source. Can only increase.