We have presented a profiling architecture that provides comprehensive profiling support in the Java virtual machine. The scope of profiling information includes multi-threaded CPU usage hot spots, heap allocation, garbage collection, and monitor contention. Our framework supports interactive profiling, and carries extremely low run-time overhead.
We believe that our work lays a foundation for building advanced
profiling tools.