javOSize: la herramienta definitiva de troubleshooting en java
El año pasado publicamos una introducción a javOSize, una herramienta de troubleshooting para aplicaciones java que permite además arreglar en caliente los problemas encontrados, sin necesidad de reiniciar las aplicaciones.
Hace unos meses, javOSize lanzó su interfaz gráfico, una plataforma donde gente de operaciones y desarrolladores pueden trabajar conjuntamente para encontrar y arreglar rápidamente problemas de rendimiento y funcionales directamente en producción. Además, javOSize ofrece monitorización de las aplicaciones donde se instala, de modo que en todo momento podemos conocer cómo se comportan las propias aplicaciones y los servidores donde corren, y ser notificados cuando existen degradaciones del servicio.
¿Por qué javOSize sobre otras herramientas?
Pues fundamentalmente porque me permite hacer, desde una única consola, todo lo que necesito para encontrar la causa de cualquier problema de mi aplicación java:
- Mi aplicación consume mucha CPU: puedo ver qué están haciendo los threads y cuántos recursos están consumiendo con el "Thread Inspector", que además me muestra qué URL está atendiendo y para qué usuario.
- Creo que tengo un memory leak: el "Memory Leak Finder" me muestra qué objetos de qué clases están consumiendo más memoria.
- Mi aplicación va lenta o se queda bloqueada: utiliza el "Slow Method Finder" o el "Thread Inspector" para encontrar los cuellos de botella y los bloqueos en tu aplicación.
- Se producen excepciones pero no sé dónde: con el "Exception Inspector" puedes encontrar todas las excepciones que le lanzan y ver su detalle.
- Creo que hay valores erróneos cargados en sesión: puedes ver el detalle de todas las sesiones abiertas en tu aplicación con el "Session Inspector", incluyendo cuántos recursos consumen y los valores de las variables que almacenas en ellas.
- Necesito depurar mi aplicación: puedes definir puntos de ruptura inteligentes que sólo paren ciertas ejecuciones e inspeccionar el valor de las variables en el contexto con el "Method Inspector".
Como ves, javOSize unifica características de muchas herramientas que utilizarías en tu día a día y las completa con funcionalidades únicas, permitiéndote hacer un troubleshooting directamente en producción con la flexibilidad que sólo tendrías en un entorno de desarrollo y utilizando una única herramienta.
Además, ofrece capacidades de monitorización con dashboards muy personalizables y la posibilidad de crear tus propias métricas.
¿Me lo enseñas en acción?
Claro!! Vamos a ver un ejemplo muy básico donde haremos el troubleshooting de una transacción lenta.
Supongamos que nuestros usuarios se quejan porque una transacción concreta les va lenta, o directamente, no responde. Me conecto a la aplicación y efectivamente veo que no se muestra nada en el navegador:
Usando el "Thread Inspector" puedo ver el estado de los threads de mi aplicación e identificar aquellos que están procesando la transacción con problemas:
Puedo ver fácilmente un thread procesando la URL "/buggyApp/Hello" que lleva 9 segundos ejecutándose y está en el método "com.acme.test.Hello.doGet". Además, dicha transacción está consumiendo casi la totalidad de la CPU.
Utilizando la lupa junto al nombre del método, javOSize abre el editor con el código de dicho método y podemos ver que hay un bucle donde estoy actualizando la variable incorrecta:
Sólo tenemos que editar el código, actualizar la variable correcta y hacer click en guardar:
javOSize reemplazará la clase por la nueva clase modificada y a partir de ese momento, las transacciones se ejecutarán correctamente:
Y esto... ¿cuánto me cuesta?
Poco, muy poco. Tan poco como 0. La subscripción básica a javOSize es gratuita e incluye todas las capacidad de diagnóstico en tiempo real.
Y existen otras subscripciones que añaden capacidades de monitorización, notificaciones, experiencia de usuario y otras novedades por venir desde un precio tan bajo como menos de 10 dólares al mes.
Vale, me gustaría probarlo, ¿qué hago ahora?
Si javOSize te parece una herramienta interesante con lo que te hemos contado, pruébala tu mismo en tu entorno!! Simplemente entra en http://www.javosize.com/ y suscríbete gratis. Tendrás 14 días de trial de la versión enterprise que pasará a gratuita para siempre si no haces nada.
Si te convence y quieres contratar cualquiera de nuestras suscripciones de pago, por ser lector de JavaHispano, te regalamos los 3 primeros meses!!
Y si por lo que sea crees que javOSize no es para ti, en primer lugar, gracias por haber leído hasta aquí. También puedes escribirnos a info@javosize.com con cualquier sugerencia para hacer de javOSize la herramienta más útil.
Nota: artículo escrito por el equipo de JavOSize
Reader Comments (1)
Y que ventajas tiene la version Lite sobre visualvm ?