mardi 15 février 2011

Mission contrôle et un ensemble d’outils d’analyse et de profiling de la JVM Jrockit d’Oracle. A la différence de ces concurrents (enfin ce qui reste) l’outil dialogue avec le noyau de la JVM (code natif) et non pas par des interfaces du JDK (de plus haut niveau). C’est donc un ensemble d’outillage propriétaire lié à JRockit mais n’introduisant pas d’overhead et donc exploitable en production.  

La nouvelle version introduit une modification d’un de ces modules qui permet de capturer des informations issues de la JVM (JRockit Flight Recorder). On peut maintenant capture des informations en temps réel et non plus sur le déclenchement d’un enregistrement (Flight).

Des modules ont été rajoutés pour remonter également des informations du module Weblogic WLDF qui permet de capture les temps de réponses des interfaces JEE (Servlet/JSP/EJB/WebService/DataSource/JMS/Transaction).

Avec cet ensemble de capture, on peut donc en temps réel récupérer des informations sur les internes de la JVM (mémoire Heap et interne process, temps GC, allocation mémoire, etc … ) en corrélation avec les événements des interfaces des containers Weblogic.

Les enregistrements temps réel se font pas fichier en rotation donc exploitable même après un crash et évite les saturations disque par la rotation. Toutes les données collectées dans ce buffer sont exploitables à tout moment selon les besoins.

MEDREC


Prenons l’exemple du domaine medrec afin d’activer le monitorer son code JAVA.

${WL_HOME}\samples\domains\medrec\startWebLogic.cmd

Ajouter les properties JAVA suivants.

@ECHO OFF

@REM WARNING: This file is created by the Configuration Wizard.
@REM Any changes to this script may be lost when adding extensions to this configuration.

SETLOCAL

set DOMAIN_HOME=D:\PRODUCT\MIDDLEWARE\APPLICATION_SERVER\WEBLOGIC\WLS_10.3.3\wlserver_10.3\samples\domains\medrec

@set USER_MEM_ARGS=%USER_MEM_ARGS% -Xms256m -Xmx512m -XX:FlightRecorderOptions=defaultrecording=true -Xmanagement:ssl=false,authenticate=false,port=4712


call "%DOMAIN_HOME%\bin\startWebLogic.cmd" %*



ENDLOCAL

Lancer l’instance et modifier via la console Weblogic le paramètre suivant.

ConsoleàEnvironementàServersà${instance name}àConfigurationàGeneralàDiagnostic Volume : High


Utilisation de l’IHM Medrec pour générer des requêtes JEE.




MISSION CONTROL


Lancer Mission Control et télécharger les modules (HelpàInstall Plugs-in). Ouvrir une session sur la JVM (en local)


Lancer un DUMP sur l’enregistrement courant.

  
Récupérer les informations des 3 dernières minutes.


Vous obtenez cette vue.


À gauche, vous pouvez sélectionner les informations à visualiser sur les vues de droites (nouvelle entrée de monitoring de code JAVA via WLDF).


Observer l’activité JAVA des interfaces JEE


Observer toutes les requêtes passées


Filtrer par ID de corrélation (ID de flux utilisateur)


                                 
VUE BETA


Une autre vue est disponible, mais en version beta et offre toutes les informations présentées ci-dessus, mais triées par type (JDBC, etc …)


Vue de tous les flux.


Vue utilisateur.


Vue connecteur.


Vue DataBase


Vue EJB


Vue JMS


Vue JTA


Vue Servlet


Vue WebServices


Vue HTTP



2 commentaires:

Hassan a dit…

Bonjour,
Merci beaucoup pour ce post.
A votre connaissance, est-ce qu'il existe un outil (ou boite à outils) équivalent : Gratuit, natif, overhead acceptable, riche en metrics collectées... pour la JVM HotSpot?

D'avance merci pour la réponse

Léopold VARET a dit…

Bonjour,
Est ce que WLDF peut être activé sans la JVM JRockit?
Merci

AUTEUR

Ma photo
Carrières Sur Sein, Yvelines, France
Consultant Oracle (Ancien consultant BEA depuis 2001), je m’occupe des expertises sur les produits Oracle : SOCLE (Weblogic, Coherence, JRockit) SOA (Service Bus, SOA Suite, BPM)
MON CV

LABEL 3D

Blogumulus by Roy Tanck and Amanda Fazani

LABEL CLOUD

MAP

Locations of visitors to this page

AUTRES BLOG

LIVRES

MEMBRES