jueves, 9 de agosto de 2012

JAMon, mirando como viene la mano...




The Java Application Monitor (JAMon) es una herramienta para monitorizar aplicaciones web hechas en java. Basicamente se agrega el monitor a jetty o tomcat y este intercepta todos los pedidos; registrando el momento que entraron y salieron. Como un portero botón que esta mirando a que hora llegas y a que hora salís.

JAMon es simple, fácil de usar, fácil de configurar y es software libre. Y permite de forma sensilla monitorizar una aplicación java.

Para que usaríamos JAMon?
  • Para garantizar la aplicación cumple con sus requisitos de rendimiento
  • Para garantizar la aplicación cumple con los requisitos de escalabilidad
  • Para detectar si la aplicación tiene errores o arroja excepciones no deseados
  • Para asegurar que todas las partes de la aplicación fueron probados adecuadamente (cobertura)
  • Para garantizar que la aplicación está funcionando correctamente en la producción como parte de las pruebas de post-producción
  • Para obtener información de la producción e iniciar un ciclo de retroalimentación entre el desarrollo, prueba y producción que mejoren la aplicación


¿Qué tipo de estadísticas de hace y cómo puedo verlos?

Jamón puede ser pensado como un cronómetro de software que asocia una etiqueta con los tiempos de ejecución y algunos agregados, otras estadísticas. JAMon trae consigo un completo view que se puede desplegar fácilmente; brindando toda la info de nuestra aplicación.


 ¿Cómo puedo agregar JAMon en mi aplicación?

Podemos incorporar JAMon en sus aplicaciones utilizando cualquiera de estos enfoques:
  • Utilizando el JAMon Servlet Filter - El filtro de servlet Jamón pasa automáticamente nombres de las páginas web de la aplicación (servlets, JSP y mucho más) para el JAMon , permite a los desarrolladores realizar un seguimiento de rendimiento de la página sin cambiar una sola línea de código de aplicación. Todo lo que se necesita es copiar algunas líneas estándar pocos en el archivo web.xml aplicaciones.
  • El controlador de JDBC de JAMon - es un proxy que puede monitorizar cualquier driver JDBC (que ha sido probado con Sybase / MySQL / Oracle / HSQLDB y otros),  Lleva la cuenta de las consultas más recientes ejecutados N y N excepciones más recientes lanzados. Utilizando el controlador de JAMon JDBC no requiere ningún cambio de código de aplicación. Basta con sustituir la información del controlador original (nombre de la clase del controlador, y la dirección URL) con JAMon.
  • Utilizar la interfaz de supervisión JAMon - Como se puede ver a continuación, puede controlar cualquier interfaz Java simplemente por el paso de una implementación de la interfaz con el método de monitor de JAMon , a continuación, llamar a métodos en el objeto como lo haría si el objeto no se controló. La firma de clase y el método aparece como una etiqueta en los informes de JAMon :


MyInterface myObject=(MyInterface) MonProxyFactory.monitor(new  MyImplementation());
            myObject.myMethod(); // Monitored!


  • Por último, puede llamar explícitamente al inicio JAMon / métodos de detención de la siguiente manera. Además, cuenta que, debido al hecho de que la etiqueta JAMon  es simplemente una cadena de Java, los datos dinámicos / tiempo de ejecución, como un nombre de usuario, se puede incorporar fácilmente en la etiqueta.


import com.jamonapi.*;

// page hits by user name using runtime data

Monitor mon = MonitorFactory.start("homePage.jsp-"+userName);             ...code that you wish to time...
mon.stop();


JAMon es una gran herramienta de software libre,muy útil para la monitorización de aplicacioes java.

Dejo links:
http://jamonapi.sourceforge.net/testingwithjamon.html
https://javasight.wordpress.com/2010/10/04/monitoring-with-spring-and-jamon-using-jamonperformancemonitorinterceptor/
http://jamonapi.sourceforge.net/