org.eclipse.mat.parser.model
Class XClassLoaderHistogramRecord

java.lang.Object
  extended by org.eclipse.mat.snapshot.HistogramRecord
      extended by org.eclipse.mat.snapshot.ClassLoaderHistogramRecord
          extended by org.eclipse.mat.parser.model.XClassLoaderHistogramRecord
All Implemented Interfaces:
java.io.Serializable

public final class XClassLoaderHistogramRecord
extends ClassLoaderHistogramRecord

Accumulated data about a class loader, including classes and shallow and retained sizes.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.eclipse.mat.snapshot.HistogramRecord
COMPARATOR_FOR_LABEL, COMPARATOR_FOR_NUMBEROFOBJECTS, COMPARATOR_FOR_RETAINEDHEAPSIZE, COMPARATOR_FOR_USEDHEAPSIZE
 
Constructor Summary
XClassLoaderHistogramRecord(java.lang.String label, int classLoaderId, java.util.ArrayList<ClassHistogramRecord> classHistogramRecords, long numberOfObjects, long usedHeapSize, long retainedHeapSize)
          Create record for the class loader based on the records for the classes
 
Method Summary
 long calculateRetainedSize(ISnapshot snapshot, boolean calculateIfNotAvailable, boolean approximation, IProgressListener listener)
          Find out the retained size
 
Methods inherited from class org.eclipse.mat.snapshot.ClassLoaderHistogramRecord
getClassHistogramRecords, getClassLoaderId, getObjectIds, toString
 
Methods inherited from class org.eclipse.mat.snapshot.HistogramRecord
getLabel, getNumberOfObjects, getRetainedHeapSize, getUsedHeapSize, incNumberOfObjects, incNumberOfObjects, incRetainedHeapSize, incUsedHeapSize, reverseComparator, setLabel, setNumberOfObjects, setRetainedHeapSize, setUsedHeapSize
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

XClassLoaderHistogramRecord

public XClassLoaderHistogramRecord(java.lang.String label,
                                   int classLoaderId,
                                   java.util.ArrayList<ClassHistogramRecord> classHistogramRecords,
                                   long numberOfObjects,
                                   long usedHeapSize,
                                   long retainedHeapSize)
Create record for the class loader based on the records for the classes

Parameters:
label - for display
classLoaderId - the object id of the class loader
classHistogramRecords - summary of all the classes loaded by the class loader
numberOfObjects - the total number of objects
usedHeapSize - the total shallow size of the loader, classes and objects
retainedHeapSize - the total retained size of the loader, classes and objects
Method Detail

calculateRetainedSize

public long calculateRetainedSize(ISnapshot snapshot,
                                  boolean calculateIfNotAvailable,
                                  boolean approximation,
                                  IProgressListener listener)
                           throws SnapshotException
Description copied from class: ClassLoaderHistogramRecord
Find out the retained size

Overrides:
calculateRetainedSize in class ClassLoaderHistogramRecord
Parameters:
snapshot - the snapshot
calculateIfNotAvailable - whether to calculate the size if not already available
approximation - whether to use an approximation to the retained size (sum of the individual retained sizes)
listener - to report progress and errors
Returns:
the retained size, negated if approximate, and 0 if unavailable
Throws:
SnapshotException