Accenture – Global Java Practice Lead Advanced Technology Center in Spain – Engineering Services Lead MálagaJUG Co-lead Father of two, husband, whistle player, video gamer, sci-fi *.*, Lego, LOTR, Star Wars, Star Trek, Starcraft, Destiny, Halo, Borderlands, Raspberry Pi, Arduino… LLAP!
y los puntos de vista expresados no representan los de mi empresa ni los del JUG en su conjunto No es una lista exhaustiva de herramientas, solo aquéllas con las que he tenido la oportunidad de trabajar No hay esponsorización alguna por parte de los vendedores
de monitorización de infraestructuras o plataformas de contenedores • Herramientas que mostraremos: jcmd – VisualVM – JDK Mission Control JProfiler – YourKit – XRebel – New Relic MONITORIZACIÓN DE LA JVM 6
Gratuita • Más opciones de instrumentación pero se queda corta en análisis de uso de la memoria o llamadas externas • Permite monitorizar lenguajes no-JVM a través de la interfaz de Graal con Truffle (p.ej. Ruby) • Funciona sin agente, por interfaz directa con la JVM VisualVM 10
builds alternativas • Gratuita • Aunque mejor que VisualVM sigue careciendo en análisis de uso de la memoria o llamadas externas • Interfaz con Java Flight Recorder para hacer ‘profiling’ exhaustivo de lo que sucede en la JVM • Capacidad de poner alertas para ‘grabar’ automáticamente • Funciona sin agente, por interfaz directa con la JVM • En versiones antiguas de Java había que activar explícitamente JFR porque aun no era open source JDK Mission Control 11
en cuanto a opciones de instrumentación • Destaca especialmente: • El monitor de memoria y objetos creados • Trazabilidad con las transacciones desde la UI • Monitor de acceso a base de datos • Permite filtrar fácilmente para no perderse en el ruido de los frameworks • Funciona tanto sin agente como con agente, lo que además habilita más opciones de monitorización (p.ej. excepciones) JProfiler 12
VisualVM sigue careciendo en análisis de uso de la memoria o llamadas externas • No soporta Java 14 todavía • Funciona tanto sin agente como con agente, lo que además habilita más opciones de monitorización (p.ej. excepciones) YourKit 13
entorno web, realizando snapshots automáticos de cada click y permitiéndonos analizar qué occurre en esa transacción • Excelente en el análisis de acceso a datos, queries ejecutadas, web services externos y captura de excepciones • No soporta Java 14 todavía • Funciona con agente XRebel 14
servidores; capa Lite gratuita • Foco en la perspectiva de los usuarios, realizando un mapeo a las transacciones web y analizando el rendimiento en cada capa: comunicaciones, JVM, acceso a datos… • Módulos extra para análisis de rendimiento de la capa web y móvil, bases de datos, telemetría de la JVM, y más • Excelente en el análisis de acceso a datos, mapas de aplicaciones, flujo de transacciones distribuidas, y más • Funciona con agente y es “CI-friendly” New Relic 15