JVM Profiling Interface
The profiler agent communicates the events it is interested in to the JVM. The JVM profiling interface supports the following events:
- Enter and exit a method
- Allocate, move, and free an object
- Create and delete a heap arena
- Begin and end a garbage collection cycle
- Allocate and free a JNI global reference
- Allocate and free a JNI weak global reference
- Load and unload a compiled method
- Start and end a thread
- Class file data ready for instrumentation
- Load and unload a class
- For a Java monitor under contention: Wait To Enter , entered, and exit
- For a raw monitor under contention: Wait To Enter, entered, and exit
- For an uncontended Java monitor: Wait and waited
- Monitor Dump
- Heap Dump
- Object Dump
- Request to dump or reset profiling data
- JVM initialization and
shutdown
While profiling, the JVM sends these events to the profiler agent, which then transfers the desired information to the profiler front end, which can be a process running on another machine, if desired.