/* * Copyright 2014 Edward Aftandilian. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package edu.tufts.eaftan.hprofparser.handler; import edu.tufts.eaftan.hprofparser.parser.datastructures.AllocSite; import edu.tufts.eaftan.hprofparser.parser.datastructures.CPUSample; import edu.tufts.eaftan.hprofparser.parser.datastructures.Constant; import edu.tufts.eaftan.hprofparser.parser.datastructures.InstanceField; import edu.tufts.eaftan.hprofparser.parser.datastructures.Static; import edu.tufts.eaftan.hprofparser.parser.datastructures.Value; /** * Base class to be used with the hprof parser. For each record the parser encounters, it parses * the record and calls the matching function in its RecordHandler class. The RecordHandler * handles each record, performing some function such as printing the record or building a graph. * * The default behavior is to do nothing for any record. */ public class NullRecordHandler implements RecordHandler { /* handler for file header */ @Override public void header(String format, int idSize, long time) {} /* handlers for top-level records */ @Override public void stringInUTF8(long id, String data) {} @Override public void loadClass(int classSerialNum, long classObjId, int stackTraceSerialNum, long classNameStringId) {} @Override public void unloadClass(int classSerialNum) {} @Override public void stackFrame(long stackFrameId, long methodNameStringId, long methodSigStringId, long sourceFileNameStringId, int classSerialNum, int location) {} @Override public void stackTrace(int stackTraceSerialNum, int threadSerialNum, int numFrames, long[] stackFrameIds) {} @Override public void allocSites(short bitMaskFlags, float cutoffRatio, int totalLiveBytes, int totalLiveInstances, long totalBytesAllocated, long totalInstancesAllocated, AllocSite[] sites) {} @Override public void heapSummary(int totalLiveBytes, int totalLiveInstances, long totalBytesAllocated, long totalInstancesAllocated) {} @Override public void startThread(int threadSerialNum, long threadObjectId, int stackTraceSerialNum, long threadNameStringId, long threadGroupNameId, long threadParentGroupNameId) {} @Override public void endThread(int threadSerialNum) {} @Override public void heapDump() {} @Override public void heapDumpEnd() {} @Override public void heapDumpSegment() {} @Override public void cpuSamples(int totalNumOfSamples, CPUSample[] samples) {} @Override public void controlSettings(int bitMaskFlags, short stackTraceDepth) {} /* handlers for heap dump records */ @Override public void rootUnknown(long objId) {} @Override public void rootJNIGlobal(long objId, long JNIGlobalRefId) {} @Override public void rootJNILocal(long objId, int threadSerialNum, int frameNum) {} @Override public void rootJavaFrame(long objId, int threadSerialNum, int frameNum) {} @Override public void rootNativeStack(long objId, int threadSerialNum) {} @Override public void rootStickyClass(long objId) {} @Override public void rootThreadBlock(long objId, int threadSerialNum) {} @Override public void rootMonitorUsed(long objId) {} @Override public void rootThreadObj(long objId, int threadSerialNum, int stackTraceSerialNum) {} @Override public void classDump(long classObjId, int stackTraceSerialNum, long superClassObjId, long classLoaderObjId, long signersObjId, long protectionDomainObjId, long reserved1, long reserved2, int instanceSize, Constant[] constants, Static[] statics, InstanceField[] instanceFields) {} @Override public void instanceDump(long objId, int stackTraceSerialNum, long classObjId, Value<?>[] instanceFieldValues) {} @Override public void objArrayDump(long objId, int stackTraceSerialNum, long elemClassObjId, long[] elems) {} @Override public void primArrayDump(long objId, int stackTraceSerialNum, byte elemType, Value<?>[] elems) {} /* handler for end of file */ @Override public void finished() {} }