Tengo una aplicación Java multiproceso con uso intensivo de CPU y estoy buscando formas de medir su rendimiento en tiempo de ejecución (útil para la automatización). Probé algunas opciones¿Cómo medir el rendimiento de una aplicación Java?
System.currentTimeMillis();
System.nanoTime();
ThreadMXBean.getThreadCPUTime();
Las dos primeras miden el tiempo real. El último mide el tiempo de CPU para solo un hilo. Quiero medir el tiempo de CPU para todos los hilos generados por el proceso.
Antes de resucitar una máquina vieja y dedicarla a esta tarea, me gustaría ver qué opciones tengo ahora.
Ejecuto Linux y una solución dependiente de plataforma es aceptable, pero menos deseable.
Consulte "Teoría y práctica de Java: compilación dinámica y medición del rendimiento" en http://www.ibm.com/developerworks/java/library/j-jtp12214/. Es un comentario, no una respuesta :-) – Istao
Echa un vistazo a la fuente de este complemento - JTop: http://blogs.oracle.com/alanb/entry/two_fine_demos –