Java Virtual Machine Profiler Interface (JVMPI)

The Java Virtual Machine* Profiling Interface (JVMPI) is an experimental interface for profiling. The JVMPI is not yet a standard profiling interface. This feature is provided for the benefit of tools vendors who have an immediate need for profiling hooks in the Java virtual machine. The JVMPI will continue to evolve, based on feedback from customers and tools vendors.

JVMPI is a two-way function call interface between the Java virtual machine and an in-process profiler agent. On the one hand, the virtual machine notifies the profiler agent of various events, corresponding to, for example, heap allocation, method calls, etc. On the other hand, the profiler agent issues control requests through the JVMPI. For example, the profiler agent can turn on/off a specific event notification, based on the needs of the profiler front-end.

JVMPI Reference