Le profileur Java le meilleur et le plus sûr pour une utilisation en production? [fermé]
je suis à la recherche d'un profileur Java pour une utilisation dans un environnement de production à très forte demande, commercial ou libre, qui répond à toutes les exigences suivantes:
- intégration légère avec le code (pas de recompiler avec des options spéciales, pas de crochets de code, etc). Laisser tomber certains profileurs spécifiques .jars à côté du code d'application est ok.
- devrait pouvoir se connecter / déconnecter à la JVM sans redémarrer l'application.
- Quand le profilage est pas actif, pas d'impact sur la performance
- lorsque le profilage est actif, l'impact sur le rendement est négligeable. Très légère dégradation est acceptable.
- doit faire toutes les choses "attendues" qu'un profileur fait - le temps passé dans chaque méthode pour trouver les points chauds, l'allocation d'objet/le profilage de mémoire, etc.
essentiellement j'ai besoin de quelque chose qui peut rester inactif dans la production quand tout va bien sans que personne ne sache ou ne se soucie qu'il est là, mais ensuite être en mesure de connecter pour lui hassle (et la dégradation de la performance) libre de pointer les problèmes difficiles à trouver comme les points chauds et les problèmes de synchronisation.
10 réponses
Java VisualVM est un outil qui fournit une interface visuelle pour visualiser des informations détaillées sur les applications basées sur la technologie Java (applications Java) alors qu'elles fonctionnent sur une machine virtuelle Java (JVM). Java VisualVM organise les données JVM qui sont récupérées par les outils Java Development Kit (JDK) et présente les informations d'une manière qui vous permet de visualiser rapidement les données sur plusieurs applications Java. Vous pouvez voir les données sur les applications locales et les applications qui fonctionnent à distance hôte. Vous pouvez également saisir des données sur le logiciel JVM et les sauvegarder dans votre système local, et les visualiser ultérieurement ou les partager avec d'autres. Ça vient avec Oracle JDK it self...
$ jvisualvm
je préfère Enregistreur De Vol Java. Il provoque presque aucune performance aérienne et a une interface graphique agréable. Ajouter des paramètres JVM
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder
-XX:StartFlightRecording=name=test,filename=test.jfr,dumponexit=true
J'utilise Eclipse TPTP-Eclipse Test & Performance Tools Platform Project. Qu'il soit adapté ou non à la production, il dépend de l'utilisateur. Pour moi, c'est très bien et cela répond à vos besoins.