samedi 14 mars 2009

InfraRED : un outil de suivi des temps de réponse d’application J2EE, de monitoring et diagnostique de problèmes de performance.

InfraRED est un outil de suivi de performance d'une application J2EE. Il a la capacité de surveiller les temps de réponses d'applications Java EE complexes et fournir des mesures détaillées des temps de réponses des composants du système.

InfraRED est très utile pour le diagnostic de problèmes de performances et permet, par exemple, de répondre aux questions suivantes :


Il collecte les mesures de temps de réponses sur divers aspects d'une application et les rend disponible pour l'analyse ou à des fin d'alerte ou pour assister dans la phase de recherche de causes pour des problèmes de lenteurs.


InfraRED exploite les mécanises de l'AOP (Aspect Oriented Programming) pour instrumentaliser le code source en ajoutant les instructions de mesure des temps de réponse (AspectJ & Aspectwerkz) au byteCode des applications, déjà déployées dans le serveur d'application J2EE.


Pourquoi utiliser Infrared ?

Les principaux avantages de Infrared sont :

  • Il est capable de collecter des statistiques sur les différents aspects de
    performance d'une application J2EE et de les rendre disponible pour une analyse de bout en bout
    • HTTP
    • JDBC
    • WEB
    • SQL
    • Hibernate
  • Il est non intrusif, adaptée aux environnements de pré-production, aucun changement dans le code source de l'application n'est nécessaire.
  • Le niveau de statistiques est configurable
  • Il est adapté au suivi de la couche d'accès aux données
  • Une console web et la capacité d'export vers Excel
  • Il offre la capacité de présenter les séquences d'appel entre les méthodes
  • Il est open source

Exemple d'utilisation de InfraRED

Une fois installé, InfraRED instrumente le bytecode des applications et ajoute des instructions pour le suivie et la calcul des temps de réponses. Il est capable de différencier les types d'appel selon les couches (web, java, JDBC ..) :

Il est capable de présenter les temps de réponses pour les classes de Struts (1.2.x)


Il est capable de présenter les temps de réponses pour les appels de JSP


L'inspection des requêtes SQL exécutés par l'application étudiée, reste la fonctionnalité la plus intéressantes de Infrared.

En effet, il permet de mesurer les requêtes SQL les plus coûteuses en termes de nombre d'exécution et de temps moyen d'exécution (nombre paramétrable)


Compromis information Vs impact sur les performances

Il est recommandé d'utiliser Infrared avec précautions.

En effet, observer un système ne peut se faire sans le perturber, l'utilisation d'Infrared va impacter les performances de l'application (impact estimé à moins de 5%). Cet impact est essentiellement lié à l'empreinte sur la mémoire de statistiques collectées en temps réel et à l'insertion périodique dans la base de données de ces informations.

mais le principal souci reste que le projet est en arrêt depuis 2006

à suivre ...



Installation simple à mettre en œuvre en 4 étapes

Après avoir Téléchargé Infrared à partir de l'adresse : http://infrared.sourceforge.net/versions/latest/

  1. Ajouter dans un variable d'environnement INFRARED_HOME
  • Ajouter dans le variable d'environnement JAVA_OPTS: -javaagent:%INFRARED_HOME%\aspectjweaver-1.5.0.jar
  1. Copier le jar $INFRARED_HOME$\infrared-aspectsystem-all-2.4.1.BETA.jar dans TOMCAT_HOME\lib
  • Copier le jar $INFRARED_HOME$\infrared-agent-all-servlet-2.4.1.BETA.jar dans TOMCAT_HOME\lib
  • Copier le fichier INFRARED_HOME\props\infrared-agent.properties dans le WEB-INF/classes de l'application à monitorer.

C) Ajouter InfraRED application startup listener :

  • Pour les WAR web application, ajouter le code suivant dans fichier WEB-INF/web.xml

Filter : net.sf.infrared.aspects.servlet.InfraREDServletFilter

Listener : net.sf.infrared.agent.setup.InfraREDServletContextListener


D) InfraRED web interface peut être trouvée dans INFRARED_HOME/infrared-web-all-2.4.1.BETA.war. Le WAR peut être installé sur n'importe quel conteneur Web J2EE.



0 commentaires :

Enregistrer un commentaire

Architecte SOA & Professionnel Open Source Headline Animator

 
Khaled BEN DRISS
Cloud Computing, SOA et Web 2.0 : Des sujets techniques sur SOA et l'Open Source : de Java & .Net, PHP5, Symfony, à SaaS / PaaS en passant par Azure, google appengine, le BPM, la Modélisation et d'autres sujets du coté du serveur et cloud computing.