Introduction Java Mission Control

De Reservoircode
Aller à : navigation, rechercher

Introduction

Java Mission Control est un outil fourni par Oracle, ayant pour but de faciliter la maintenance et le troubleshooting des applications Java en production. La dernière version disponible sur Oracle est compatible de Java 7 à 11. On retrouve cet outil dans la cli du JDK sous le nom de : jmc.

Objectif

Le but de JMC est de proposer un monitoring fin et bas niveau de son application pendant son exécution au sein de la JVM. A l'instar de jvisualvm on retrouvera un suivi temps réel de l'activité du CPU, du GC, un monitoring des threads en cours d'exécution, ainsi d'un profilage du CPU et de la mémoire. Mais la ou JMC se détache un peu de son petit frère est que le panel de métrique disponible semble plus important. En effet, il est possible :

D'avoir un échantillonnage constant ou sur une durée déterminée du CPU,

Jmc 1.png

De la mémoire,

Jmc 2.png

De l'activité du GC,

Jmc 3.png

Du code ayant un impact au runtime,

Jmc 4.png Jmc 5.png

Du temps passé dans les IO...

Jmc 6.png

On peut également avoir des déclencheurs d’événements branchés sur des usages limités du CPU ou la mémoire par exemple :

Jmc 8.png Jmc 9.png

Cette commande permet en plus d'afficher une fenêtre d'information de lancer un HPROF, de logguer un message, d'envoyer un email ou encore de lancer un diagnostic (lancer un GC, une rotation de log, un dump, de couper JFR...).

Conclusion

On peut dire que JMC est un outil à usage multiple qui s'adresse à la fois aux développeurs, aux équipes QA mais également aux équipes d’infrastructures. En effet, tout le monde y trouvera son compte pour permettre d'avoir en production, des applicatifs Java sous bonne escorte...