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

Link copied to clipboard
object Companion

Functions

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

Reads a full class record after a class dump tag.

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

Reads a full instance record after a instance dump tag.

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

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

Link copied to clipboard

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

Link copied to clipboard
Link copied to clipboard
fun readShort(): Short
Link copied to clipboard
fun readShortArray(arrayLength: Int): ShortArray
Link copied to clipboard
fun readStackFrameRecord(): HprofRecord.StackFrameRecord
Link copied to clipboard
fun readStackTraceRecord(): HprofRecord.StackTraceRecord
Link copied to clipboard
fun readStickyClassGcRootRecord(): GcRoot.StickyClass
Link copied to clipboard
fun readString(byteCount: Int, charset: Charset): String
Link copied to clipboard
fun readStringRecord(length: Long): HprofRecord.StringRecord
Link copied to clipboard
fun readThreadBlockGcRootRecord(): GcRoot.ThreadBlock
Link copied to clipboard
fun readThreadObjectGcRootRecord(): GcRoot.ThreadObject
Link copied to clipboard
fun readUnknownGcRootRecord(): GcRoot.Unknown
Link copied to clipboard
fun readUnreachableGcRootRecord(): GcRoot.Unreachable
Link copied to clipboard
fun readUnsignedByte(): Int
Link copied to clipboard
fun readUnsignedInt(): Long
Link copied to clipboard
fun readUnsignedShort(): Int
Link copied to clipboard
fun readUtf8(byteCount: Long): String
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.

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

Properties

Link copied to clipboard
val bytesRead: Long = 0

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