¿Java tiene algún mecanismo para que una máquina virtual rastree las llamadas de método en sí misma, sin usar javaagent, etc.?

Quiero crear gráficos de llamadas sobre la marcha, comenzando con una llamada de método arbitrario o con un nuevo hilo, lo que siempre es más fácil, desde la propia JVM en ejecución. (esta pieza de software será un dispositivo de prueba para pruebas de carga otra pieza de software que consume gráficos de llamadas)

Entiendo que hay algunas interfaces SPI, pero parece que necesitas ejecutar -javaagent flag con ellas. Quiero acceder a esto directamente en la propia máquina virtual.

Idealmente, me gustaría obtener una devolución de llamada para la entrada y salida de cada llamada de método, los parámetros de esa llamada de método y el tiempo en ese método. Dentro de un solo hilo obviamente.

Sé que AOP probablemente podría hacer esto, pero me pregunto si hay herramientas dentro del JDK que me permitan capturar esto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta