Class AllocationRecorder
- java.lang.Object
-
- com.google.monitoring.runtime.instrumentation.AllocationRecorder
-
public class AllocationRecorder extends Object
The logic for recording allocations, called from bytecode rewritten byAllocationInstrumenter
.
-
-
Constructor Summary
Constructors Constructor Description AllocationRecorder()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
addSampler(Sampler sampler)
Adds aSampler
that will get run every time an allocation is performed from Java code.static void
recordAllocation(int count, String desc, Object newObj)
Records the allocation.static void
recordAllocation(Class<?> cls, Object newObj)
static void
recordAllocationForceForTest(int count, String desc, Object newObj)
Helper method to force recording; for unit tests only.static void
recordAllocationForceForTestReal(int count, String desc, Object newObj, int recurse)
Helper method to force recording; for unit tests only.static void
removeSampler(Sampler sampler)
Removes the givenSampler
.
-
-
-
Method Detail
-
addSampler
public static void addSampler(Sampler sampler)
Adds aSampler
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 givenSampler
.- Parameters:
sampler
- The sampler to remove.
-
recordAllocation
public static void recordAllocation(int count, String desc, 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 newObject
whose allocation is being recorded.
-
recordAllocationForceForTest
public static void recordAllocationForceForTest(int count, String desc, Object newObj)
Helper method to force recording; for unit tests only.- Parameters:
count
- the number of objects being allocated.desc
- the descriptor of the class of the object being allocated.newObj
- the object being allocated.
-
recordAllocationForceForTestReal
public static void recordAllocationForceForTestReal(int count, String desc, Object newObj, int recurse)
Helper method to force recording; for unit tests only.- Parameters:
count
- the number of objects being allocated.desc
- the descriptor of the class of the object being allocated.newObj
- the object being allocated.recurse
- A recursion count.
-
-