Class AllocationRecorder


  • public class AllocationRecorder
    extends java.lang.Object
    The logic for recording allocations, called from bytecode rewritten by AllocationInstrumenter.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void addSampler​(Sampler sampler)
      Adds a Sampler that will get run every time an allocation is performed from Java code.
      static void recordAllocation​(int count, java.lang.String desc, java.lang.Object newObj)
      Records the allocation.
      static void recordAllocation​(java.lang.Class<?> cls, java.lang.Object newObj)  
      static void removeSampler​(Sampler sampler)
      Removes the given Sampler.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AllocationRecorder

        public AllocationRecorder()
    • Method Detail

      • addSampler

        public static void addSampler​(Sampler sampler)
        Adds a Sampler that will get run every time an allocation is performed from Java code. Use this with extreme judiciousness!
        Parameters:
        sampler - The sampler to add.
      • removeSampler

        public static void removeSampler​(Sampler sampler)
        Removes the given Sampler.
        Parameters:
        sampler - The sampler to remove.
      • recordAllocation

        public static void recordAllocation​(java.lang.Class<?> cls,
                                            java.lang.Object newObj)
      • recordAllocation

        public static void recordAllocation​(int count,
                                            java.lang.String desc,
                                            java.lang.Object newObj)
        Records the allocation. This method is invoked on every allocation performed by the system.
        Parameters:
        count - the count of how many instances are being allocated, if an array is being allocated. If an array is not being allocated, then this value will be -1.
        desc - the descriptor of the class/primitive type being allocated.
        newObj - the new Object whose allocation is being recorded.