A little bit outdated (2005): "We (Svetozar Misljencevic & Dusty Lefèvre) are developing a profiler for Java (1.5 and greater) that will be able to selectively trace an application (by selecting the classes and events to log) and log it's actions for analysis using the JVMTI interface. In the first phase we will implement this functionality. In the second phase we will add monitors for the (real-time) internal state of the Java Virtual Machine.
This project is part of our studies so we cannot accept any external help, for the moment..."
DJProf is an experimental Java profiling tool which employs AspectJ to insert the necessary instrumentation for profiling rather than, for example, the Java Machine Profiler Interface (JVMPI). DJProf can be used to profile Java programs without modification (i.e. there is no need to recompile them for profiling) and does not require the user to have any knowledge of AspectJ. The Load-Time Weaving capability of AspectJ is utilised to make this possible. The tool (including its source code) is release under a very straightforward (and unrestrictive) license for the benefit of all.
H. Burchell, O. Larose, and S. Marr. Proceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, ACM, (September 2024)