Class PieFactory


  • public final class PieFactory
    extends Object
    Helper class to create pie chart results for heap objects.

    Usage:

     public class PieQuery implements IQuery
     {
         @Argument
         public ISnapshot snapshot;
     
         public IResult execute(IProgressListener listener) throws Exception
         {
             PieFactory f = new PieFactory(snapshot);
     
             int[] topDominators = snapshot.getImmediateDominatedIds(-1);
     
             for (int ii = 0; ii < 5 && ii < topDominators.length; ii++)
                 f.addSlice(topDominators[ii]);
     
             return f.build();
         }
     
     }
     
    Since:
    0.8
    • Constructor Detail

      • PieFactory

        public PieFactory​(ISnapshot snapshot)
        Create a pie factory for the given snapshot. The size of the pie is the total heap size SnapshotInfo.getUsedHeapSize().
        Parameters:
        snapshot -
      • PieFactory

        public PieFactory​(ISnapshot snapshot,
                          long pieSize)
        Create a pie factory for the given snapshot.
        Parameters:
        snapshot - snapshot containing the objects
        pieSize - total size of the pie
    • Method Detail

      • addSlice

        public IResultPie.Slice addSlice​(int objectId)
                                  throws SnapshotException
        Create and add a new slice for the given object. The size of the slice is determined by the retained size.

        To use this method, one needs to pass a ISnapshot to the constructor.

        Parameters:
        objectId - object id
        Returns:
        a new slice
        Throws:
        SnapshotException
      • addSlice

        public IResultPie.Slice addSlice​(int objectId,
                                         Color color)
                                  throws SnapshotException
        Create and add a new slice for the given object. The size of the slice is determined by the retained size.

        To use this method, one needs to pass a ISnapshot to the constructor.

        Parameters:
        objectId - object id
        color - Explicit color of the slice
        Returns:
        a new slice
        Throws:
        SnapshotException
        Since:
        1.2
      • addSlice

        public IResultPie.Slice addSlice​(IObject object)
        Create and add a new slice for the given object. The size of the slice is determined by the retained size.
        Parameters:
        object -
        Returns:
        a new slice
      • addSlice

        public IResultPie.Slice addSlice​(IObject object,
                                         Color color)
        Create and add a new slice for the given object. The size of the slice is determined by the retained size.
        Parameters:
        object -
        color - Explicit color of the slice
        Returns:
        a new slice
        Since:
        1.2
      • addSlice

        public IResultPie.Slice addSlice​(int objectId,
                                         String label,
                                         long usedHeapSize,
                                         long retainedHeapSize)
        Create and add a new slice for the given object.
        Parameters:
        objectId - object id
        label - (optionally) a label describing the object (for display)
        usedHeapSize - (optionally) the used heap size (for display)
        retainedHeapSize - the retained size which determines the size of the slice
        Returns:
        a new slice
      • addSlice

        public IResultPie.Slice addSlice​(int objectId,
                                         String label,
                                         long usedHeapSize,
                                         long retainedHeapSize,
                                         Color color)
        Create and add a new slice for the given object.
        Parameters:
        objectId - object id
        label - (optionally) a label describing the object (for display)
        usedHeapSize - (optionally) the used heap size (for display)
        retainedHeapSize - the retained size which determines the size of the slice
        color - the color to use for the slice
        Returns:
        a new slice
        Since:
        1.2
      • build

        public IResultPie build()
        Create and return the pie result object.
        Returns:
        the pie result object