It seems that only needed thing is to know the name of old generations. I try it with:
$ mvn clean package
$ docker run -v `pwd`/target:/mnt/target --rm -it adoptopenjdk/openjdk9-openj9:jdk-9.0.4.12_openj9-0.9.0-alpine java -jar /mnt/target/HeapUseWatcher.jar
Exception in thread "main" java.lang.IllegalStateException: No recognized OldGen pool name found. Pool names found include:
class storage
nursery-survivor
nursery-allocate
miscellaneous non-heap storage
JIT code cache
JIT data cache
tenured-SOA
tenured-LOA
at org.heaputils.HeapUseWatcher$NonEphemeralHeapUseModel.<init>(HeapUseWatcher.java:135)
at org.heaputils.HeapUseWatcher.<init>(HeapUseWatcher.java:313)
at org.heaputils.HeapUseWatcher.<init>(HeapUseWatcher.java:329)
at org.heaputils.HeapUseWatcher.commonMain(HeapUseWatcher.java:436)
at org.heaputils.HeapUseWatcher.main(HeapUseWatcher.java:477)
It seems that only needed thing is to know the name of old generations. I try it with: