Lo que está buscando es la elaboración de perfiles :
En ingeniería de software, la creación de perfiles ("creación de perfiles de programas", "creación de perfiles de software") es una forma de análisis dinámico de programas que mide, por ejemplo, el espacio (memoria) o la complejidad temporal de un programa, el uso de instrucciones particulares o la frecuencia y duración de las llamadas a funciones. El uso más común de la información de perfil es ayudar a la optimización del programa.
Hay varias aplicaciones de este tipo. A veces, estos están integrados en el propio IDE. El netbeans ide es una de esas herramientas que tiene un generador de perfiles incorporado.
Otra herramienta de este tipo es visual vm .
Los perfiladores pueden trabajar de diferentes maneras, y uno debe ser consciente de las diferencias. Un enfoque es cada segundo para tomar una instantánea de los subprocesos en ejecución y ver qué métodos se invocan actualmente para cada subproceso. Esto utiliza una muestra de lo que hay ahí fuera.
El otro enfoque es instrumentar el código de bytes de Java para informar el tiempo de inicio y finalización a otra aplicación.
Escribir un perfilador no es terriblemente difícil para un hábil java. IBM tiene un artículo sobre cómo escribir su propio generador de perfiles (¡con código fuente!). Este se basa en el Java Interactive Profiler .
Hay una gran cantidad de perfiladores, tanto gratuitos como comerciales (¿qué tal un perfilador conectado para ejecutar instancias de JVM que pueden informarle (correo electrónico o alguna otra notificación) cuando métodos particulares exceden el tiempo de ejecución esperado o conectado a un programa que informa cuando las solicitudes web tardaron demasiado: ¿se ha guardado el perfil histórico de esa solicitud para una inspección posterior? Solo tiene que saber lo que está buscando para comenzar a encontrarlos e ir desde allí.
Una vez que tenga el generador de perfiles, podrá interpretar los resultados del perfil .