|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jvnet.hudson.test.MemoryAssert
public class MemoryAssert
Static utility methods for verifying heap memory usage. Uses the INSANE library to traverse the heap from within your test.
Object sizes are in an idealized JVM in which pointers are 4 bytes
(realistic even for modern 64-bit JVMs in which -XX:+UseCompressedOops
is the default)
but objects are aligned on 8-byte boundaries (so dropping an int
field does not always save memory).
import static org.jvnet.hudson.test.MemoryAssert.*;
to use.
Nested Class Summary | |
---|---|
static class |
MemoryAssert.HistogramElement
|
Method Summary | |
---|---|
static void |
assertGC(WeakReference<?> reference)
Forces GC by causing an OOM and then verifies the given WeakReference has been garbage collected. |
static void |
assertHeapUsage(Object o,
int max)
Verifies that an object and its transitive reference graph occupy at most a predetermined amount of memory. |
static List<MemoryAssert.HistogramElement> |
increasedMemory(Callable<Void> callable,
org.netbeans.insane.scanner.Filter... filters)
Counts how much more memory is held in Jenkins by doing some operation. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static void assertHeapUsage(Object o, int max) throws Exception
WeakReference
and the like are ignored.
To use, run your test for the first time with max
of 0
;
when it fails, use the reported actual size as your assertion maximum.
When improving memory usage, run again with 0
and tighten the test to both demonstrate
your improvement quantitatively and prevent regressions.
o
- the object to measuremax
- the maximum desired memory usage (in bytes)
Exception
public static List<MemoryAssert.HistogramElement> increasedMemory(Callable<Void> callable, org.netbeans.insane.scanner.Filter... filters) throws Exception
callable
- an actionfilters
- things to exclude
Exception
public static void assertGC(WeakReference<?> reference)
WeakReference
has been garbage collected.
reference
- object used to verify garbage collection.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |