BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités OpenJDK 9 : Une vie sans HPROF et jhat

OpenJDK 9 : Une vie sans HPROF et jhat

OpenJDK vient de déclasser l'agent HPROF et de supprimer l'outil « jhat » du JDK. Ceci est le résultat de la future modularisation de la plate-forme Java SE d’OpenJDK 9 sous la forme de projet Jigsaw ; afin de préparer la modularisation, plusieurs propositions (JEPs) ont été élaborées et beaucoup ont déjà été achevées.

Regardons de plus près deux des JEPs qui se rapportent à la modularisation de la JDK et qui visent l'élimination de l'agent HPROF et de l'outil « jhat » :

L'élimination de l’Outil d’Interface JVM de l'agent HPROF

HPROF est un agent profileur qui utilise l'interface JVM Tool (JVMTI) pour démontrer l'interface de l'outil et l'utilisation de l'instrumentation du bytecode. L'agent HPROF peut écrire les informations d'instrumentation dans un fichier, telles que l'utilisation du heap basée sur des sites d'allocation, heap dumps, l'utilisation du CPU, contrôle de contention, etc., ou l'envoyer vers une socket. HPROF n’était pas destiné à être un outil dédié à la production ; il a été remplacé par d’autres alternatives différentes comme documentées ci-dessous :

HPROF serait en mesure d'obtenir des profils d'allocation du heap et l'utilisation d’échantillonnage des profils sur le CPU ou le temps (times) par les commandes suivantes dans leurs formes les plus simples (respectivement) :

`java -agentlib:hprof=heap=sites

java -agentlib:hprof=cpu=samples

java -agentlib:hprof=cpu=times `

Une fonctionnalité équivalente peut également être fournie par l’outil de suivi de performances Java VisualVM, un outil visuel qui intègre plusieurs outils JDK en ligne de commandes avec des capacités de profiling légères. Contrairement à HPROF, VisualVM est destiné à être utilisé dans la production ainsi que le développement et offre des fonctionnalités supplémentaires telles que la production de thread (et le heap) dumps, le parcours du heap dumps, le suivi de l'application Java en local et à distance, l'analyse des performances hors-ligne, etc.

L'outil HPROF génère également le heap dump par la commande suivante :

java -agentlib:hprof=heap=dump <classname>

Selon le JEP 240, cette fonctionnalité est remplacée par la même fonctionnalité dans la JVM en utilisant les utilitaires de ligne de commande tels que « jcmd » et « jmap » comme indiqué ci-dessous :

jcmd GC.heap_dump filename=<filename>

OU

jmap [option] 

where

Selon la documentation de l'utilitaire « jcmd », il est recommandé d'utiliser l’outil « jcmd » afin de créer un heap (hprof) dump.

Retrait de l'Outil « jhat »

« jhat » est un outil d'analyse du heap qui permet l'analyse ainsi que la navigation sur le Web du heap dump. Avec « jhat », l'utilisateur peut choisir l’exécution de quelques requêtes standard ou l’écriture de sa propre requête à l’aide de l'interface OQL.

Selon le JEP 241, « jhat » constitue un outil expérimental, obsolète et non pris en charge. Bien que le JEP ne précise pas un outil de remplacement particulier, InfoQ conseille une fois de plus aux utilisateurs de se diriger vers Java VisualVM pour la création, la visualisation et l'analyse du heap dump. VisualVM permet également aux utilisateurs d'exécuter leurs propres requêtes ou utiliser les standards.

Une couverture supplémentaire des cas d'utilisation mentionnés ci-dessus sera à venir dans de prochains articles.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT